/* Language-specific fit: retain B88 yellow, glass and imagery. */
.language-fallback { display: flex; justify-content: center; gap: 20px; padding: 20px; }
.language-select--legal { flex: 0 0 auto; position: relative; }
.language-select--legal select { color: #fff; background: #202325; border: 1px solid #4b4d4c; border-radius: 10px; min-height: 42px; padding: 8px 12px; cursor: pointer; font: 600 13px Arial, sans-serif; }
.language-select--legal .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
html:lang(ms) .desktop-nav a { padding-inline: 10px; font-size: 11px; }
html:lang(ms) .hero-banner__title { font-size: clamp(32px, 4.7vw, 90px); }
html:lang(ms) .quick-path__label { font-size: clamp(12px, 1.1vw, 18px); }
html:lang(ms) .quick-path strong { font-size: clamp(13px, 1.15vw, 18px); }
html:lang(ms) .quick-path small { overflow-wrap: anywhere; }
html:lang(ms) .guide-hero h1,
html:lang(ms) .games-page-hero h1 { font-size: clamp(44px, 6vw, 100px); }
html:lang(ms) .legal-nav { gap: 14px; }
html:lang(ms) .legal-hero h1 {
  font-size: clamp(26px, 7vw, 64px);
  line-height: 1.08;
  overflow-wrap: anywhere;
}
html:lang(ms) .legal-content :is(h2, h3) { overflow-wrap: anywhere; }
html:lang(zh) {
  --body: 'Microsoft YaHei', 'PingFang SC', 'Noto Sans CJK SC', Arial, sans-serif;
  --display: 'Microsoft YaHei', 'PingFang SC', 'Noto Sans CJK SC', sans-serif;
}
html:lang(zh) body { font-family: var(--body); }
html:lang(zh) .play-ribbon span { font-weight: 700; line-height: 1.2; }
html:lang(zh) :is(h1,h2,h3,h4,.hero-banner__title,.play-ribbon,.hero-banner__eyebrow,.guide-eyebrow,.section-kicker,.guide-hero__emblem strong,.footer-directory h3) {
  font-family: 'Microsoft YaHei', 'PingFang SC', 'Noto Sans CJK SC', sans-serif;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.2;
}
html:lang(zh) .hero-banner__title { font-size: clamp(30px, 4.4vw, 82px); }
html:lang(zh) .hero-banner__content { max-width: 52%; }
html:lang(zh) .guide-hero h1,
html:lang(zh) .games-page-hero h1 { font-size: clamp(42px, 6vw, 88px); }
html:lang(zh) .section-heading h2 { font-size: clamp(38px, 5.3vw, 82px); }
html:lang(zh) .game-poster h3,
html:lang(zh) .games-directory-card h3 { font-size: clamp(23px, 2.2vw, 34px); }
html:lang(zh) .hero-banner__text { line-height: 1.7; }
html:lang(zh) .legal-content p,
html:lang(zh) .legal-content li { line-height: 1.85; }

/* Fit each Chinese VIP phrase in the desktop copy column without crowding the gift. */
@media (min-width: 761px) {
  html:lang(zh) .vip-showcase h3 {
    font-size: clamp(32px, 4vw, 56px);
    font-weight: 650;
    line-height: 1.25;
    letter-spacing: 0;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  html:lang(zh) .vip-showcase__index {
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: .08em;
  }

  html:lang(zh) .vip-showcase__copy > p {
    color: #cbd0cd;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: .01em;
    line-break: strict;
    text-wrap: balance;
  }
}

@media (max-width: 760px) {
  html:lang(ms) .hero-banner__title { font-size: clamp(30px, 7.4vw, 54px); }
  html:lang(zh) .hero-banner__title { font-size: clamp(28px, 7.4vw, 48px); }
  html:lang(zh) .hero-banner__content { max-width: none; }
  html:lang(ms) .hero-banner__text { font-size: 12px; line-height: 1.6; }
  html:lang(ms) .quick-path a { min-width: 150px; }
  .legal-nav { flex-wrap: wrap; gap: 12px; padding-block: 12px; }
  .legal-nav .back-link { order: 3; width: 100%; text-align: center; }
}

/* Chinese mobile type: readable supporting copy and phrase-sized headings.
   Keep these overrides local to CN; English/Malay and desktop retain their scale. */
@media (max-width: 760px) {
  html:lang(zh) :is(.guide-hero, .games-page-hero) h1 {
    font-size: clamp(32px, 8.4vw, 40px);
    font-weight: 650;
    line-height: 1.3;
    letter-spacing: 0;
    text-wrap: balance;
  }

  html:lang(zh) main h2:not(.visually-hidden) {
    font-size: clamp(28px, 7.6vw, 36px);
    font-weight: 650;
    line-height: 1.3;
    letter-spacing: 0;
    text-wrap: balance;
  }

  html:lang(zh) main h3,
  html:lang(zh) :is(.game-poster, .games-directory-card) h3 {
    font-size: clamp(20px, 5.4vw, 24px);
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0;
    text-wrap: balance;
  }

  html:lang(zh) .vip-showcase h3 {
    font-size: clamp(28px, 7.6vw, 36px);
    font-weight: 650;
    line-height: 1.35;
    letter-spacing: 0;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  html:lang(zh) .guide-hero__emblem strong {
    font-size: clamp(24px, 6.5vw, 30px);
    font-weight: 600;
    line-height: 1.4;
  }

  html:lang(zh) :is(.section, .final-cta, .games-page-hero, .games-directory, .guide-hero__copy, .guide-content) p:not(:is([class*="eyebrow"], [class*="kicker"])),
  html:lang(zh) .guide-checklist li {
    color: #cbd0cd;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: .01em;
    line-break: strict;
    overflow-wrap: break-word;
  }

  html:lang(zh) .vip-showcase .vip-showcase__copy > p {
    margin-block: 16px 22px;
    color: #d4d8d5;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.8;
  }

  html:lang(zh) :is(.hero-banner__text, .faq-list summary) {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.75;
  }
  html:lang(zh) .hero-banner__text { color: #d4d8d5; }

  html:lang(zh) :is(.vip-kicker, .vip-showcase__index, .games-heading__eyebrow, .guide-eyebrow, .trust-hub__eyebrow, .games-directory-card__tag) {
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .06em;
  }

  html:lang(zh) :is(.hero-banner__fineprint, .guide-hero__emblem > small, .games-page-footer__legal, .footer-legal, .responsible-bar__inner) {
    color: #bac2bd;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: .01em;
  }

  html:lang(zh) :is(.footer-contact-card p, .footer-access-card p, .footer-brand p) {
    color: #cbd0cd;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.75;
  }

  html:lang(zh) :is(.guide-text-link, .games-directory-card__link, .media-link, .trust-hub-card__link, .vip-text-link, .footer-link-group a, .games-page-footer__inner nav a, .guide-switcher a) {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 0;
  }

  html:lang(zh) :is(.button, .hero-banner__cta) {
    min-height: 44px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .01em;
  }
  html:lang(zh) .site-header .button--small { font-size: 13px; }
  html:lang(zh) .language-select select { font-size: 13px; }
  html:lang(zh) .mobile-cta > span { font-size: 12px; font-weight: 500; }

  html:lang(zh) :is(.footer-contact-card span, .footer-access-card__eyebrow) {
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: .03em;
  }
  html:lang(zh) .footer-access-card strong {
    font-size: 21px;
    font-weight: 600;
    line-height: 1.4;
  }
  html:lang(zh) .footer-access-card > span:not(.footer-access-card__eyebrow):not(.footer-access-card__action) {
    color: #d4d8d5;
    font-size: 13px;
    line-height: 1.7;
  }
  html:lang(zh) .footer-access-card__action {
    min-height: 40px;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
  }
}

/* Chinese game browsing: legible labels and descriptions at every breakpoint.
   Keep headline sizing, artwork, motion and other language layouts unchanged. */
html:lang(zh) .category-runway a {
  min-height: 48px;
  padding: 13px 16px;
  color: #e5e9e6;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  white-space: nowrap;
}
html:lang(zh) .category-runway__label {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .03em;
}
html:lang(zh) .games-page-hero__copy > p:not(.games-heading__eyebrow),
html:lang(zh) .games-section .games-heading__intro > p,
html:lang(zh) .games-directory .games-directory__heading > p {
  color: #cbd0cd;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .01em;
}
html:lang(zh) .games-section .game-poster .game-panel__copy p,
html:lang(zh) .games-directory .games-directory-card p,
html:lang(zh) .games-directory .games-page-note p {
  color: #cbd0cd;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .01em;
  line-break: strict;
}
html:lang(zh) :is(.games-heading__eyebrow, .games-directory-card__tag),
html:lang(zh) .games-page-note > div > span,
html:lang(zh) .games-page-hero__frame figcaption {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .03em;
}
html:lang(zh) .games-page-hero__actions { flex-wrap: wrap; }
html:lang(zh) .games-page-hero__actions > span,
html:lang(zh) .games-directory-page .games-page-footer__legal,
html:lang(zh) .games-directory-page .mobile-cta > span {
  color: #bec7c1;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: .01em;
}
html:lang(zh) .games-section .game-poster .media-link,
html:lang(zh) .games-directory .games-directory-card__link,
html:lang(zh) .games-page-note > a,
html:lang(zh) .games-directory-page .games-page-footer__inner nav a,
html:lang(zh) .games-page-back {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0;
}
html:lang(zh) .games-page-hero__actions .button,
html:lang(zh) .games-section .games-heading__cta {
  min-height: 48px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
}
html:lang(zh) .games-section .game-poster__number,
html:lang(zh) .card-glow-toggle {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
}
