/* DM Sans is scoped to the storefront shell and the separate Fidelity body.
   The original global tokens and every checkout stylesheet remain untouched.
   Presence guards also disable all rules during a retained checkout/loading DOM. */
@font-face{font-family:"DM Sans";src:url("/fonts/storefront/dm-sans/dm-sans-normal-variable.ttf") format("truetype");font-weight:100 1000;font-style:normal;font-display:block}
@font-face{font-family:"DM Sans";src:url("/fonts/storefront/dm-sans/dm-sans-italic-variable.ttf") format("truetype");font-weight:100 1000;font-style:italic;font-display:block}

:is(
  body:not(:has(.sf-checkout)):not(:has(.sf-skeleton-checkout)):not(:has(.adm-app)) .sf-storefront-dm-sans,
  body.sf-storefront-dm-sans:not(:has(.sf-checkout)):not(:has(.sf-skeleton-checkout)):not(:has(.adm-app)),
  body:has(.sf-storefront-dm-sans):not(:has(.sf-checkout)):not(:has(.sf-skeleton-checkout)):not(:has(.adm-app)) :is(.sf-card-color-backdrop,[data-product-gallery])
){
  --sf-dm-sans-family:"DM Sans",Arial,sans-serif;
  --sf-sans:var(--sf-dm-sans-family);
  --sf-serif:var(--sf-dm-sans-family);
  --sf-editorial-title-font:var(--sf-dm-sans-family);
  font-family:var(--sf-dm-sans-family)!important;
}

/* Use the existing text/controls vocabulary. Preserve wordmarks and icon fonts;
   no wildcard family override, font shorthand, sizing or weight declaration. */
:is(
  body:not(:has(.sf-checkout)):not(:has(.sf-skeleton-checkout)):not(:has(.adm-app)) .sf-storefront-dm-sans,
  body.sf-storefront-dm-sans:not(:has(.sf-checkout)):not(:has(.sf-skeleton-checkout)):not(:has(.adm-app)),
  body:has(.sf-storefront-dm-sans):not(:has(.sf-checkout)):not(:has(.sf-skeleton-checkout)):not(:has(.adm-app)) :is(.sf-card-color-backdrop,[data-product-gallery])
) :is(div,span,p,a,button,input,select,option,textarea,label,legend,summary,li,dt,dd,table,th,td,caption,h1,h2,h3,h4,h5,h6,strong,del,b,em,i,small,blockquote,figcaption,code,pre,text):not(.material-symbols-rounded,.material-symbols-outlined,.material-icons,.sf-pdp-bnpl i,.sf-pdp-bnpl i *){
  font-family:var(--sf-dm-sans-family)!important;
}

/* Match the deliberately stronger existing collection-price selector without
   changing its compact sizes, numerical features or price calculation. */
:is(
  body:not(:has(.sf-checkout)):not(:has(.sf-skeleton-checkout)):not(:has(.adm-app)) .sf-storefront-dm-sans,
  body.sf-storefront-dm-sans:not(:has(.sf-checkout)):not(:has(.sf-skeleton-checkout)):not(:has(.adm-app)),
  body:has(.sf-storefront-dm-sans):not(:has(.sf-checkout)):not(:has(.sf-skeleton-checkout)):not(:has(.adm-app)) :is(.sf-card-color-backdrop,[data-product-gallery])
) .sf-collection .sf-collection-grid .sf-card.sf-card-commerce .sf-card-price :is(strong,del){
  font-family:var(--sf-dm-sans-family)!important;
}
