:root {
  --bb-language-gold: var(--bbp-gold, var(--bbh-shell-bronze, #9a6a2f));
  --bb-language-bronze: var(--bbp-bronze, #5a3e24);
  --bb-language-paper: var(--bbp-paper, var(--bbh-shell-paper, #fffdf9));
  --bb-language-cream: var(--bbp-cream, #efe6d8);
  --bb-language-line: rgba(90, 62, 36, 0.28);
}

.bb-language-switcher {
  align-items: center;
  background: rgba(255, 253, 249, 0.82);
  border: 1px solid var(--bb-language-line);
  border-radius: 999px;
  box-shadow: 0 4px 18px rgba(58, 42, 33, 0.06);
  display: inline-flex;
  flex: 0 0 auto;
  gap: 2px;
  padding: 3px;
}

.bb-language-switcher__button {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: var(--bb-language-bronze);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--font-body-family, "DM Sans", sans-serif);
  font-size: 12px;
  font-weight: 700;
  justify-content: center;
  letter-spacing: 0.04em;
  line-height: 1;
  min-height: 44px;
  min-width: 44px;
  padding: 8px 10px;
  transition: background 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.bb-language-switcher__button[aria-pressed="true"] {
  background: var(--bb-language-bronze);
  box-shadow: 0 4px 12px rgba(58, 42, 33, 0.16);
  color: var(--bb-language-paper);
}

.bb-language-switcher__button:hover:not([aria-pressed="true"]) {
  background: var(--bb-language-cream);
}

.bb-language-switcher__button:focus-visible {
  outline: 2px solid var(--bb-language-gold);
  outline-offset: 2px;
}

.bb-language-switcher__divider {
  background: var(--bb-language-line);
  height: 18px;
  width: 1px;
}

.bb-language-switcher--header {
  margin-right: 8px;
}

.bb-language-switcher--mobile {
  margin: 16px 20px 8px;
  width: max-content;
}

.bb-language-switcher--mobile .bb-language-switcher__button {
  min-height: 44px;
  min-width: 52px;
}

html[data-bb-language="zh"] {
  --bb-zh-sans: "PingFang SC", "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", "Hiragino Sans GB", "Heiti SC", Arial, sans-serif;
  --bb-zh-serif: "Songti SC", "STSong", "Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif CN", "SimSun", serif;
}

html[data-bb-language="zh"] body,
html[data-bb-language="zh"] button,
html[data-bb-language="zh"] input,
html[data-bb-language="zh"] select,
html[data-bb-language="zh"] textarea,
html[data-bb-language="zh"] .bb-premium-home,
html[data-bb-language="zh"] .bbp-page,
html[data-bb-language="zh"] .bbp-locator,
html[data-bb-language="zh"] .bbp-legal-page,
html[data-bb-language="zh"] .bbp-collection-index,
html[data-bb-language="zh"] .bbp-not-found,
html[data-bb-language="zh"] .bbc-commerce,
html[data-bb-language="zh"] .bbp-journal,
html[data-bb-language="zh"] .bbp-article,
html[data-bb-language="zh"] [class*="template-customers"] #MainContent,
html[data-bb-language="zh"] #easystore-section-header,
html[data-bb-language="zh"] .bbh-global-footer {
  font-family: var(--bb-zh-sans);
  font-kerning: normal;
  letter-spacing: 0;
}

html[data-bb-language="zh"] .bbp-page--visit .bellabloom-info-container {
  font-family: var(--bb-zh-sans) !important;
}

html[data-bb-language="zh"] h1:not([translate="no"]):not([data-bb-i18n-lock]),
html[data-bb-language="zh"] h2:not([translate="no"]):not([data-bb-i18n-lock]),
html[data-bb-language="zh"] h3:not([translate="no"]):not([data-bb-i18n-lock]),
html[data-bb-language="zh"] h4:not([translate="no"]):not([data-bb-i18n-lock]) {
  font-family: var(--bb-zh-serif);
  font-kerning: normal;
  font-weight: 600;
  letter-spacing: 0;
  line-break: strict;
  line-height: 1.18;
  overflow-wrap: break-word;
  text-wrap: balance;
  word-break: normal;
}

html[data-bb-language="zh"] :is(
  .bb-account-header__eyebrow,
  .bb-membership-summary__eyebrow,
  .bb-rewards-summary__eyebrow,
  .bbc-eyebrow,
  .bbc-order-inclusions__eyebrow,
  .bbc-product-card__eyebrow,
  .bbh-eyebrow,
  .bbh-global-mobile-nav__eyebrow,
  .bbp-eyebrow,
  .bbp-legal-page__eyebrow,
  .bbp-not-found__eyebrow,
  .bbp-rewards-section__eyebrow,
  .bbp-rewards-simple-eyebrow
) {
  font-family: var(--bb-zh-sans);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.55;
  text-transform: none;
}

/* Restrained Chinese display scale: CJK characters fill a much larger visual
   square than the Latin display face, so translated headings use their own
   responsive scale without changing English, body copy or control sizing. */
html[data-bb-language="zh"] .bb-premium-home .bbh-hero h1:not([translate="no"]):not([data-bb-i18n-lock]) {
  font-size: clamp(32px, 8.8vw, 39px);
  letter-spacing: 0;
  line-height: 1.16;
  max-width: 10.6em;
}

html[data-bb-language="zh"] .bb-premium-home h2:not([translate="no"]):not([data-bb-i18n-lock]) {
  font-size: clamp(30px, 7.8vw, 38px);
  letter-spacing: 0;
  line-height: 1.18;
}

html[data-bb-language="zh"] .bb-premium-home .bbh-moment-card__copy strong {
  font-family: var(--bb-zh-serif);
  font-size: clamp(26px, 6.5vw, 32px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.2;
  text-wrap: balance;
}

html[data-bb-language="zh"] .bb-premium-home .bbh-lead,
html[data-bb-language="zh"] .bb-premium-home .bbh-section-heading--split > p,
html[data-bb-language="zh"] .bb-premium-home .bbh-next__card > p:not(.bbh-eyebrow) {
  line-break: strict;
  line-height: 1.7;
  overflow-wrap: break-word;
  word-break: normal;
}

html[data-bb-language="zh"] :is(
  .bbp-standard-page__header,
  .bbp-locator__hero,
  .bbp-legal-page__header,
  .bbp-page-hero,
  .bbp-rewards-simple-hero,
  .bbp-journal__header,
  .template-store-locator .store-locator-heading,
  .bbp-collection-index__header,
  .bbp-not-found,
  .bbc-search__header,
  [class*="template-customers"] .customer
) h1:not([translate="no"]):not([data-bb-i18n-lock]),
html[data-bb-language="zh"] .bbp-page__content > h1:first-child:not([translate="no"]):not([data-bb-i18n-lock]) {
  font-size: clamp(34px, 9vw, 42px);
  letter-spacing: 0;
  line-height: 1.18;
}

html[data-bb-language="zh"] :is(
  .bbp-standard-page__empty,
  .bbp-locator__locations > header,
  .bbp-locator__empty,
  .bbp-legal-page__content,
  .bbp-legal-page__help,
  .bbp-visit-section-heading,
  .bbp-visit-prep,
  .bbp-rewards-section,
  .bbp-rewards-simple-heading,
  .bbp-rewards-tier-compare,
  .bbp-rewards-details__heading,
  .bbp-rewards-details__section,
  .bbp-journal__empty
) h2:not([translate="no"]):not([data-bb-i18n-lock]),
html[data-bb-language="zh"] .bbp-page__content > h2:not([translate="no"]):not([data-bb-i18n-lock]) {
  font-size: clamp(27px, 7.5vw, 35px);
  letter-spacing: 0;
  line-height: 1.2;
}

html[data-bb-language="zh"] #easystore-section-header .bbh-global-nav a,
html[data-bb-language="zh"] #easystore-section-header .header__submenu .header__menu-item,
html[data-bb-language="zh"] :is(.bbh-button, .bbp-button, .bbc-button, .bb-language-switcher__button) {
  font-family: var(--bb-zh-sans);
  letter-spacing: 0;
  line-height: 1.4;
}

html[data-bb-language="zh"] #easystore-section-header .bbh-global-mobile-nav a {
  font-family: var(--bb-zh-serif);
  font-size: clamp(20px, 5.5vw, 24px);
  letter-spacing: 0;
  line-height: 1.35;
}

@media screen and (min-width: 750px) {
  html[data-bb-language="zh"] .bb-premium-home .bbh-hero h1:not([translate="no"]):not([data-bb-i18n-lock]) {
    font-size: clamp(38px, 4.7vw, 44px);
    line-height: 1.17;
    max-width: 10.8em;
  }

  html[data-bb-language="zh"] .bb-premium-home h2:not([translate="no"]):not([data-bb-i18n-lock]) {
    font-size: clamp(34px, 3.8vw, 48px);
    line-height: 1.18;
  }

  html[data-bb-language="zh"] .bb-premium-home .bbh-moment-card__copy strong {
    font-size: clamp(30px, 2.8vw, 40px);
  }

  html[data-bb-language="zh"] :is(
    .bbp-standard-page__header,
    .bbp-locator__hero,
    .bbp-legal-page__header,
    .bbp-page-hero,
    .bbp-rewards-simple-hero,
    .bbp-journal__header,
    .template-store-locator .store-locator-heading,
    .bbp-collection-index__header,
    .bbp-not-found,
    .bbc-search__header,
    [class*="template-customers"] .customer
  ) h1:not([translate="no"]):not([data-bb-i18n-lock]),
  html[data-bb-language="zh"] .bbp-page__content > h1:first-child:not([translate="no"]):not([data-bb-i18n-lock]) {
    font-size: clamp(40px, 3.9vw, 58px);
    line-height: 1.17;
  }

  html[data-bb-language="zh"] :is(
    .bbp-standard-page__empty,
    .bbp-locator__locations > header,
    .bbp-locator__empty,
    .bbp-legal-page__content,
    .bbp-legal-page__help,
    .bbp-visit-section-heading,
    .bbp-visit-prep,
    .bbp-rewards-section,
    .bbp-rewards-simple-heading,
    .bbp-rewards-tier-compare,
    .bbp-rewards-details__heading,
    .bbp-rewards-details__section,
    .bbp-journal__empty
  ) h2:not([translate="no"]):not([data-bb-i18n-lock]),
  html[data-bb-language="zh"] .bbp-page__content > h2:not([translate="no"]):not([data-bb-i18n-lock]) {
    font-size: clamp(32px, 3vw, 44px);
    line-height: 1.2;
  }

}

@media screen and (min-width: 990px) {
  html[data-bb-language="zh"] .bb-premium-home .bbh-hero h1:not([translate="no"]):not([data-bb-i18n-lock]) {
    font-size: clamp(44px, 3.5vw, 54px);
    line-height: 1.16;
    max-width: 11em;
  }
}

@media screen and (max-width: 389px) {
  html[data-bb-language="zh"] .bb-premium-home .bbh-hero h1:not([translate="no"]):not([data-bb-i18n-lock]) {
    font-size: clamp(31px, 9.2vw, 35px);
    max-width: 9.4em;
  }

  html[data-bb-language="zh"] .bb-premium-home h2:not([translate="no"]):not([data-bb-i18n-lock]) {
    font-size: clamp(28px, 8vw, 31px);
  }
}

/* Editorial copy is intentionally excluded from automatic translation. Its
   lock sits on the content container, not necessarily on every nested
   heading, so restore the established theme typography at that boundary. */
html[data-bb-language="zh"] [data-bb-i18n-editorial-boundary][data-bb-i18n-lock][translate="no"] :is(h1, h2, h3, h4) {
  font-family: var(--font-heading-family);
  font-kerning: auto;
  font-style: var(--font-heading-style);
  font-weight: var(--font-heading-weight);
  letter-spacing: 0.06rem;
  line-break: auto;
  line-height: 1.3;
  overflow-wrap: normal;
  text-wrap: wrap;
  word-break: normal;
}

html[data-bb-language="zh"] [data-bb-i18n-editorial-boundary][data-bb-i18n-lock][translate="no"].bbp-page__content :is(h1, h2, h3, h4) {
  font-family: var(--bbp-serif);
  font-weight: 600;
  letter-spacing: -0.025em;
}

html[data-bb-language="zh"] [data-bb-i18n-editorial-boundary][data-bb-i18n-lock][translate="no"].bbp-page__content h1 {
  font-size: clamp(42px, 6vw, 72px);
  line-height: 0.96;
}

html[data-bb-language="zh"] [data-bb-i18n-editorial-boundary][data-bb-i18n-lock][translate="no"].bbp-page__content h2 {
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.02;
}

html[data-bb-language="zh"] [data-bb-i18n-editorial-boundary][data-bb-i18n-lock][translate="no"].bbp-page__content h3 {
  font-size: clamp(22px, 3vw, 28px);
}

html[data-bb-language="zh"] [data-bb-i18n-editorial-boundary][data-bb-i18n-lock][translate="no"].bbp-legal-page__content :is(h2, h3, h4) {
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.08;
}

html[data-bb-language="zh"] [data-bb-i18n-editorial-boundary][data-bb-i18n-lock][translate="no"].bbp-legal-page__content h2 {
  font-size: clamp(30px, 3.8vw, 42px);
}

html[data-bb-language="zh"] [data-bb-i18n-editorial-boundary][data-bb-i18n-lock][translate="no"].bbp-legal-page__content h3 {
  font-size: clamp(24px, 3vw, 30px);
}

html[data-bb-language="zh"] [data-bb-i18n-editorial-boundary][data-bb-i18n-lock][translate="no"].bbp-article__content :is(h2, h3, h4) {
  font-family: var(--bbp-serif);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.05;
}

html[data-bb-language="zh"] [data-bb-i18n-editorial-boundary][data-bb-i18n-lock][translate="no"].bbp-article__content h2 {
  font-size: clamp(32px, 5vw, 48px);
}

html[data-bb-language="zh"] [data-bb-i18n-editorial-boundary][data-bb-i18n-lock][translate="no"].bbp-article__content h3 {
  font-size: clamp(26px, 4vw, 36px);
}

.bb-language-switcher--footer {
  background: rgba(255, 253, 249, 0.08);
  border-color: rgba(239, 230, 216, 0.32);
  box-shadow: none;
  margin-top: 18px;
}

.bb-language-switcher--footer .bb-language-switcher__button {
  color: var(--bb-language-cream);
}

.bb-language-switcher--footer .bb-language-switcher__button[aria-pressed="true"] {
  background: var(--bb-language-cream);
  color: var(--bb-language-bronze);
}

.bb-language-switcher--footer .bb-language-switcher__button:hover:not([aria-pressed="true"]) {
  background: rgba(239, 230, 216, 0.14);
}

.bb-language-switcher--footer .bb-language-switcher__divider {
  background: rgba(239, 230, 216, 0.32);
}

@media screen and (max-width: 989px) {
  .bb-language-switcher--header {
    display: none;
  }
}

@media screen and (min-width: 990px) {
  .bb-language-switcher--mobile {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bb-language-switcher__button {
    transition: none;
  }
}
