/*
 * Dalin V2 custom-font compatibility layer.
 *
 * A browser/app-store font override commonly uses a universal selector with
 * !important.  That also replaces icon ligature fonts, turning icons such as
 * "home" and "receipt_long" into visible text.  V2 themes also contain their
 * own font stacks, so the selected custom font was not applied consistently.
 *
 * Keep this file scoped to V2 storefronts. Authentication pages and the
 * original storefront remain untouched.
 */

@font-face {
    font-family: "Material Icons";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("/assets/common/fonts/material-icons.woff2") format("woff2");
}

@font-face {
    font-family: "Material Icons Outlined";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("/assets/common/fonts/material-icons-outlined.woff2") format("woff2");
}

@font-face {
    font-family: "Material Icons Round";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("/assets/common/fonts/material-icons-round.woff2") format("woff2");
}

@font-face {
    font-family: "Material Icons Sharp";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("/assets/common/fonts/material-icons-sharp.woff2") format("woff2");
}

@font-face {
    font-family: "Material Icons Two Tone";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("/assets/common/fonts/material-icons-two-tone.woff2") format("woff2");
}

/*
 * :where() intentionally gives these rules zero specificity. If a custom
 * font plug-in explicitly sets a font on body, its setting still wins. If it
 * only changes the browser/default font, V2 roots inherit that font instead
 * of forcing Segoe UI, Inter, Georgia, etc.
 */
:where(html.dl-v2-custom-font-active:has(body.seattle-body:not(.seattle-auth-body))) {
    /* Seattle declares its stack on :root, so body:inherit alone is not enough. */
    font-family: sans-serif !important;
}

:where(html.dl-v2-custom-font-active) :where(
    body:has(.nw-page),
    body:has(.nw-show-page),
    .nw-page,
    .nw-show-page,
    body.tokyo-theme,
    body.nagoya-theme,
    body.aopro-theme,
    body.floatcatalog-theme,
    body.ny-body.ny-store-body,
    body.mc-body.mc-store-body,
    body.uv-body:not(.uv-auth-body),
    body.os-body:not(.os-auth-body),
    body.ct-body:not(.ct-auth-body),
    body.seattle-body:not(.seattle-auth-body),
    body.hmyk-v2-body,
    #profile
) {
    font-family: inherit !important;
}

:where(html.dl-v2-custom-font-active) :where(
    .nw-page,
    .nw-show-page,
    body.tokyo-theme,
    body.nagoya-theme,
    body.aopro-theme,
    body.floatcatalog-theme,
    body.ny-body.ny-store-body,
    body.mc-body.mc-store-body,
    body.uv-body:not(.uv-auth-body),
    body.os-body:not(.os-auth-body),
    body.ct-body:not(.ct-auth-body),
    body.seattle-body:not(.seattle-auth-body),
    body.hmyk-v2-body,
    #profile
) :where(*) {
    font-family: inherit !important;
}

/* Material icon ligatures must never inherit a decorative/custom text font. */
.material-icons,
.material-icons::before,
.material-icons::after {
    font-family: "Material Icons" !important;
}

.material-icons-outlined,
.material-icons-outlined::before,
.material-icons-outlined::after {
    font-family: "Material Icons Outlined" !important;
}

.material-icons-round,
.material-icons-round::before,
.material-icons-round::after {
    font-family: "Material Icons Round" !important;
}

.material-icons-sharp,
.material-icons-sharp::before,
.material-icons-sharp::after {
    font-family: "Material Icons Sharp" !important;
}

.material-icons-two-tone,
.material-icons-two-tone::before,
.material-icons-two-tone::after {
    font-family: "Material Icons Two Tone" !important;
}

.material-icons,
.material-icons-outlined,
.material-icons-round,
.material-icons-sharp,
.material-icons-two-tone,
.material-symbols-outlined,
.material-symbols-rounded,
.material-symbols-sharp {
    font-weight: normal !important;
    font-style: normal !important;
    font-variant: normal !important;
    line-height: 1 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    display: inline-block;
    white-space: nowrap !important;
    word-wrap: normal !important;
    direction: ltr !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    -webkit-font-feature-settings: "liga" !important;
    font-feature-settings: "liga" !important;
}

.material-symbols-outlined {
    font-family: "Material Symbols Outlined" !important;
}

