/* Hongkun selector only. No site-wide typography or recommendation changes. */
.hk-selector-v2[data-hk-selector-v2], .hkbs-popup, .hkbs-entry-card {
  --hk-type-main: 36px;
  --hk-type-question: 29px;
  --hk-type-option: 18px;
  --hk-type-body: 16px;
  --hk-type-progress: 15px;
  --hk-type-help: 14px;
  --hk-type-control: 16px;
  --hk-type-result: 30px;
  --hk-type-label: 16px;
  --hk-readable-text: #f3f5f8;
  --hk-readable-muted: #becadb;
  --hk-readable-link: #ffb343;
  --hk-readable-bg: #172235;
  --hk-readable-panel: #1d2a3e;
  font-size: var(--hk-type-body);
  line-height: 1.6;
  font-weight: 400;
  color: var(--hk-readable-text);
}
.hk-selector-v2[data-hk-selector-v2] { background: var(--hk-readable-bg); }
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] {
  font-size: var(--hk-type-body); line-height: 1.6; color: var(--hk-readable-text);
}
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] :is(p, li, dd) {
  font-size: var(--hk-type-body); line-height: 1.6;
}
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] h2 {
  font-size: var(--hk-type-question); line-height: 1.3; font-weight: 600; letter-spacing: 0;
}
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] :is(h3,h4) { line-height: 1.3; }
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-question-title > p:last-child { font-size: var(--hk-type-body); line-height: 1.6; color: var(--hk-readable-muted); }
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-progress { align-items: center; flex-wrap: wrap; gap: 12px 20px; }
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-progress ol {
  flex: 1 1 auto; flex-wrap: wrap; gap: 12px 24px; min-width: 0;
}
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-progress li {
  font-size: var(--hk-type-progress); line-height: 1.5; color: var(--hk-readable-muted); min-width: 0;
}
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-progress .is-current { color: #fff; }
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-progress li > span:last-child { display: inline; }
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-step-number {
  font-size: var(--hk-type-progress); width: 32px; height: 32px; flex-basis: 32px;
}
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-progress-text { font-size: var(--hk-type-help); color: var(--hk-readable-muted); }
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-choice { height: 100%; align-items: center; }
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-choice strong {
  font-size: var(--hk-type-option); line-height: 1.35; font-weight: 600;
}
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-choice small {
  font-size: var(--hk-type-body); line-height: 1.6; color: var(--hk-readable-muted); margin-top: 8px;
}
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] :is(.hk-choice-number,.hk-eyebrow,.hk-preview,.hk-brand small,dt) {
  font-size: var(--hk-type-help); line-height: 1.5; letter-spacing: .02em;
}
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-field > label {
  font-size: var(--hk-type-label); line-height: 1.5; font-weight: 600;
}
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] :is(input[type=text],select,textarea) {
  font-size: var(--hk-type-control); line-height: 1.5; font-weight: 400; min-height: 48px;
}
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] :is(.hk-check,.hk-cover,summary) {
  font-size: var(--hk-type-control); line-height: 1.5; min-height: 48px;
}
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] :is(.hk-hint,.hk-navigation-note,.hk-undo,.hk-error,.hk-error-summary,.hk-footer-note,.hk-page-footer,.hk-tags li,.hk-pending,.hk-pending p) {
  font-size: var(--hk-type-help); line-height: 1.6;
}
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] :is(.hk-hint,.hk-navigation-note,.hk-footer-note,.hk-page-footer,.hk-pending,.hk-pending p,details > p,.hk-review-notes li) { color: var(--hk-readable-muted); }
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] :is(.hk-button,.hk-text-button) {
  font-size: var(--hk-type-control); line-height: 1.5; font-weight: 600; min-height: 48px;
}
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-recommendation-card h3 {
  font-size: 18px; line-height: 1.35; font-weight: 600; color: #dce5ef;
}
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-belt-title {
  font-size: var(--hk-type-result); line-height: 1.3; font-weight: 600;
}
/* The bundled CSS declares both of these font sizes !important. Limit the
   exception to those two properties; higher specificity handles everything else. */
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-suggestion-title {
  font-size: var(--hk-type-result) !important; line-height: 1.3; font-weight: 600;
}
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-specific-check {
  font-size: var(--hk-type-help) !important; line-height: 1.6; color: var(--hk-readable-muted);
}
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-cover-performance strong {
  font-size: 18px; line-height: 1.35; font-weight: 600;
}
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-product-link {
  font-size: var(--hk-type-control); line-height: 1.5; font-weight: 600; min-height: 44px;
  color: var(--hk-readable-link); overflow-wrap: anywhere;
}
.hk-selector-v2[data-hk-selector-v2] :is(.hkbs-lead,.hkbs-feedback) { color: var(--hk-readable-text); }
.hk-selector-v2[data-hk-selector-v2] .hkbs-lead { background: var(--hk-readable-panel); }
.hk-selector-v2[data-hk-selector-v2] :is(.hkbs-lead,.hkbs-feedback,.hkbs-completion) p {
  font-size: var(--hk-type-body); line-height: 1.6;
}
.hk-selector-v2[data-hk-selector-v2] .hkbs-completion p.hkbs-completion-status {
  font-size: var(--hk-type-help); letter-spacing: .02em; font-weight: 500; line-height: 1.5;
}
.hk-selector-v2[data-hk-selector-v2] :is(.hkbs-completion,.hkbs-feedback) h3 { font-size: 18px; line-height: 1.35; font-weight: 600; }
.hk-selector-v2[data-hk-selector-v2] :is(p.hkbs-privacy,p.hkbs-feedback-privacy,[role=status]) {
  font-size: var(--hk-type-help); line-height: 1.6; color: var(--hk-readable-muted);
}
.hk-selector-v2[data-hk-selector-v2] .fluentform :is(label,.ff-el-input--label) {
  font-size: var(--hk-type-label); line-height: 1.5; font-weight: 600;
}
.hk-selector-v2[data-hk-selector-v2] .fluentform :is(.ff-el-form-control,input,textarea,select) {
  font-size: var(--hk-type-control); line-height: 1.5; font-weight: 400; min-height: 48px;
}
.hk-selector-v2[data-hk-selector-v2] .fluentform :is(.error,.text-danger,.ff-message-success) {
  font-size: var(--hk-type-help); line-height: 1.6;
}
.hk-selector-v2[data-hk-selector-v2] :is(.fluentform .ff-btn-submit,[data-hkbs-feedback-toggle]) {
  font-size: var(--hk-type-control); line-height: 1.5; font-weight: 600; min-height: 48px;
}
.hkbs-entry-card > h2 { font-size: var(--hk-type-main); line-height: 1.3; font-weight: 600; }
/* Existing optional page wrappers use !important sizes. These precise title
   overrides keep their actual H2 tags and leave the page's H1 untouched. */
