/* Shared mobile menu reference: 12px body, 11px labels, 10px supporting copy,
   Page-defined header/heading sizes and existing font families are preserved.
   Products and login pages never load this stylesheet. */
@layer vsl-unified-mobile-typography {
@media screen and (max-width: 991px) {
html:root {
    --vsl-type-body: 12px;
    --vsl-type-label: 11px;
    --vsl-type-help: 10px;
    --vsl-type-section: 14px;
    --vsl-type-heading: 15px;
    --vsl-type-page: 17px;
    --vsl-type-input: 16px;
}
html body {
    font-size: var(--vsl-type-body) !important;
}
html body :where(*):not(:where(input[type="hidden"],input[type="checkbox"],input[type="radio"],input[type="range"],input[type="color"],input[type="image"],.header-icon,.header-icon *,.menu-icon-box,.menu-icon-box *,.fb-icon,.fb-icon *,.fb-chevron,.fb-chevron *,.fb-chevron-go,.fb-chevron-go *,.btn-back-icon,.btn-back-icon *,svg,svg *,canvas,math,math *,i,.bi,[class^="bi-"],[class*=" bi-"],.fa,.fas,.far,.fab,.fal,.fad,.fa-solid,.fa-regular,.fa-brands,.material-icons,[class*="material-symbols"],.glyphicon,.iconify,.emoji,.flag-icon,.fi,[class^="fi-"],[class*=" fi-"],[data-lucide],[data-icon],[role="img"],[role="img"] *,.icon,.icon *,.avatar,.avatar *,.user-avatar,.user-avatar *,.profile-avatar,.profile-avatar *,.vsl-whatsapp-compact-avatar,.vsl-whatsapp-compact-avatar *)):not(:where(h1,h2,h3,h4,h5,h6,header,[role="heading"],[class*="header"],[class*="heading"],[class*="title"],.display-1,.display-2,.display-3,.display-4,h1 *,h2 *,h3 *,h4 *,h5 *,h6 *,header *,[role="heading"] *,[class*="header"] *,[class*="heading"] *,[class*="title"] *,.display-1 *,.display-2 *,.display-3 *,.display-4 *)) {
    font-size: var(--vsl-type-size, var(--vsl-type-body)) !important;
}
html body :where(h1,.page-title,.page-heading-title,.page-header-title,.hero-title,.display-1,.display-2,.display-3,.display-4) {
    --vsl-type-size: var(--vsl-type-page);
}
html body :where(h2,.quote-title,.section-title,.header-title,.hero-subtitle) {
    --vsl-type-size: var(--vsl-type-heading);
}
html body :where(h3,h4,h5,.card-title,.modal-title,.empty-state-title,.fb-menu-title) {
    --vsl-type-size: var(--vsl-type-section);
}
html body :where(h6,.product-title,.product-name,.button-label,.menu-link,.mobile-menu-link,.fb-label,.fb-add-item-copy strong,.fb-quick-upload-action-copy strong) {
    --vsl-type-size: var(--vsl-type-body);
}
html body :where(label,legend,.form-label,.fintech-label,.gs-label,.detail-label,.clean-label,.field-label,.total-label,.t-label-horiz,.dm-label,.fb-section-title,.fb-footer-link) {
    --vsl-type-size: var(--vsl-type-label);
}
html body :where(small,.small,.form-text,.help-text,.field-help,.detail-sub,.quote-desc,.mobile-product-desc,.ts-product-desc,.timestamp,.message-time,.msg-time,.badge,.status-badge,.fb-add-item-copy small,.fb-quick-upload-action-copy small) {
    --vsl-type-size: var(--vsl-type-help);
}
html body :where(.total-value,.t-grand-val-horiz,.total-amount,.grand-total-amount,.product-feed-price) {
    --vsl-type-size: var(--vsl-type-section);
}
html body :where(input:not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="image"]),textarea,select,.ts-control,.ts-control input,.ts-control .item,[contenteditable=""],[contenteditable="true"],[contenteditable="plaintext-only"]) {
    --vsl-type-size: var(--vsl-type-input);
}
}
}

/* Existing families, normal body weights, icons, desktop and print are preserved. */
@layer vsl-unified-mobile-typography {
@media screen and (max-width: 991px) {
html:root body :where(h1,h2,h3,h4,h5,h6,[role="heading"],strong,b,.fw-bold,.fw-bolder,.font-weight-bold,.font-bold,.font-extrabold,.font-black,.fw-700,.fw-800,.fw-900,.page-title,.page-heading,.page-heading-title,.page-header-title,.header-title,.hero-title,.section-title,.card-title,.modal-title,.empty-state-title,.success-heading,.mc-mobile-list-heading,.fb-menu-title,.fb-section-title,.total-value,.t-grand-val-horiz,.feed-main-value,.thread-item.unread .thread-name,.thread-group.unread .thread-name,[style*="font-weight:700"],[style*="font-weight: 700"],[style*="font-weight:800"],[style*="font-weight: 800"],[style*="font-weight:850"],[style*="font-weight: 850"],[style*="font-weight:900"],[style*="font-weight: 900"]) {
    font-weight: 600 !important;
}
}
}