.material-symbols-rounded {
    font-family: "Material Symbols Rounded" !important;
}

.material-symbols-sharp {
    font-family: "Material Symbols Sharp" !important;
}

/* Generated Material ligatures used by V2 payment controls. */
.os-pay-zone .pay::after {
    font-family: "Material Icons Outlined" !important;
    font-weight: normal !important;
    font-style: normal !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    white-space: nowrap !important;
    -webkit-font-feature-settings: "liga" !important;
    font-feature-settings: "liga" !important;
}

/* Preserve the other icon systems used by V2 and shared plug-ins. */
.iconfont,
.iconfont::before,
.iconfont::after {
    font-family: "iconfont" !important;
}

.layui-icon,
.layui-icon::before,
.layui-icon::after {
    font-family: "layui-icon" !important;
}

.layui-icon-fly,
.layui-icon-fly::before,
.layui-icon-fly::after {
    font-family: "layui-icon-fly" !important;
}

.glyphicon,
.glyphicon::before,
.glyphicon::after {
    font-family: "Glyphicons Halflings" !important;
}

.fa:not(.fas):not(.far):not(.fal):not(.fad):not(.fab):not(.fa-solid):not(.fa-regular):not(.fa-light):not(.fa-duotone):not(.fa-brands) {
    font-family: "_mcy_font_p", "FontAwesome" !important;
}

.fas,
.fa-solid,
.fas::before,
.fas::after,
.fa-solid::before,
.fa-solid::after {
    font-family: "_mcy_font_p", "FontAwesome" !important;
}

.far,
.fa-regular,
.far::before,
.far::after,
.fa-regular::before,
.fa-regular::after {
    font-family: "_mcy_font_p", "FontAwesome" !important;
}

.fal,
.fa-light,
.fal::before,
.fal::after,
.fa-light::before,
.fa-light::after {
    font-family: "_mcy_font_p", "FontAwesome" !important;
}

.fad,
.fa-duotone,
.fad::before,
.fad::after,
.fa-duotone::before,
.fa-duotone::after {
    font-family: "_mcy_font_d", "FontAwesome" !important;
}

.fab,
.fa-brands,
.fab::before,
.fab::after,
.fa-brands::before,
.fa-brands::after {
    font-family: "_mcy_font_b", "FontAwesome" !important;
}

/* Card codes and order secrets stay monospaced for readability/copying. */
:where(
    .nw-page,
    .nw-show-page,
    body.tokyo-theme,
    body.nagoya-theme,
    body.aopro-theme,
    body.floatcatalog-theme,
    body.ny-body.ny-store-body,
    body.mc-body.mc-store-body,
    body.uv-body:not(.uv-auth-body),
    body.os-body:not(.os-auth-body),
    body.ct-body:not(.ct-auth-body),
    body.seattle-body:not(.seattle-auth-body),
    body.hmyk-v2-body,
    #profile
) :where(pre, code, kbd, samp, .card-display, .card-content, .card-content-no-password) {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace !important;
    letter-spacing: normal !important;
}

/* Wide decorative fonts must be allowed to shrink inside V2 flex/grid bars. */
:where(
    .nw-page,
    .nw-show-page,
    body.tokyo-theme,
    body.nagoya-theme,
    body.aopro-theme,
    body.floatcatalog-theme,
    body.ny-body.ny-store-body,
    body.mc-body.mc-store-body,
    body.uv-body:not(.uv-auth-body),
    body.os-body:not(.os-auth-body),
    body.ct-body:not(.ct-auth-body),
    body.seattle-body:not(.seattle-auth-body),
    body.hmyk-v2-body,
    #profile
) :where(nav, a, button, label, summary, input, select, textarea) {
    min-width: 0;
}

.os-store-sidebar nav button b,
.os-menu-brand b,
.os-user-chip b,
.os-window-title b,
.mc-navrow .mc-nav a,
.uv-nav a,
.seattle-brand > span,
.seattle-topnav a,
.ny-brand-copy,
.ny-bottom-nav a em {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 760px) {
    .mc-navrow .mc-nav a,
    .uv-mobile-dock a,
    .uv-mobile-dock button,
    .ny-bottom-nav a,
    .seattle-topnav a {
        line-height: 1.2;
    }
}
