/* Apply final typography metrics from the first layout, including font fallback. */
html[data-typography] {
  --display:"Courier Prime","Courier New",monospace;
  font-synthesis:none;
}
html[data-typography] body,
html[data-typography] body :where(button,input,select,textarea,h1,h2,h3,p,span,small,strong,b,a,label,legend,summary,output,pre) {
  font-family:var(--display);
  font-synthesis:none;
  letter-spacing:normal;
}
html[data-typography] body { font-size:16px; font-weight:400; line-height:1.5; }
html[data-typography] :is(h1,h2,h3,b,strong,button,.eyebrow,.category-strip,.merch-price,.bottom-nav a,.wide-link,.order-top>strong,.form-field>span,summary,.status-label) { font-weight:700; }
html[data-typography] :is(input,select,textarea,.dialog-description,.price-note,.local-note,.form-error,.error-text,.inner-view p,.help-copy,.cart-item p,.check-field,.catalog-tools label) { font-size:16px; font-weight:400; line-height:1.5; }
html[data-typography] .local-note { font-size:16px !important; }
html[data-typography] .category-strip button { flex:1 1 auto; font-size:16px; padding-inline:4px; min-width:0; letter-spacing:0; white-space:nowrap; }
html[data-typography] .merch-title { font-size:26px; line-height:1.2; }
html[data-typography] .merch-kind { font-size:14px; font-weight:400; line-height:1.4; }
html[data-typography] .merch-price { font-size:28px; line-height:1.2; }
html[data-typography] :is(.eyebrow,.form-field>span,.status-label,.dialog-price p) { font-size:13px; line-height:1.5; }
html[data-typography] .inner-view h1 { font-size:32px; line-height:1.12; }
html[data-typography] :is(.shop-dialog h2,.booth-card>h2,.empty-state h2) { font-size:26px; line-height:1.2; overflow-wrap:anywhere; }
html[data-typography] :is(.cart-item h2,.wide-link) { font-size:22px; line-height:1.25; }
html[data-typography] .product-view-switch button { font-size:14px; }
html[data-typography] :is(.select-button,.primary-button,.danger-button,.text-button,.tab-row button,.auth-switch button) { font-size:14px; font-weight:700; line-height:1.4; }
html[data-typography] .bottom-nav a { font-size:12px; line-height:1.2; }
html[data-typography] :is(.cart-total,.dialog-price) { flex-wrap:wrap; }
html[data-typography] :is(.cart-item h2,.order-top,.task-card summary) { overflow-wrap:anywhere; }
@media(max-width:359px) {
  html[data-typography] .category-strip button { font-size:14px; }
  html[data-typography] .merch-title { font-size:24px; }
}

html[data-typography="courier-unavailable"] { --display:"Courier New",monospace; }
