/* MyLegalDocs AI mobile parity layer v29. Desktop presentation is intentionally unchanged. */

@media (max-width: 960px) {
  html {
    max-width: 100%;
    overflow-x: hidden;
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
  }

  body {
    width: 100%;
    max-width: 100%;
    min-height: var(--us29-viewport-height, 100dvh);
    overflow-x: hidden;
  }

  body *,
  body *::before,
  body *::after {
    min-width: 0;
    box-sizing: border-box;
  }

  img,
  svg,
  video,
  canvas,
  iframe {
    max-width: 100%;
    height: auto;
  }

  pre,
  code,
  .source-url,
  [class*="token"],
  [class*="identifier"] {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  button,
  [role="button"],
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  a.button,
  a[class*="button"],
  summary {
    min-height: 44px;
    touch-action: manipulation;
  }

  input,
  textarea,
  select {
    max-width: 100%;
    font-size: 16px;
  }

  textarea {
    resize: vertical;
  }

  .site-header,
  .us19-header,
  header[class*="header"],
  nav[class*="header"] {
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }

  .site-header,
  .us19-header,
  header[class*="sticky"] {
    top: env(safe-area-inset-top);
  }

  main,
  main.narrow,
  .page-shell,
  .us19-page,
  .us-result-page-v4,
  .us-status-page-v4,
  .us21-order-page,
  .result-page,
  .pricing-page,
  .guide-page,
  [class*="page-container"] {
    width: 100%;
    max-width: 100%;
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
  }

  .us19-hero,
  .us19-split,
  .us19-price-grid,
  .us19-level-grid,
  .us19-process-grid,
  .us19-sample-grid,
  .us-result-hero-v4,
  .us-result-grid-v4,
  .us-status-layout-v4,
  .us21-order-grid,
  .result-grid,
  .checkout-grid,
  .analysis-grid,
  [class*="two-column"],
  [class*="three-column"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .us19-hero,
  .us19-split,
  .us19-section,
  .us19-cta,
  .us-result-hero-v4,
  .us-status-layout-v4,
  .result-grid {
    gap: 18px;
  }

  .us19-hero-panel,
  .us-checkout-card-v4,
  .checkout-card,
  [class*="checkout-card"] {
    position: static !important;
    inset: auto !important;
    width: 100%;
  }

  .us19-actions,
  .us19-cta,
  .result-actions,
  .download-actions,
  .revision-actions,
  .error-actions,
  [class*="button-row"],
  [class*="action-row"] {
    flex-wrap: wrap;
  }

  .file-list > *,
  [class*="attachment"] > li,
  [class*="upload-row"],
  [class*="file-row"] {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .modal,
  [role="dialog"],
  [class*="modal-card"],
  [class*="dialog-card"] {
    width: min(100% - 24px, 680px) !important;
    max-height: calc(var(--us29-viewport-height, 100dvh) - 24px) !important;
    margin: max(12px, env(safe-area-inset-top)) auto max(12px, env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .us28-confirmations,
  .us28-discount {
    width: 100%;
  }

  .us28-master-confirmation {
    grid-template-columns: 24px minmax(0, 1fr);
  }

  .us28-discount .us-promo-v4 > div {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .us28-delivery-panel,
  .complete-card,
  .error-panel,
  .panel,
  .us-status-card-v4,
  .us-checkout-card-v4 {
    max-width: 100%;
  }

  .fixed-bottom,
  .sticky-bottom,
  [class*="bottom-cta"] {
    padding-bottom: max(12px, env(safe-area-inset-bottom));
  }
}

@media (max-width: 768px) {
  :root {
    --us29-page-gutter: 14px;
    --us29-card-radius: 18px;
  }

  body {
    padding-bottom: env(safe-area-inset-bottom);
  }

  main,
  main.narrow,
  .page-shell,
  .us19-page,
  .us-result-page-v4,
  .us-status-page-v4,
  .us21-order-page,
  .result-page,
  .pricing-page,
  .guide-page,
  [class*="page-container"] {
    padding-left: max(var(--us29-page-gutter), env(safe-area-inset-left));
    padding-right: max(var(--us29-page-gutter), env(safe-area-inset-right));
  }

  h1,
  .us19-hero h1,
  .us-result-hero-v4 h1,
  .us21-order-hero h1,
  .result-hero h1 {
    font-size: clamp(30px, 9vw, 44px) !important;
    line-height: 1.06 !important;
    overflow-wrap: anywhere;
  }

  h2 {
    font-size: clamp(22px, 6.5vw, 32px);
    line-height: 1.14;
  }

  p,
  li,
  label,
  .microcopy {
    overflow-wrap: anywhere;
  }

  .site-header,
  .us19-header,
  header[class*="header"] {
    gap: 10px;
  }

  .site-header nav,
  .us19-header nav,
  header[class*="header"] nav {
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .site-header nav::-webkit-scrollbar,
  .us19-header nav::-webkit-scrollbar,
  header[class*="header"] nav::-webkit-scrollbar {
    display: none;
  }

  .site-header nav a,
  .us19-header nav a,
  header[class*="header"] nav a {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .us19-hero,
  .us19-section,
  .us19-split > article,
  .us19-price-grid > article,
  .us19-cta,
  .us-checkout-card-v4,
  .us-status-card-v4,
  .us21-order-hero,
  .us21-order-grid > *,
  .panel,
  .complete-card,
  .error-panel,
  .checkout-card {
    padding: 20px !important;
    border-radius: var(--us29-card-radius) !important;
  }

  .us19-actions,
  .us19-cta,
  .result-actions,
  .download-actions,
  .revision-actions,
  .error-actions,
  [class*="button-row"],
  [class*="action-row"] {
    align-items: stretch;
    flex-direction: column;
  }

  .us19-actions > *,
  .us19-cta > a,
  .result-actions > *,
  .download-actions > *,
  .revision-actions > *,
  .error-actions > *,
  [class*="button-row"] > *,
  [class*="action-row"] > *,
  button[type="submit"],
  .analyze-button,
  .button.primary.large,
  .us-order-button-v4 {
    width: 100%;
    min-height: 50px;
    justify-content: center;
    text-align: center;
  }

  form,
  .intake-form,
  .checkout-form,
  .revision-form {
    width: 100%;
  }

  form label,
  .intake-form label,
  .checkout-form label,
  .revision-form label {
    width: 100%;
  }

  input:not([type="checkbox"]):not([type="radio"]),
  textarea,
  select {
    width: 100%;
    min-height: 50px;
  }

  input[type="file"] {
    min-height: 52px;
    padding: 10px;
  }

  details > summary {
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .us28-confirmations > summary,
  .us28-discount > summary {
    min-height: 50px;
  }

  .us28-discount .us-promo-v4 > div {
    grid-template-columns: minmax(0, 1fr);
  }

  .us28-discount .us-promo-v4 button {
    width: 100%;
  }

  .us28-confirmation-copy,
  .us28-scope-note {
    font-size: 12px;
  }

  .file-list > *,
  [class*="attachment"] > li,
  [class*="upload-row"],
  [class*="file-row"] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    min-height: 48px;
  }

  .file-list button,
  [class*="attachment"] button,
  [class*="file-row"] button {
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
  }

  .us21-order-grid,
  .download-grid,
  [class*="download-grid"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .us21-order-grid a,
  .download-grid a,
  [class*="download-card"] a {
    min-height: 48px;
  }
}

@media (max-width: 480px) {
  :root {
    --us29-page-gutter: 12px;
    --us29-card-radius: 16px;
  }

  h1,
  .us19-hero h1,
  .us-result-hero-v4 h1,
  .us21-order-hero h1,
  .result-hero h1 {
    font-size: clamp(28px, 10vw, 38px) !important;
  }

  .brand,
  .us19-brand,
  [class*="brand"] {
    max-width: 190px;
  }

  .brand small,
  .us19-brand small,
  [class*="brand"] small {
    white-space: normal;
  }

  .us19-hero,
  .us19-section,
  .us19-split > article,
  .us19-price-grid > article,
  .us19-cta,
  .us-checkout-card-v4,
  .us-status-card-v4,
  .us21-order-hero,
  .us21-order-grid > *,
  .panel,
  .complete-card,
  .error-panel,
  .checkout-card {
    padding: 17px !important;
  }

  .result-meta,
  .status-meta,
  [class*="meta-row"] {
    align-items: stretch;
    flex-direction: column;
  }

  .result-meta > *,
  .status-meta > *,
  [class*="meta-row"] > * {
    width: 100%;
  }

  .us28-master-confirmation {
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 8px;
  }

  .us28-confirmation-body,
  .us28-discount-body {
    padding-left: 12px;
    padding-right: 12px;
  }

  .file-list > *,
  [class*="attachment"] > li,
  [class*="upload-row"],
  [class*="file-row"] {
    grid-template-columns: minmax(0, 1fr) 44px;
  }
}

@media (max-height: 560px) and (orientation: landscape) {
  .modal,
  [role="dialog"],
  [class*="modal-card"],
  [class*="dialog-card"] {
    max-height: calc(100dvh - 12px) !important;
    margin-top: 6px;
    margin-bottom: 6px;
  }

  .us-checkout-card-v4,
  .checkout-card {
    position: static !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media print {
  [data-us-mobile-v29],
  .mobile-only,
  [class*="bottom-cta"] {
    display: none !important;
  }
}
