/* Shared phone layout. Desktop and tablet presentation remains in its own sheets.
 * Native disclosures keep every control reachable without JavaScript. */
.lc-phone-nav { display: none; }
.lc-phone-disclosure > summary { display: none; }
.lc-phone-disclosure:not([open]) > :not(summary) { display: block; }
.lc-phone-disclosure { min-width: 0; }
@media screen and (min-width: 601px) {
  .lc-phone-disclosure::details-content { content-visibility: visible; }
  .forms-nav-disclosure:not([open]) > .forms-nav { display: flex; }
}
@media screen and (max-width: 600px) {
  :root { --lc-phone-bar: 64px; }
  html { scroll-padding-block: 20px calc(var(--lc-phone-bar) + env(safe-area-inset-bottom) + 20px); }
  body:has(.lc-phone-nav) { padding-bottom: calc(var(--lc-phone-bar) + env(safe-area-inset-bottom)); }
  .lc-top .lc-top-in { flex-wrap: nowrap; gap: 8px; padding: 10px 16px; min-height: 60px; }
  .lc-top .lc-brand { flex: 1 1 auto; min-width: 0; }
  .lc-brand-center { display: none; }
  .lc-top .lc-mobile-nav { display: none; }
  .lc-top .lc-research-history { display: none; }
  .lc-esquire-logo { width: 160px; max-width: 100%; }
  .lc-top .lc-account { flex-wrap: wrap; min-width: 0; }
  .lc-phone-nav {
    --phone-paper: var(--lc-paper, var(--bg, #fff));
    --phone-ink: var(--lc-ink, var(--ink, #182b42));
    --phone-rule: var(--lc-rule, var(--line-strong, #dbe3ec));
    --phone-accent: var(--lc-accent, var(--accent, #164d83));
    display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr);
    position: fixed; z-index: 40; bottom: 0; left: 0; right: 0;
    padding: 6px max(8px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
    border-top: 1px solid var(--phone-rule); background: var(--phone-paper); color: var(--phone-ink);
    font: 14px/1.4 var(--lc-sans, system-ui, sans-serif); gap: 4px;
  }
  .lc-phone-nav > a, .lc-phone-nav > details > summary {
    display: flex; align-items: center; justify-content: center; min-height: 48px;
    padding: 10px 4px; border-radius: 8px; text-align: center; list-style: none;
    color: var(--phone-accent); text-decoration: none; cursor: pointer; overflow-wrap: anywhere;
  }
  .lc-phone-nav > details > summary::-webkit-details-marker { display: none; }
  .lc-phone-nav [aria-current="page"], .lc-phone-nav > details[open] > summary { background: var(--lc-accent-soft, var(--accent-wash, #eaf2fa)); }
  .lc-phone-nav > details { min-width: 0; }
  .lc-phone-panel {
    position: absolute; bottom: 100%; left: 8px; right: 8px; max-height: min(65dvh, 520px);
    overflow: auto; overscroll-behavior: contain; padding: 16px;
    border: 1px solid var(--phone-rule); border-radius: 12px 12px 0 0;
    background: var(--phone-paper); color: var(--phone-ink); box-shadow: 0 -6px 24px #0001;
  }
  .lc-phone-panel a, .lc-phone-panel button, .lc-phone-panel summary { min-height: 44px; padding: 12px 8px; box-sizing: border-box; }
  .lc-phone-panel > a, [data-lc-phone-account-fallback] > a { display: block; color: var(--phone-accent); }
  .lc-phone-nav :focus-visible { outline: 3px solid var(--phone-accent); outline-offset: 2px; }
  .lc-phone-nav.lc-phone-editing { display: none; }
  .lc-phone-panel #account { display: block; margin: 0; width: 100%; max-width: none; }
  .lc-phone-panel .lc-tool-panel, .lc-phone-panel .account-menu, .lc-phone-panel .product-switch-list {
    position: static; width: 100%; max-width: none; max-height: none; box-shadow: none; box-sizing: border-box;
  }
  .lc-phone-panel .lc-tool-menu { display: block; margin-bottom: 8px; }
  .lc-phone-panel .lc-client-menu > summary { white-space: normal; overflow-wrap: anywhere; }
  .lc-main { padding: 16px 12px 24px; }
  .lc-doc, .lc-reading-doc, .lc-reading-doc:has(.lc-opinion) { padding: 18px 16px; min-width: 0; }
  .lc-doc h1, .lc-doc h1.lc-title { font: 400 28px/1.2 var(--lc-serif); overflow-wrap: anywhere; }
  .lc-doc h2 { overflow-wrap: anywhere; }
  .lc-doc input:not([type=checkbox]):not([type=radio]), .lc-doc select, .lc-doc textarea,
  .lc-phone-panel input, .lc-phone-panel select, .forms-page input:not([type=checkbox]):not([type=radio]), .forms-page select, .forms-page textarea {
    font-size: 16px; min-height: 44px; min-width: 0; max-width: 100%; box-sizing: border-box;
  }
  .lc-doc button, .lc-doc summary, .lc-doc .lc-btn, .lc-phone-panel button { min-height: 44px; }
  .lc-doc button, .lc-doc summary { white-space: normal; }
  .lc-doc p, .lc-doc li, .lc-meta, .lc-crumbs { overflow-wrap: anywhere; }
  .lc-center-links { flex-wrap: wrap; }
  .lc-front .lc-doc { display: flex; flex-direction: column; margin-top: 0; padding: 4px; }
  .lc-front .lc-doc > .lc-entry { order: 1; }
  .lc-front .lc-doc > .lc-front-recent { order: 2; }
  .lc-front .lc-doc > .lc-ai-disclosure { order: 3; margin-top: 16px; }
  .lc-front .lc-head { margin-bottom: 16px; }
  .lc-front .lc-head .lc-title { font-size: 30px; }
  .lc-front .lc-search-lede { font-size: 16px; }
  .lc-front .lc-entry-row { flex-wrap: wrap; }
  .lc-front .lc-entry-box { flex: 1 1 100%; }
  .lc-front .lc-entry-go { flex: 1; min-height: 46px; }
  .lc-front-options-disclosure { order: 3; margin-top: 16px; }
  .lc-front .lc-front-options { margin-top: 0; padding: 16px; }
  .lc-front-fields { grid-template-columns: minmax(0, 1fr); }
  .lc-front-filter-row { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .lc-front .lc-entry { padding: 14px; }
  .lc-front-options-tools { display: block; }
  .lc-front-options-tools .lc-front-tips { margin: 0; }
  .lc-ai-research { padding: 16px; }
  .lc-ai-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .lc-front-recent-head { flex-wrap: wrap; gap: 8px; }
  .lc-front .lc-front-card { padding: 16px; margin-top: 18px; }
  .lc-front .lc-front-card h2, .lc-front .lc-front-options h2 { font-size: 19px; }
  .lc-front-browse-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .lc-front-browse-grid > a { border: 0; border-bottom: 1px solid var(--lc-rule); border-radius: 0; padding: 13px 0; }
  .lc-front .lc-front-tips .lc-help-dd > summary { min-height: 44px; padding-block: 10px; }
  .lc-front .lc-history-x { min-width: 44px; min-height: 44px; }
  .lc-phone-disclosure > summary { display: list-item; cursor: pointer; min-height: 44px; padding: 12px; color: var(--lc-accent); font: 500 15px/1.4 var(--lc-sans); }
  .lc-phone-disclosure:not([open]) > :not(summary) { display: none; }
  .lc-search-cols { grid-template-areas: 'count' 'rail' 'main'; gap: 12px; }
  .lc-search-cols > .lc-phone-disclosure { grid-area: rail; }
  .lc-results-rail { position: static; max-height: none; }
  .lc-count-bar .lc-count-tools { gap: 8px; }
  .lc-count-bar .lc-sort { display: flex; flex-wrap: wrap; width: 100%; }
  .lc-results > li { padding-block: 18px; }
  .lc-result-categories { border-radius: 6px; padding: 12px; }
  .lc-result-categories li a { min-height: 44px; }
  .lc-app .lc-r-tools > *, .lc-count-tools > button, .lc-list-find button { min-height: 44px; }
  .lc-reader-nav, .lc-document-bar { gap: 8px; margin-block: 12px; padding-block: 10px; }
  .lc-reading-doc .lc-opinion { margin: 0; max-width: none; padding-left: 0; font-size: 18px; line-height: 1.65; }
  .lc-opinion .lc-page { position: static; display: inline; margin-right: .5em; }
  .lc-opinion .lc-pmark { position: static; display: inline; opacity: 1; margin-right: .4em; }
  .lc-opinion .lc-p { text-indent: 0; margin-bottom: 1em; }
  .lc-quiet-reader .lc-statute { font-size: 18px; line-height: 1.65; }
  .lc-reading-large .lc-reading-doc .lc-opinion, .lc-reading-large .lc-quiet-reader .lc-statute { font-size: 20px; }
  .lc-doc .lc-tool-panel, .lc-reader-nav .lc-reader-menu-body { max-height: 55dvh; max-width: 100%; box-sizing: border-box; }
  .lc-note-host .lc-reader-note { position: relative; left: auto; width: 100%; margin-block: 12px; box-sizing: border-box; }
  .lc-table { width: 100%; table-layout: fixed; }
  .lc-table th, .lc-table td { overflow-wrap: anywhere; white-space: normal; }
  .lc-table td[data-label] { padding-block: 6px; }
  .lc-phone-table, .lc-phone-table tbody, .lc-phone-table tr, .lc-phone-table td { display: block; }
  .lc-phone-table thead { display: none; }
  .lc-phone-table tr { border-bottom: 1px solid var(--lc-rule); padding-block: 12px; }
  .lc-phone-table td { border: 0; width: 100%; padding: 5px 0; }
  .lc-phone-table td::before { content: attr(data-label); display: block; font: 500 12px/1.5 var(--lc-sans); color: var(--lc-ink-2); }
  .lc-compare { grid-template-columns: minmax(0, 1fr); }
  .lc-quotation-tools, .lc-selection-tools, .lc-selection-review, .nb-highlight-save { bottom: calc(var(--lc-phone-bar) + env(safe-area-inset-bottom) + 12px); }
  .lc-research-mobile { display: none; }
  .lc-foot { padding-bottom: 20px; }
  .nb-workspace-grid { display: block; }
  .nb-outline-disclosure { margin: 12px 0; border-block: 1px solid var(--lc-rule); }
  .nb-outline { padding-block: 10px; max-height: 50dvh; overflow: auto; }
  .nb-content { min-width: 0; }
  .nb-tools, .nb-quote-tools { flex-wrap: wrap; gap: 8px; }
  .nb-quote, .nb-content blockquote { margin-inline: 0; overflow-wrap: anywhere; }
  .forms-header { padding: 12px 16px; gap: 8px; }
  .forms-header > a { min-height: 44px; display: flex; align-items: center; }
  .forms-page main { padding: 16px; }
  .forms-page h1 { font-size: 26px; line-height: 1.25; overflow-wrap: anywhere; }
  .forms-nav-disclosure > summary { color: var(--ink); font-family: inherit; }
  .forms-nav { display: grid; grid-template-columns: minmax(0, 1fr); padding: 0 16px 12px; }
  .forms-nav a, .forms-nav summary { display: block; padding: 12px 0; min-height: 44px; }
  .forms-tools { gap: 8px; }
  .forms-tools input { min-width: 0; flex: 1 1 100%; }
  .forms-tools button, .forms-page .btn, .forms-page summary { min-height: 44px; white-space: normal; }
  .forms-card { padding: 14px; border-radius: 6px; }
  .forms-card dl { grid-template-columns: minmax(0, 1fr); }
  .forms-card dd { margin: 0 0 12px; }
  .forms-page pre { white-space: pre-wrap; overflow-wrap: anywhere; }
  .forms-editor-switch { display: grid; grid-template-columns: 1fr 1fr; }
  .forms-editor-switch button { min-height: 46px; }
  .forms-editor-preview { min-height: 0; padding: 12px; }
  .forms-editor-answers .forms-card { padding: 14px; }
  .forms-editor-heading, .forms-editor-primary { flex-wrap: wrap; min-width: 0; gap: 8px; }
  .forms-section-footer { gap: 8px; }
  .forms-section-footer span { flex-basis: 100%; order: -1; }
  .forms-setup-steps { flex-wrap: wrap; font-size: 14px; }
  .forms-library-search { grid-template-columns: minmax(0, 1fr); }
  .forms-library-search select { grid-column: auto; }
  .forms-page .modal { max-width: 100%; max-height: calc(100dvh - 16px); }
}
@media print {
  .lc-phone-nav { display: none !important; }
  .lc-phone-disclosure::details-content { content-visibility: visible; }
  .lc-phone-disclosure > summary { display: none; }
  .lc-phone-disclosure:not([open]) > :not(summary) { display: block; }
}
