/* V50: readable mobile content within the approved page layouts. Desktop is unchanged. */
@media (max-width: 600px) {
  body[data-page] .page-head h1 { overflow-wrap: anywhere; hyphens: auto; }
  body[data-page] .proc-dialog .proc-form-grid > *,
  body[data-page] .proc-dialog .proc-phone > *,
  body[data-page] .proc-dialog .proc-form input,
  body[data-page] .proc-dialog .proc-form select,
  body[data-page] .proc-dialog .proc-form textarea { min-width: 0; }
  body[data-page] .proc-dialog .proc-form label { font-size: 12px; }
  body[data-page] .proc-dialog .proc-consent,
  body[data-page] .proc-dialog .proc-consent a { font-size: 11px !important; }
  body[data-page] .proc-dialog-close { width: 44px; height: 44px; }

  body[data-page=crops] .page-head p,
  body[data-page=library] .page-head p { font-size: 14px; line-height: 1.75; }
  body[data-page=crops] .filter-panel,
  body[data-page=library] .filter-panel { min-width: 0; }
  body[data-page=crops] .input-search input,
  body[data-page=library] .input-search input { min-height: 46px; font-size: 16px; }
  body[data-page=crops] .field-label { font-size: 12px; }
  body[data-page=crops] .side-filters,
  body[data-page=library] .side-filters { gap: 8px; padding-bottom: 5px; }
  body[data-page=crops] .side-filters button,
  body[data-page=library] .side-filters button { min-height: 44px; padding: 10px 12px; font-size: 12px; }
  body[data-page=crops] .side-filters button > span,
  body[data-page=library] .side-filters button > span { font-size: 10px; }
  body[data-page=crops] .results-toolbar,
  body[data-page=library] .results-toolbar { font-size: 12px; }

  body[data-page=crops] .crop-card { min-width: 0; padding: 16px 13px 14px; }
  body[data-page=crops] .crop-card-top { flex-wrap: wrap; gap: 9px; min-height: 100px; align-content: start; align-items: center; }
  body[data-page=crops] .crop-card-top > .crop-icon { width: 58px; height: 58px; }
  body[data-page=crops] .crop-card-top > .crop-yield,
  body[data-page=crops] .crop-card-top > .crop-yield-unavailable { flex-basis: 100%; min-height: 23px; }
  body[data-page=crops] .crop-card small { font-size: 10px; line-height: 1.5; display: block; }
  body[data-page=crops] .crop-card h2 { font-size: 16px; line-height: 1.4; overflow-wrap: anywhere; }
  body[data-page=crops] .crop-card-bottom { font-size: 10px; line-height: 1.6; }
  body[data-page=crops] .crop-card-bottom b { font-size: 12px; margin-top: 5px; }

  body[data-page=library] .library-layout .filter-panel { padding: 9px 10px; }
  body[data-page=library] .document-row { gap: 12px; padding: 19px 0; }
  body[data-page=library] .document-row h2 { font-size: 14px; line-height: 1.55; margin: 5px 0 7px; }
  body[data-page=library] .document-row p { font-size: 11px; line-height: 1.75; }
  body[data-page=library] .doc-category { font-size: 10px; line-height: 1.55; letter-spacing: .05em; }
  body[data-page=library] .document-row .file-badge { width: 38px; height: 44px; font-size: 9px; }
  body[data-page=library] .sort-label { gap: 12px; font-size: 12px; }
  body[data-page=library] .sort-label select { min-height: 44px; font-size: 16px; max-width: 190px; min-width: 0; padding: 8px; }
  body[data-page=library] .pagination { gap: 10px; font-size: 11px; }
  body[data-page=library] .pagination > span { text-align: center; }
  body[data-page=library] .pagination .btn { min-height: 44px; padding: 10px 12px; font-size: 12px; }
  body[data-page=library] .library-layout > section > .fine { font-size: 11px; line-height: 1.75; }

  body[data-page=document] .document-header .eyebrow { font-size: 10px; line-height: 1.6; }
  body[data-page=document] .document-header .actions > .btn { min-height: 44px; font-size: 12px; }
  body[data-page=document] .document-info p,
  body[data-page=document] .document-info .text-link { font-size: 12px; line-height: 1.8; }
  body[data-page=document] .pdf-toolbar { flex-wrap: wrap; gap: 12px; padding: 12px; font-size: 12px; }
  body[data-page=document] .pdf-toolbar > div:first-child { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; flex: 1 0 100%; }
  body[data-page=document] .pdf-toolbar > div:first-child > label { grid-column: 1 / -1; grid-row: 1; justify-content: center; flex-wrap: wrap; gap: 8px; }
  body[data-page=document] .pdf-toolbar #pdf-prev,
  body[data-page=document] .pdf-toolbar #pdf-next { width: 100%; min-height: 44px; height: auto; padding: 8px; font-size: 12px; }
  body[data-page=document] .pdf-toolbar > div:last-child { margin-left: auto; gap: 12px; }
  body[data-page=document] .pdf-toolbar #pdf-minus,
  body[data-page=document] .pdf-toolbar #pdf-plus { width: 44px; height: 44px; font-size: 20px; }
  body[data-page=document] .pdf-toolbar input { width: 54px; min-height: 44px; font-size: 16px; }
  body[data-page=document] .pdf-status,
  body[data-page=document] .pdf-text summary,
  body[data-page=document] .pdf-text p { font-size: 12px; line-height: 1.75; }

  body[data-page=product] .story-cover-grid > *,
  body[data-page=product] .story-process-illustrated > * { min-width: 0; }
  body[data-page=product] .story-cover figure img { height: auto; aspect-ratio: 1.12; max-height: 400px; object-fit: cover; }
  body[data-page=product] .story-technology-layout .story-extraction-plate img { height: auto; aspect-ratio: 1.4; max-height: 340px; object-fit: cover; }
  body[data-page=product] .story-quality figure img { height: auto; aspect-ratio: 1.12; min-height: 0; max-height: 400px; object-fit: cover; }
  body[data-page=product] .story-process-illustrated { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
  body[data-page=product] .story-process-illustrated h3 { font-size: 14px; overflow-wrap: anywhere; }
  body[data-page=product] .story-process-illustrated p { font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
  body[data-page=product] .story-cover figcaption,
  body[data-page=product] .story-production figcaption { font-size: 11px; line-height: 1.7; }
  body[data-page=product] .story-navigation a { min-height: 46px; font-size: 12px; padding-top: 14px; padding-bottom: 12px; }
  body[data-page=product] .story-trial-tabs button { min-height: 44px; font-size: 12px; }
  body[data-page=product] .story-trial-heading p,
  body[data-page=product] .story-trial-context { font-size: 11px; line-height: 1.75; }
}

@media (max-width: 480px) {
  body[data-page] .proc-dialog .proc-form-grid { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  body[data-page] .proc-dialog .proc-form-full { grid-column: auto; }
  body[data-page] .proc-dialog .proc-phone { grid-template-columns: 90px minmax(0, 1fr); gap: 12px; }
  body[data-page] .proc-dialog-header { padding-right: 28px; }
  body[data-page=library] .results-toolbar { align-items: start; flex-direction: column; gap: 12px; margin-bottom: 18px; }
  body[data-page=library] .sort-label { width: 100%; flex-direction: column; align-items: stretch; gap: 7px; }
  body[data-page=library] .sort-label select { flex: none; width: 100%; max-width: none; }
}

@media (max-width: 430px) {
  body[data-page=product] .story-trial-heading,
  body[data-page=library] .document-research .story-trial-heading,
  body[data-page=document] .document-research .story-trial-heading { flex-direction: column; align-items: start; gap: 12px; }
  body[data-page=product] .story-trial-heading > div,
  body[data-page=library] .document-research .story-trial-heading > div,
  body[data-page=document] .document-research .story-trial-heading > div { min-width: 0; }
  body[data-page=product] .story-trial-heading strong,
  body[data-page=library] .document-research .story-trial-heading strong,
  body[data-page=document] .document-research .story-trial-heading strong { font-size: 28px; }
}

@media (max-width: 359px) {
  body[data-page=product] .story-process-illustrated { grid-template-columns: minmax(0, 1fr); gap: 25px; }
  body[data-page=product] .story-process-illustrated h3 { max-width: none; }
  body[data-page=library] .pagination { gap: 7px; }
  body[data-page=library] .pagination .btn { padding-left: 9px; padding-right: 9px; font-size: 11px; }
}
