/* Shared type roles. Loaded last so historic screen styles cannot invent a new
   instruction, warning or label size. Only typography is normalised here. */
:root {
 --cgs-font: CGS, Poppins, Arial, sans-serif;
 --cgs-type-title: calc(24px * var(--cgs-text-scale, 1));
 --cgs-type-section: calc(20px * var(--cgs-text-scale, 1));
 --cgs-type-heading: calc(17px * var(--cgs-text-scale, 1));
 --cgs-type-body: calc(16px * var(--cgs-text-scale, 1));
 --cgs-type-control: calc(15px * var(--cgs-text-scale, 1));
 --cgs-type-support: calc(14px * var(--cgs-text-scale, 1));
 --cgs-type-caption: calc(12px * var(--cgs-text-scale, 1));
}
.cgs-typography { font-family:var(--cgs-font); font-size:var(--cgs-type-body); line-height:1.55; }
.cgs-typography :is(button,input,select,textarea,.native-select-option,p,li,label,legend,summary,small,h1,h2,h3,h4,dt,dd) { font-family:var(--cgs-font)!important; }
.cgs-typography :is(p,li,dd) { font-size:var(--cgs-type-body)!important; line-height:1.55!important; }
.cgs-typography h1 { font-size:var(--cgs-type-title)!important; line-height:1.3!important; font-weight:600!important; letter-spacing:-.02em; }
.cgs-typography h2 { font-size:var(--cgs-type-section)!important; line-height:1.35!important; font-weight:600!important; letter-spacing:-.01em; }
.cgs-typography h3 { font-size:var(--cgs-type-heading)!important; line-height:1.4!important; font-weight:600!important; letter-spacing:normal; }
.cgs-typography h4 { font-size:var(--cgs-type-body)!important; line-height:1.4!important; font-weight:600!important; letter-spacing:normal; }
.cgs-typography :is(.field>span,.field>label,.field>legend,label:not(.check-row):not(.check),legend,summary) { font-size:var(--cgs-type-control)!important; line-height:1.45!important; font-weight:500; }
/* Native replacements keep the same field type as the underlying real select. */
.cgs-typography :is(input,select,textarea,.native-select-trigger,.native-select-option,.address-option,.produce-options strong) { font-size:var(--cgs-type-body)!important; line-height:1.5!important; }
.cgs-typography :is(.btn,.text-link,.finance-button,.demand-button,.account-button) { font-size:var(--cgs-type-control)!important; line-height:1.4!important; font-weight:500!important; }
.cgs-typography :is(small,.small,.mini,.meta,.muted,.item-meta,.text-preview,.check-row,.check,.badge,.summary,.detail-row,table,.product-meta,.public-username,.eyebrow,.version-note,.review-category-counts,.review-category-empty,.verification-step-copy>span) { font-size:var(--cgs-type-support)!important; line-height:1.55!important; }
.cgs-typography :is(.notice,.instruction,.instructions,.helper-text,.help-text,.field-help,.field-hint,.review-help,.chat-note,.detail-note,.field small,.disclosure p,.disclosure li,.help-details p,.help-details li,.page-heading p,.page-title p,.identity-trust p,.verification-next-step p,.identity-complete p,.verification-section-body>p,.grower-responsibilities p,.grower-responsibilities li,.demand-method p,.demand-area-picker p,.demand-empty p,.demand-heading p,.demand-preference-interests p,.demand-preference-interests li,.finance-basis p,.finance-heading p,.finance-card p,.finance-expense-form p,.finance-muted,.finance-comparison,.produce-status,.variety-status,.lab-report-image figcaption,.lab-public-report summary span,.photo-cropper p,.handover-proof p,.payment-fee-note) { font-size:var(--cgs-type-support)!important; line-height:1.55!important; font-weight:400; }
.cgs-typography :is(.notice,.instruction,.instructions,.helper-text,.help-text,.field-help,.field-hint,.detail-note) :is(p,li,small) { font-size:var(--cgs-type-support)!important; line-height:1.55!important; }
.cgs-typography :is(.demand-preferences,.verification-section-body,.upcoming-guidance,.garden-help,.photo-cropper-dialog) :is(p,li,small) { font-size:var(--cgs-type-support)!important; line-height:1.55!important; }
.cgs-typography :is(.demand-signal span,.demand-signal small,.finance-legend,.finance-filters>span,.produce-status,.variety-status,.dp-notice) { font-size:var(--cgs-type-support)!important; line-height:1.55!important; }
.cgs-typography :is(.notice.warning,.warning,.error,.field-error,.validation-error,.finance-error,.storage-warning,[role=alert]) { font-size:var(--cgs-type-support)!important; line-height:1.55!important; font-weight:500; }
.cgs-typography :is(.warning,.error,.field-error,.validation-error,[role=alert]) :is(p,li,small) { font-size:var(--cgs-type-support)!important; line-height:1.55!important; }
.cgs-typography :is(.chat-meta,.inbox-meta,.timestamp,.cgs-copyright,.bottom-nav button,.nav-label) { font-size:var(--cgs-type-caption)!important; line-height:1.4!important; }
.cgs-typography .payment-fee-note { margin-top:18px!important; margin-bottom:12px; }
/* Labels may grow onto a new line at large text sizes; fields never clip them. */
.cgs-typography :is(.field,.check-row,.check,.notice,.warning) { height:auto; }
