/* Inter 4.1 from the official Inter distribution, self-hosted, real static
   Medium/SemiBold and italics. No global font variable or size changes.
   The second ID specificity defeats the legacy universal Playfair !important
   rule only for the semantic copy selectors below. */
@font-face{font-family:Inter;src:url('/fonts/techbg-inter-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url('/fonts/techbg-inter-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url('/fonts/techbg-inter-500-italic.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:Inter;src:url('/fonts/techbg-inter-600-italic.woff2') format('woff2');font-weight:600;font-style:italic;font-display:swap}

/* Narrative copy. Prices and names retain their current typography, including
   in mixed components. Keep the previous readable-copy stylesheet intact. */
html:root body :is(
  .tb-pdp__desc :is(p,li,td,span,a,em,strong,b),
  .tp-info details :is(p,li,td,span,a,em,strong,b),
  .sh-copy :is(p,li,td,span,a,em,strong,b),
  .sh-news-date,.sh-news-card>p,
  .source-text,.source-text :is(p,li,td,span,a,em),
  .tb-perks span,.tb-perks p,
  .sh-cookie-copy,.sh-cookie-copy :is(p,span,a),
  .tb-panel-content>p,
  .tbr p:not(.tbr-kicker),.tbr :is(.tbr-hint,.tbr-note,.tbr-res__label,td,thead th),
  .zc-shipping,.zc-guest,.zc-empty p,.zc-total>span,
  .ch-note,.ch-legal,.ch-legal a,.ch-step>p,.ch-step details :is(p,li),
  .ch-fixed-total small,.ch-total-row>span,
  .a4-checkout>p,.a4-checkout>[role="status"]
):not(#tb-x):not(#tb-inter-font-priority):not(:is(
  h1,h2,h3,h4,h5,h6,h1 *,h2 *,h3 *,h4 *,h5 *,h6 *,
  button,button *,input,select,textarea,nav,nav *,
  .tb-card__name,.tb-card__name *,.tb-pdp__title,.tb-pdp__title *,
  .tb-foot__brand,.tb-logo,.sh-brand,.sh-footer-brand,
  .tp-money,.tp-money *,.tb-price,.tb-price *,
  .tb-explorer-price,.tb-explorer-price *,[data-summary-name],[data-summary-size],
  .zc-title,.zc-title *,.zc-unit,.zc-line-total,.zc-total strong,
  .ch-line h3,.ch-line h3 *,.ch-line strong,.ch-grand,.ch-grand *,
  .ch-total-row strong,.ch-order-number,.ch-fixed-total>span,
  .vzs-product-title,.vzs-product-title *,.vzs-product-price,
  .techbg-banners,.techbg-banners *,.tb-feat,.tb-feat *,del,s
)) {
  font-family:Inter,Arial,sans-serif!important;
  font-weight:500!important;
  color:#000000!important;
  font-synthesis:none;
  font-feature-settings:'locl' 1;
}

/* Short instructions, recommendations, warnings and informational controls.
   Do not select product-name paragraphs or a span that also contains a price. */
html:root body :is(
  #tb-explorer .tb-explorer-context>div,
  #tb-explorer .tb-explorer-context [data-chosen-label],
  #tb-explorer .tb-explorer-context button[data-go-size],
  #tb-explorer .tb-explorer-size-label button[data-go-size],
  #tb-explorer .tb-explorer-count,#tb-explorer .tb-explorer-status,
  #tb-explorer .tb-explorer-assistant>p,
  #tb-explorer .tb-explorer-section-head p,
  #tb-explorer .tb-explorer-details>p,
  #tb-explorer .tb-explorer-availability,
  #tb-explorer .tb-explorer-feedback,#tb-explorer [data-confirm-message],
  #tb-explorer [data-loading],#tb-explorer [data-color-list]>p,
  #tb-explorer .tb-explorer-alternatives,
  #tb-explorer .tb-explorer-swipe-note,#tb-explorer .tb-explorer-scroll-hint,
  #tb-explorer .tb-explorer-photo [data-photo-count],
  .tb-pdp__label,.tp-stock,.tp-dialog-note,.tp-status,.tp-fixed-size,
  .tb-cat__count,.tb-qs__note,.tb-model-hint,.kg-status,
  .tb-model-continuation [data-model-summary],
  .zc-size,.zc-problem,.zc-status,
  .ch-line p:first-of-type,.ch-fields label,.ch-fields label>span,
  .ch-choice>span,.ch-check,.ch-error,.ch-status,
  .vzs-question,.vzs-lead,.vzs-help,.vzs-alternatives>p,.vzs-inner>p,
  .vzs-result-copy,.vzs-result-label,.vzs-result>p,.vzs-stock,
  .tbr-opt small,
  .tb-pdp__desc div[style*="font-weight: bold"],
  .tb-pdp__desc :is(p,li) :is(strong,b),.sh-copy :is(p,li) :is(strong,b),
  .tb-perks strong
):not(#tb-x):not(#tb-inter-font-priority):not(:is(
  h1,h2,h3,h4,h5,h6,h1 *,h2 *,h3 *,h4 *,h5 *,h6 *,
  .tb-explorer-info p,.tb-explorer-context [data-active-caption],
  [data-summary-name],[data-summary-size],
  .tb-explorer-card-buy,.tb-explorer-buy,.tb-explorer-confirm-button,
  .tb-explorer-price,.tb-explorer-price *,
  .zc-title,.zc-title *,.zc-unit,.zc-line-total,
  .ch-line h3,.ch-line h3 *,.ch-line strong,
  .ch-submit,.ch-quote,.ch-grand,.ch-grand *,
  .vzs-product-kicker,.vzs-product-title,.vzs-product-price,.vzs-result-size,
  .vzs-option,.vzs-primary,.vzs-secondary,
  .techbg-banners,.techbg-banners *,.tb-feat,.tb-feat *,del,s
)) {
  font-family:Inter,Arial,sans-serif!important;
  font-weight:600!important;
  color:#000000!important;
  font-synthesis:none;
  font-feature-settings:'locl' 1;
}

/* Preserve the existing inverse surfaces; no background/design changes. */
html:root body :is(
  #tb-explorer .vzs-result :is(.vzs-result-copy,.vzs-result-label),
  #tb-explorer .vzs-result>p,.tbr-help p,.tb-foot__copy,
  .tbr-opt[aria-pressed="true"] small
):not(#tb-x):not(#tb-inter-font-priority):not(#tb-inter-inverse-priority) {
  font-family:Inter,Arial,sans-serif!important;
  font-weight:600!important;
  color:#ffffff!important;
  font-synthesis:none;
  font-feature-settings:'locl' 1;
}

/* Keep descriptive prose beside the sticky product column, not underneath it.
   Existing desktop overlap reproduced before and after Inter; no font-size,
   line-height, heading, price or control changes. */
@media(min-width:1024px){.tb-pdp>.tb-pdp__desc{grid-column:1;max-width:min(82ch,100%)}}

/* Owner-approved helper context: every text role uses actual Inter faces.
   Keep the storefront display typography, dimensions and color surfaces. */
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/techbg-inter-700.woff2') format('woff2')}
@font-face{font-family:Inter;font-style:italic;font-weight:700;font-display:swap;src:url('/fonts/techbg-inter-700-italic.woff2') format('woff2')}

/* The existing global display rule is !important on each descendant, so
   inheritance alone cannot cover dialog headings, cards or fixed bars. */
html:root body :is(
  #tb-explorer,.a2-size .vzs-modal,dialog.a2-variants,dialog.a4-checkout,
  #tb-cart,.tp-dialog,.tb-sheet__box[role=dialog],.tb-dialog,.tbg-menu__panel[role=dialog],
  .sh-cookie-banner,.sh-main .sh-page-title,.sh-main .sh-copy,.sh-main .sh-news-title,
  .tbr,.tb-pdp__desc,.tp-info details
):not(#tb-x):not(#tb-inter-panel-a):not(#tb-inter-panel-b):not(#tb-inter-panel-c):not(#tb-inter-panel-d),
html:root body :is(
  #tb-explorer,.a2-size .vzs-modal,dialog.a2-variants,dialog.a4-checkout,
  #tb-cart,.tp-dialog,.tb-sheet__box[role=dialog],.tb-dialog,.tbg-menu__panel[role=dialog],
  .sh-cookie-banner,.sh-main .sh-page-title,.sh-main .sh-copy,.sh-main .sh-news-title,
  .tbr,.tb-pdp__desc,.tp-info details
) :not(svg):not(svg *):not(#tb-x):not(#tb-inter-panel-a):not(#tb-inter-panel-b):not(#tb-inter-panel-c):not(#tb-inter-panel-d){
  font-family:Inter,Arial,sans-serif!important;
  font-weight:600!important;
  color:var(--tb-panel-ink,#000000)!important;
  font-synthesis:none;
  font-feature-settings:'locl' 1;
}

/* Preserve hierarchy with real Bold rather than synthetic 750/800 weights. */
html:root body :is(
  #tb-explorer,.a2-size .vzs-modal,dialog.a2-variants,dialog.a4-checkout,
  #tb-cart,.tp-dialog,.tb-sheet__box[role=dialog],.tb-dialog,.tbg-menu__panel[role=dialog],
  .sh-cookie-banner,.sh-main .sh-page-title,.sh-main .sh-copy,.sh-main .sh-news-title,
  .tbr,.tb-pdp__desc,.tp-info details
) :is(h1,h2,h3,h4,h5,h6,h1 *,h2 *,h3 *,h4 *,h5 *,h6 *,strong,b,summary,
  .vzs-title,.vzs-product-title,.vzs-result-size,.vzs-question,
  .tb-explorer-kicker,.tb-explorer-price,[data-summary-name],
  .tb-explorer-buy,.tb-explorer-card-buy,.tb-explorer-confirm-button,
  .zc-title,.zc-total,.ch-grand,.ch-submit,.ch-quote,.tbr-res__num,
  .sh-cookie-title
):not(svg):not(svg *):not(#tb-x):not(#tb-inter-panel-a):not(#tb-inter-panel-b):not(#tb-inter-panel-c):not(#tb-inter-panel-d){font-weight:700!important}

/* Local ink tokens keep inverse text legible without changing any surface. */
#tb-explorer .tb-explorer-head,.a2-size .vzs-modal-head,.a2-size .vzs-close,
#tb-explorer .tb-explorer-assistant .vzs-result,
.tbr .tbr-help,.tbr .tbr-q b,.tbr .tbr-opt[aria-pressed=true],
.tbr .tbr-btn--viber,.tbr .tbr-btn--dark,
#tb-explorer .tb-explorer-sizes button[aria-pressed=true]:not(.is-missing),
.a4-checkout .ch-header,.a4-checkout .ch-quote{--tb-panel-ink:#ffffff}
.tbg-menu__panel[role=dialog]{--tb-panel-ink:#ffffff}
.tbg-menu__panel .tbg-menu__all{--tb-panel-ink:#d8fa51}
#tb-explorer .tb-explorer-head p{--tb-panel-ink:#d8fa51}
/* Light controls nested in a dark result retain dark lettering. */
#tb-explorer .vzs-result :is(.vzs-primary,.vzs-secondary,.vzs-option),
.tbr .tbr-help :is(input,select,textarea){--tb-panel-ink:#000000}
.tbr .tbr-help .tbr-btn--lime{--tb-panel-ink:#000000}

/* Imported NB descriptions contain a fixed 400px video. Keep the existing
   content within its description column on 375/390px screens. */
.tb-pdp__desc :is(video,iframe){max-width:100%}
/* The color caption is a product name, so allow wrapping instead of ellipsis. */
#tb-explorer .tb-explorer-context [data-active-caption]{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}

/* Generated text (including the trial notice after the standalone price)
   follows the same real face; preserve its existing size and placement. */
html:root body :is(#tb-explorer,.a2-size .vzs-modal,dialog.a2-variants,dialog.a4-checkout,#tb-cart,.tp-dialog,.tb-sheet__box[role=dialog],.tb-dialog,.tbg-menu__panel[role=dialog],.sh-cookie-banner,.sh-main .sh-page-title,.sh-main .sh-copy,.sh-main .sh-news-title,.tbr,.tb-pdp__desc,.tp-info details)
 :not(svg):not(svg *):not(#tb-x):not(#tb-inter-panel-a):not(#tb-inter-panel-b):not(#tb-inter-panel-c):not(#tb-inter-panel-d)::before,
html:root body :is(#tb-explorer,.a2-size .vzs-modal,dialog.a2-variants,dialog.a4-checkout,#tb-cart,.tp-dialog,.tb-sheet__box[role=dialog],.tb-dialog,.tbg-menu__panel[role=dialog],.sh-cookie-banner,.sh-main .sh-page-title,.sh-main .sh-copy,.sh-main .sh-news-title,.tbr,.tb-pdp__desc,.tp-info details)
 :not(svg):not(svg *):not(#tb-x):not(#tb-inter-panel-a):not(#tb-inter-panel-b):not(#tb-inter-panel-c):not(#tb-inter-panel-d)::after{font-family:Inter,Arial,sans-serif!important;font-weight:inherit!important;font-synthesis:none}
