/* Keep customer typography on the same responsive scale as the homepage. */
.store-home-page { font-size: var(--store-font-base); }
.store-home-page :is(.shop-page, .product-page, .cart-page, .checkout-page, .contact-page, .success-page, .store-info-page) { font-size: var(--store-font-base); }
.store-home-page :is(.shop-hero, .cart-hero, .checkout-hero, .contact-hero, .success-hero, .store-info-hero) h1 { font-size: var(--store-font-hero); }
.store-home-page :is(.product-heading h1, .product-panel h2, .ph-section-head h2, .cart-card-heading h2, .cart-summary h2, .cart-empty h2, .checkout-section legend, .contact-intro h2, .contact-form h2, .success-card h2, .success-support h2, .store-info-card h2) { font-size: var(--store-font-section); }
.store-home-page :is(.shop-page, .product-page, .cart-page, .checkout-page, .contact-page, .success-page, .store-info-page) p { font-size: var(--store-font-body); }
.store-home-page :is(.ph-detail-desc, .shop-result-row p, .cart-summary-intro, .checkout-message, .success-contact-grid dd, .product-specifications dt, .product-specifications dd, .store-faq-item summary) { font-size: var(--store-font-body); }
.store-home-page :is(.cart-product h3, .checkout-item-copy h2, .success-item-copy h3, .ph-design-info strong, .contact-method h3, .success-next-steps h3) { font-size: var(--store-font-product); }
.store-home-page :is(.cart-unit, .cart-variant, .cart-card-heading h2 span, .cart-actions span, .cart-actions > a, .cart-assurances span, .cart-payment-note, .cart-active-coupon a, .cart-totals dd.cart-delivery-hint, .cart-summary-total small, .cart-support > span, .checkout-section legend small, .checkout-required, .checkout-note summary span, .checkout-delivery small, .checkout-payment p, .checkout-payment-tag, .checkout-summary-details > summary small, .checkout-item-copy small, .checkout-grand-total small, .checkout-summary-note, .checkout-form-bottom p, .checkout-help > span, .success-card-heading p, .success-item-copy small, .success-contact-grid dt, .success-grand-total small, .success-summary-note, .success-status, .success-receipt > span, .success-receipt > div, .success-receipt small, .success-summary-heading > span, .success-payment span, .contact-form-note, .product-meta, .product-breadcrumb, .product-payment-method small, .product-delivery-card small, .ph-selection-help, .ph-design-out, .ph-design-summary small, .product-tabs span) { font-size: var(--store-font-caption); }
.store-home-page :is(.checkout-item-copy p, .success-item-copy p, .success-next-steps p, .success-support p, .contact-method p) { font-size: var(--store-font-caption); }
.store-home-page :is(.cart-back, .cart-card-heading > a, .cart-clear, .cart-coupon label, .cart-coupon input, .cart-coupon button, .cart-active-coupon, .cart-coupon-message, .cart-checkout, .cart-support strong, .cart-empty > a, .checkout-back, .checkout-section label, .checkout-note summary, .checkout-delivery, .checkout-payment strong, .checkout-place-order, .checkout-form-bottom > a, .checkout-help a, .success-actions a, .success-support a, .success-payment strong, .contact-label, .contact-send, .contact-direct a, .contact-alert, .shop-input, .shop-select, .shop-filter-button, .shop-clear, .shop-pagination a, .product-tabs a, .ph-variant-label, .ph-size-btn, .ph-stock, .ph-qty-value, .ph-qty-input, .product-quantity-label, .product-options-heading, .product-payment-method strong, .product-delivery-card strong, .product-delivery-card > a, .product-purchase-card .btn-ph-outline, .product-purchase-card .btn-ph-buy, .btn-ph-wa, .product-mobile-actions > button, .store-info-links a) { font-size: var(--store-font-action); }
.store-home-page :is(.cart-totals > div, .checkout-totals > div, .success-totals > div, .product-order-summary, .ph-design-summary) { font-size: var(--store-font-action); }
.store-home-page :is(.cart-line-total, .checkout-item > strong, .success-item > strong, .ph-design-price, .product-order-summary strong, .ph-design-summary strong) { font-size: var(--store-font-price); }
.store-home-page :is(.cart-summary-total strong, .checkout-grand-total dd, .success-grand-total dd, .success-receipt b, .ph-detail-price) { font-size: var(--store-font-section); }
.store-home-page :is(.cart-summary-total > span, .checkout-grand-total dt, .success-grand-total dt, .product-purchase-card > h2, .checkout-summary-details > summary, .success-receipt > strong) { font-size: var(--store-font-base); }
.store-home-page .ph-detail-price-old { font-size: var(--store-font-old-price); }
.store-home-page :is(.contact-input, .contact-textarea, .checkout-section input[type="text"], .checkout-section textarea, .cart-quantity input) { font-size: var(--store-font-body); }
.store-home-page :is(.cart-progress, .checkout-progress, .success-progress) { font-size: var(--store-font-caption); }
@media (max-width: 767px) {
    /* Keep text inputs at 16px to avoid automatic zoom on phones. */
    .store-home-page :is(.contact-input, .contact-textarea, .checkout-section input[type="text"], .checkout-section textarea, .cart-coupon input) { font-size: 16px; }
    .store-home-page .product-mobile-actions > .product-mobile-link { font-size: calc(.6rem + 2px); }
}
