/* Interface text is explicit; body/prose remain 16px for extended reading. */
:where(.desktop-nav,.mobile-menu nav,.mobile-menu-footer,.no-js-nav,.woocommerce-MyAccount-navigation,.account-shortcuts,.account-identity,.product-identifiers,.product-access,.product-purchase .stock,.price-reference,.product-help,.product-specifications,.store-results .woocommerce-result-count,.store-results .woocommerce-ordering,.store-categories,.woocommerce-pagination,.category-card,.promo-band,.steps .card p,.feature-cards .card,.reasons-list,.source-slides p,.section-intro > div > p,.stats span) {
  font-family:var(--font-body);
  font-size:var(--fs-ui);
  line-height:var(--line-ui);
}
/* Explicit rules win over component shorthand and WooCommerce defaults. */
.mobile-menu :is(nav > a,summary,.nav-parent > a),.nav-dropdown a,.no-js-nav a { font-family:var(--font-body);font-size:var(--fs-ui);line-height:var(--line-ui); }
.category-card { font-family:var(--font-body);font-size:var(--fs-ui); }
.store-results .woocommerce-product-search button { font-family:var(--font-body);font-size:var(--fs-ui);line-height:var(--line-control); }
.albany-commerce .woocommerce :is(.woocommerce-product-details__short-description,.product-identifiers,.product-access,.product-help,.price-reference,.product-specifications,.product-brand,.product-sku,.stock,.wholesale-price,.aps-wholesale-label,.aps-pricing-block,.aps-pricing-row,.aps-pricing-label,.aps-pricing-value,.woocommerce-Price-amount) { font-family:var(--font-body);font-size:var(--fs-ui);line-height:var(--line-ui); }
.albany-commerce .woocommerce .product-card-copy h2 { font-family:var(--font-body);font-size:var(--fs-ui);line-height:var(--line-ui); }
/* Account text and feed instructions are UI; nested display headings keep their rules. */
.woocommerce-MyAccount-content > :is(p,form,dl,table),.woocommerce-MyAccount-content .account-letter > p,.woocommerce-MyAccount-content :is(.dashboard-orders table,.woocommerce-address-fields label,.woocommerce-EditAccountForm label) { font-family:var(--font-body);font-size:var(--fs-ui);line-height:var(--line-ui); }
.albany-commerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error,.wc-block-components-notice-banner) { font-family:var(--font-body);font-size:var(--fs-ui);line-height:var(--line-ui);padding:var(--notice-padding-block) var(--notice-padding-inline); }
.albany-commerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error,.wc-block-components-notice-banner) :is(p,li) { font-size:inherit;line-height:inherit; }
.albany-commerce .woocommerce :is(label,.woocommerce-privacy-policy-text,.woocommerce-LostPassword,.woocommerce-form-login__rememberme,.woocommerce-form__label-for-checkbox) { font-family:var(--font-body);font-size:var(--fs-ui);line-height:var(--line-ui); }
/* Native WooCommerce text actions only; payment-provider embeds stay untouched. */
.albany-commerce .wc-block-components-button:not(.is-link) { font-family:var(--font-body);font-size:var(--fs-ui);line-height:var(--line-control); }
.albany-commerce :is(.wc-block-components-product-name,.wc-block-components-product-price,.wc-block-components-formatted-money-amount,.wc-block-formatted-money-amount,.wc-block-components-product-metadata,.wc-block-components-totals-item__label,.wc-block-components-totals-item__value,.wc-block-components-totals-item__description,.wc-block-components-radio-control__label,.wc-block-components-radio-control__description,.wc-block-components-checkbox__label,.wc-block-components-text-input label,.wc-block-components-checkout-return-to-cart-button,.wc-block-cart-item__prices,.wc-block-components-checkout-step__description) { font-family:var(--font-body);font-size:var(--fs-ui);line-height:var(--line-ui); }
/* Inputs have their own token: 16px on small or touch screens avoids iOS zoom. */
:where(main,.site-header) :is(input[type=text],input[type=email],input[type=password],input[type=tel],input[type=url],input[type=search],input[type=number],input[type=date],input[type=time],input[type=datetime-local],select,textarea) { font-family:var(--font-body);font-size:var(--fs-input); }
.albany-commerce .woocommerce :is(input.input-text,select,textarea),.albany-commerce .quantity input.qty,.store-results .woocommerce-product-search input,.product-search input { font-family:var(--font-body);font-size:var(--fs-input);line-height:var(--line-ui); }
.gform_wrapper.gform-theme--framework {
  --gf-font-family-base:var(--font-body);
  --gf-ctrl-font-size:var(--fs-input);
  --gf-ctrl-line-height:var(--line-ui);
  --gf-ctrl-label-font-size-primary:var(--fs-ui);
  --gf-ctrl-label-font-size-secondary:var(--fs-ui);
  --gf-ctrl-label-font-size-tertiary:var(--fs-ui);
  --gf-ctrl-desc-font-size-primary:var(--fs-ui);
  --gf-ctrl-desc-font-size-secondary:var(--fs-ui);
}
.gform_wrapper.gform-theme--framework :is(.gfield_label,.gform-field-label,.gfield_description,.gform_validation_errors,.validation_message,.gform_confirmation_message) { font-family:var(--font-body);font-size:var(--fs-ui);line-height:var(--line-ui); }
.gform_wrapper.gform-theme--framework .gfield_consent_description { font-size:var(--fs-body);line-height:var(--line-body); }
/* Extended reading retains body size; don't shrink all paragraphs globally. */
.prose,.product-section > p,.product-section .woocommerce-Tabs-panel--description,.testimonial blockquote > p,.letter-disclaimer,.footer-legal p { font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--line-body); }
.gform_confirmation_wrapper,.gform_confirmation_message { font-family:var(--font-body);font-size:var(--fs-ui);line-height:var(--line-ui); }
/* Native public verification uses ordinary form markup outside WooCommerce. */
main form label,.site-header form label,main:has(#albany-reference) > p,main:has(#albany-reference) > form,main:has(#albany-reference) > [role=status] { font-family:var(--font-body);font-size:var(--fs-ui);line-height:var(--line-ui); }
main input:not([type]) { font-family:var(--font-body);font-size:var(--fs-input);line-height:var(--line-ui); }
main #albany-reference { min-height:var(--space-12);padding:var(--space-2) var(--space-3); }
/* WooCommerce's small preset otherwise overrides cart names at mobile sizes. */
.albany-commerce .commerce-page :is(.wc-block-cart,.wc-block-checkout) .wc-block-components-product-name { font-family:var(--font-body);font-size:var(--fs-ui);line-height:var(--line-ui); }
.albany-commerce .commerce-page :is(.wc-block-cart,.wc-block-checkout) :is(input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],select,textarea) { font-family:var(--font-body);font-size:var(--fs-input);line-height:var(--line-ui); }
.callout { font-family:var(--font-body);font-size:var(--fs-ui);line-height:var(--line-ui);padding:var(--notice-padding-block) var(--notice-padding-inline); }
/* Homepage instructions and short service descriptions are interface copy.
   Scope text nodes explicitly so display headings and reading content retain their scale. */