.hk-article-shell.hk-selector-page-v2 .hk-selector-frame > h2.hk-selector-label.wp-block-heading,
.hk-article-shell.hk-selector-page .hk-selector-tool-heading > h2.wp-block-heading {
  font-size: 36px !important; line-height: 1.3 !important; font-weight: 600 !important;
}
@media (max-width:767px) {
  .hk-selector-v2[data-hk-selector-v2], .hkbs-popup, .hkbs-entry-card {
    --hk-type-main: 28px; --hk-type-question: 24px; --hk-type-option: 17px;
    --hk-type-body: 15px; --hk-type-progress: 14px; --hk-type-result: 25px; --hk-type-label: 15px;
  }
  .hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-progress { align-items: flex-start; }
  .hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-progress ol { gap: 12px 16px; }
  .hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-progress li { flex: 1 1 140px; }
  .hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-progress-text { flex-basis: 100%; }
  .hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] .hk-cover-performance strong { font-size: 17px; }
  .hk-article-shell.hk-selector-page-v2 .hk-selector-frame > h2.hk-selector-label.wp-block-heading,
  .hk-article-shell.hk-selector-page .hk-selector-tool-heading > h2.wp-block-heading { font-size: 28px !important; }
}
/* Raise control boundary contrast without changing the orange selected state. */
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] :is(input[type=text],select,textarea):not([aria-invalid=true]),
.hk-selector-v2[data-hk-selector-v2] [data-hkbs-lead] .fluentform .ff-el-form-control,
.hk-selector-v2[data-hk-selector-v2] [data-hkbs-lead] .fluentform .ff-el-form-control:focus,
.hk-selector-v2[data-hk-selector-v2] [data-hkbs-feedback] .fluentform .ff-el-form-control,
.hk-selector-v2[data-hk-selector-v2] [data-hkbs-feedback] .fluentform .ff-el-form-control:focus,
.hk-selector-v2[data-hk-selector-v2] [data-hk-selector-light] :is(.hk-choice,.hk-cover):not(:has(input:checked)),
.hk-selector-v2[data-hk-selector-v2] [data-hkbs-feedback-toggle] { border-color: #7185a0; }
