/*
 * Frontend public primitives
 *
 * 供V2页面与Site Shell等非PageModule消费者共同使用。每个Primitive只在这里
 * 定义一次；V2生产Bundle由构建脚本读取本文件，Legacy页面可单独加载本文件。
 */

.ui-eyebrow {
  --ui-eyebrow-resolved-color: var(
    --page-module-eyebrow-color,
    var(--page-module-accent, var(--ui-color-accent, #06b6d4))
  );
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  margin-bottom: var(--ui-space-4, 16px);
  padding: var(--ui-space-1, 4px) var(--ui-space-3, 12px);
  color: var(--ui-eyebrow-resolved-color);
  background: color-mix(
    in srgb,
    var(--ui-eyebrow-resolved-color) 12%,
    transparent
  );
  border-radius: var(--ui-radius-xs, 4px);
  font-size: var(--page-module-eyebrow-size, var(--ui-type-eyebrow-size, 12px));
  font-weight: var(--ui-type-eyebrow-weight, 600);
  line-height: var(--ui-type-eyebrow-leading, 1.5);
  letter-spacing: var(--ui-type-eyebrow-tracking, .18em);
  text-transform: uppercase;
}

/* Mobile reading scale, explicitly opted into by non-home page compositions.
 * Public typography remains here, never in page-specific module overrides.
 * The priority applies only to this mobile policy: configured smaller module
 * titles still win through min(); desktop, unmarked pages and site shell do not
 * participate. Metadata, buttons and numeric metrics keep their roles.
 */
@media (max-width: 767px) {
  [data-ui-mobile-type="compact"] {
    --ui-type-body-size: 16px;
    --ui-type-body-leading: 1.75;
    font-size: 16px;
  }

  [data-ui-mobile-type="compact"] h2 {
    font-size: min(var(--page-module-title-size, 20px), 20px) !important;
    line-height: 1.45;
  }

  [data-ui-mobile-type="compact"] h3 {
    font-size: min(var(--page-module-card-title-size, var(--ui-type-card-title-size, 18px)), 18px) !important;
    line-height: 1.5;
  }

  [data-ui-mobile-type="compact"] :is(h4, h5, h6) {
    font-size: 16px !important;
    line-height: 1.5;
  }

  [data-ui-mobile-type="compact"] h4 { font-weight: 700 !important; }
  [data-ui-mobile-type="compact"] h5 { font-weight: 600 !important; }
  [data-ui-mobile-type="compact"] h6 { font-weight: 500 !important; }

  [data-ui-mobile-type="compact"] .ui-text-body {
    font-size: 16px;
    line-height: 1.75;
  }

  [data-ui-mobile-type="compact"] [data-ui-mobile-hero="subtitle"] {
    font-size: min(var(--ui-mobile-hero-copy-size, 16px), 16px) !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
  }

  [data-ui-mobile-type="compact"] [data-ui-mobile-hero="description"] {
    font-size: min(var(--ui-mobile-hero-copy-size, 14px), 14px) !important;
    font-weight: 400 !important;
    line-height: 1.8 !important;
  }

  [data-ui-mobile-type="compact"] [data-ui-mobile-hero="actions"] {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center;
    gap: 10px !important;
  }

  [data-ui-mobile-type="compact"] [data-ui-mobile-hero="actions"] > .ui-button {
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0;
    max-width: 100%;
    min-height: 44px;
    padding-inline: 16px !important;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .site-ui-v2 .ui-content-document,
  .site-ui-v2 .ui-content-document :is(p, li, dd, td, th) {
    font-size: 14px !important;
    line-height: 1.8;
  }

  .site-ui-v2 .ui-content-document :is(p, li, dd, td, th) :is(span, font, a, strong, b, em, i) {
    font-size: inherit !important;
  }

  .site-ui-v2 .ui-content-document :is(p, ul, ol, blockquote, pre) {
    margin-bottom: 16px;
  }

  .site-ui-v2 .ui-content-document li + li {
    margin-top: 6px;
  }

  .site-ui-v2 .ui-content-document :is(td, th) p {
    margin-bottom: 0;
  }

  [data-ui-mobile-type="compact"] :is(.ui-eyebrow, .page-module__eyebrow) {
    font-size: min(var(--page-module-eyebrow-size, 11px), 11px) !important;
    line-height: 1.5;
    letter-spacing: .11em;
    min-height: 24px;
    padding: 3px 10px;
    margin-bottom: 12px;
  }

  [data-ui-mobile-type="compact"] .page-module-faq__item summary {
    font-size: min(var(--page-module-card-title-size, 16px), 16px);
    font-weight: min(var(--page-module-card-title-weight, 600), 600);
    line-height: 1.6;
    padding: 16px 44px 16px 16px;
  }

  [data-ui-mobile-type="compact"] .page-module-faq__answer {
    padding: 0 16px 16px;
    line-height: 1.8;
  }

  [data-ui-mobile-type="compact"] .ui-information-matrix[data-ui-information-matrix-appearance="content"] .ui-information-matrix__primary {
    font-size: min(var(--page-module-card-title-size, 15px), 15px);
    font-weight: min(var(--page-module-card-title-weight, 600), 600);
    line-height: 1.65;
    min-width: calc(5em + 28px);
    padding: 14px;
  }

  [data-ui-mobile-type="compact"] .ui-information-matrix[data-ui-information-matrix-appearance="content"] .ui-information-matrix__detail {
    font-size: min(var(--page-module-card-description-size, 14px), 14px);
    line-height: 1.8;
    padding: 14px;
  }
}