.home #main :is(.service-cards p,.service-cards li,.service-cards a,.dark-card > p,.dark-card > a,#resale-authorization .two-column > div > p,#resale-authorization .checklist li,#resale-authorization .letter-disclaimer,#ecommerce-partner .section-intro > p,#ecommerce-partner .checklist li,#ecommerce-partner .card p,#ecommerce-partner .card > a,.final-cta > p) {
  font-family:var(--font-body);
  font-size:var(--fs-ui);
  line-height:var(--line-ui);
}

/* Reseller-program UI copy; unwrapped introductory/reading paragraphs retain body size. */
.reseller-program :is(.card,.card p,.card li,.card a,.ordering-card-body,.program-hero .two-column > div > p,#ordering-methods .cards + p,#ordering-methods .cards + p a,#ecommerce-services .checklist li,#resale-authorization .two-column > div > p,#resale-authorization .checklist li,#resale-authorization .letter-disclaimer) {
  font-family:var(--font-body);
  font-size:var(--fs-ui);
  line-height:var(--line-ui);
}
.letter-status { font-family:var(--font-body);font-size:var(--fs-ui);line-height:var(--line-ui); }
.reseller-program .ordering-cards { column-gap:var(--space-6);row-gap:var(--space-3);margin-block:var(--space-6); }
.reseller-program .ordering-cards > .card {
  display:grid;
  grid-template-rows:auto 1fr;
  align-content:start;
  gap:var(--space-3);
  padding:var(--space-6);
}
.reseller-program .ordering-cards > .card > h3 { margin:0; }
.reseller-program .ordering-card-body > :last-child { margin-bottom:0; }
/* Share heading/body tracks across each row without fixed heading heights. */
@supports (grid-template-rows:subgrid) {
  .reseller-program .ordering-cards > .card { grid-template-rows:subgrid;grid-row:span 2; }
}
