/* Shared customer copy only. Keep font sizes, layout, controls and headings.
   :is includes the existing explorer ID to beat the legacy global Playfair
   !important rule. Manrope has verified real 600/700 Bulgarian glyphs.
   Explicit families also cover children that the legacy universal rule targets. */
html:root body :is(
  .tb-pdp__desc, .tb-pdp__desc :is(p,li,span,a,em),
  .tb-pdp__desc div[style*="font-weight: bold"],
  .tb-perks span, .tb-perks p, .tb-feat__sub,
  .tb-cat__count, .tb-qs__note, .tb-model-hint,
  .tb-model-continuation [data-model-summary],
  .kg-meta p, .kg-status,
  .tp-stock, .tp-info details :is(p,li,td,span), .tp-dialog-note,
  .tb-pdp__label,
  .tp-status:not(.is-error):not(.is-success):not([role="alert"]), .tp-fixed-size,
  .zc-size, .zc-unit, .zc-total>span,
  .zc-shipping, .zc-guest, .zc-empty p, .zc-problem, .zc-status,
  .ch-note:not(.ch-error):not([role="alert"]), .ch-line p, .ch-legal, .ch-legal a, .ch-field>span,
  .ch-fields label, .ch-fields label>span, .ch-choice label,
  .ch-step>p, .ch-step details :is(p,li),
  .ch-check, .ch-status, .ch-receipt-info, .ch-receipt-info :is(p,span,li),
  .ch-fixed-total small,
  .ch-total-row>span,
  .a4-checkout>p, .a4-checkout>[role="status"],
  .sh-copy :is(p,li,td,span,a,em), .sh-news-date, .sh-news-card p,
  .sh-cookie-copy, .sh-cookie-copy :is(p,span,a),
  .source-text :is(p,li,td,span,a),
  .tb-panel-content>p,
  #tb-explorer .tb-explorer-context [data-active-caption],
  #tb-explorer .tb-explorer-context>div,
  #tb-explorer .tb-explorer-context [data-chosen-label],
  #tb-explorer .tb-explorer-count, #tb-explorer .tb-explorer-status,
  #tb-explorer [data-confirm-message], #tb-explorer .tb-explorer-feedback,
  #tb-explorer .tb-explorer-section-head p,
  #tb-explorer .tb-explorer-info :is(p,li,span),
  #tb-explorer .tb-explorer-card p,
  #tb-explorer .tb-explorer-details>p,
  #tb-explorer .tb-explorer-assistant>p,
  #tb-explorer .tb-explorer-summary span,
  #tb-explorer .tb-explorer-swipe-note,
  #tb-explorer .tb-explorer-scroll-hint,
  #tb-explorer .tb-explorer-photo [data-photo-count],
  #tb-explorer .tb-explorer-alternatives,
  #tb-explorer [data-block-id]:not(:has([data-size][aria-pressed="true"])) [data-block-stock],
  .vzs-lead, .vzs-help, .vzs-question, .vzs-alternatives p,
  .vzs-inner>p:not([role="alert"]),
  .a2-size .vzs-result-copy,
  .tbr p:not(.tbr-help p):not(.tbr-kicker),
  .tbr :is(.tbr-hint,.tbr-note,.tbr-res__label),
  .tbr :is(td,thead th),
  .tbr-opt:not([aria-pressed="true"]):not(:disabled) small
):not(:is(h1,h2,h3,h4,h5,h6,button,input,select,textarea,del,s)) {
  font-family:TechBGManrope,Arial,sans-serif!important;
  font-weight:600!important;
  color:#000000!important;
}

/* Nested emphasis uses a real bold face; never touch headings or controls. */
html:root body :is(.tb-pdp__desc,.sh-copy,.source-text,.tp-info,
  #tb-explorer .tb-explorer-info,.ch-legal) :is(strong,b) {
  font-family:TechBGManrope,Arial,sans-serif!important;
  font-weight:700!important;
  color:#000000!important;
}

/* Inverse surfaces and state messages already use contrasting colors.
   Preserve those colors and change only the thin decorative font. */
html:root body :is(
  #tb-explorer .vzs-result :is(.vzs-result-copy,.vzs-result-label),
  .vzs-modal-head span, .vzs-result-copy[style*="color"],
  .vzs-stock, .tbr-help p, .tb-foot__copy,
  .tbr-opt[aria-pressed="true"] small,
  .ch-error, .tp-status.is-error, .tp-status.is-success,
  #tb-explorer [data-block-stock][data-state]
) {
  font-family:TechBGManrope,Arial,sans-serif!important;
  font-weight:700!important;
}
html:root body #tb-explorer .vzs-result :is(.vzs-result-copy,.vzs-result-label) {
  color:#ffffff!important;
  opacity:1;
}
html:root body .tbr-opt:not([aria-pressed="true"]):not(:disabled) small {opacity:1}

/* The existing long size-help CTA overflows even before this patch at 320px.
   Allow its existing text to wrap; keep its font, size and behavior. */
@media(max-width:359px) {
  .tb-pdp [data-tb-size-help] {max-width:100%;white-space:normal}
}
