/* KBM P02.2 — PRODUCTION contract consolidation (Theme Core 1.3.63).
 * Exact scope: existing Home and market-archive body class from P02 loader.
 * Core owns DOM/data, pricing, badges, featured state, filters, form flow,
 * auth/payment, media and client-side controllers. This file changes CSS only.
 * Existing canonical --kbm-* tokens are the only source of design values.
 * Important rules are limited to geometry defeated by later legacy CSS.
 */
body.kbm-theme-core.kbm-p02-design-system {
  --kbm-p02-brand:var(--kbm-color-brand,#ffcc00);
  --kbm-p02-ink:var(--kbm-color-ink,#0f172a);
  --kbm-p02-muted:var(--kbm-color-muted,#5b6b7d);
  --kbm-p02-navy:var(--kbm-color-accent,#0f2942);
  --kbm-p02-line:var(--kbm-color-line,#e5e9ef);
  --kbm-p02-surface:var(--kbm-color-surface,#fff);
  --kbm-p02-radius:var(--kbm-radius-card,16px);
  --kbm-p02-control-radius:var(--kbm-radius-control,12px);
  --kbm-p02-shadow:var(--kbm-shadow-soft,0 2px 12px rgba(16,40,63,.05));
  --kbm-p02-focus:var(--kbm-focus-ring,0 0 0 3px rgba(255,204,0,.42));
}
/* Use real archive roots only, with enough specificity to beat historical
 * theme/core cascade without globally changing unrelated card families. */
body.kbm-theme-core.kbm-p02-design-system :is(.kbm-ads-recode,.kbm-machine-sale-recode,.kbm-drivers-recode,.kbm-services-recode,.kbm-contractors-recode) .kbm-card2.kbm-market-card {
  border-radius:var(--kbm-p02-radius)!important;
  min-width:0;
}
/* Premium/featured frames remain above their cards and keep matching curves. */
body.kbm-theme-core.kbm-p02-design-system :is(.kbm-ads-recode,.kbm-machine-sale-recode,.kbm-drivers-recode,.kbm-services-recode,.kbm-contractors-recode) .kbm-card2.kbm-market-card .kbm-featured-motion-frame {
  border-radius:inherit;
}
/* Nonfeatured cards gain the existing semantic surface contract, but badge,
 * motion and featured decoration are deliberately not overridden. */
body.kbm-theme-core.kbm-p02-design-system :is(.kbm-ads-recode,.kbm-machine-sale-recode,.kbm-drivers-recode,.kbm-services-recode,.kbm-contractors-recode) .kbm-card2.kbm-market-card:not(.is-featured){
  background:var(--kbm-p02-surface);
  border-color:var(--kbm-p02-line);
  box-shadow:var(--kbm-p02-shadow);
}
body.kbm-theme-core.kbm-p02-design-system :is(.kbm-ads-recode,.kbm-machine-sale-recode,.kbm-drivers-recode,.kbm-services-recode,.kbm-contractors-recode) .kbm-card2__body,
body.kbm-theme-core.kbm-p02-design-system :is(.kbm-ads-recode,.kbm-machine-sale-recode,.kbm-drivers-recode,.kbm-services-recode,.kbm-contractors-recode) .kbm-card2__meta{
  min-width:0;
}
body.kbm-theme-core.kbm-p02-design-system :is(.kbm-ads-recode,.kbm-machine-sale-recode,.kbm-drivers-recode,.kbm-services-recode,.kbm-contractors-recode) .kbm-card2__title,
body.kbm-theme-core.kbm-p02-design-system :is(.kbm-ads-recode,.kbm-machine-sale-recode,.kbm-drivers-recode,.kbm-services-recode,.kbm-contractors-recode) .kbm-card2__title a{
  color:var(--kbm-p02-ink);
  font-family:var(--kbm-font-sans,Estedad,Tahoma,sans-serif);
  overflow-wrap:break-word;
}
body.kbm-theme-core.kbm-p02-design-system :is(.kbm-ads-recode,.kbm-machine-sale-recode,.kbm-drivers-recode,.kbm-services-recode,.kbm-contractors-recode) .kbm-card2__chip{
  max-width:100%;
  overflow-wrap:anywhere;
}
body.kbm-theme-core.kbm-p02-design-system :is(.kbm-ads-recode,.kbm-machine-sale-recode,.kbm-drivers-recode,.kbm-services-recode,.kbm-contractors-recode) .kbm-card2__commercial strong{
  overflow-wrap:anywhere;
  font-variant-numeric:tabular-nums;
}
/* Force only the card CTA's minimum touch height; do not change link URL,
 * click target, featured state, button background or controller attributes. */
body.kbm-theme-core.kbm-p02-design-system :is(.kbm-ads-recode,.kbm-machine-sale-recode,.kbm-drivers-recode,.kbm-services-recode,.kbm-contractors-recode) .kbm-card2__cta{
  min-height:var(--kbm-component-action-min-height,44px)!important;
  border-radius:var(--kbm-p02-control-radius)!important;
  text-align:center;
}
/* Only opener/trigger aesthetics: NO sheet, backdrop, body-scroll-lock,
 * position, display, z-index or form behavior is modified. */
body.kbm-theme-core.kbm-p02-design-system :is(.kbm-ads-recode,.kbm-machine-sale-recode,.kbm-drivers-recode,.kbm-services-recode,.kbm-contractors-recode) :is(.kbm-filter-pro-trigger,.kbm-ads-recode-filter-toggle){
  min-height:var(--kbm-component-action-min-height,44px)!important;
  border-radius:var(--kbm-p02-control-radius)!important;
}
/* WCAG-compatible keyboard treatment, scoped to existing interactive UI. */
body.kbm-theme-core.kbm-p02-design-system :is(.kbm-ads-recode,.kbm-machine-sale-recode,.kbm-drivers-recode,.kbm-services-recode,.kbm-contractors-recode) :is(.kbm-card2__cta,.kbm-card2__favorite,.kbm-mi2018-compare-toggle,.kbm-filter-pro-trigger,.kbm-ads-recode-filter-toggle):focus-visible{
  outline:3px solid var(--kbm-p02-navy)!important;
  outline-offset:3px!important;
}
@media (hover:hover) and (pointer:fine){
  body.kbm-theme-core.kbm-p02-design-system :is(.kbm-ads-recode,.kbm-machine-sale-recode,.kbm-drivers-recode,.kbm-services-recode,.kbm-contractors-recode) .kbm-card2.kbm-market-card:not(.is-featured):hover{
    box-shadow:var(--kbm-shadow-md,0 12px 30px rgba(15,23,42,.08));
    border-color:var(--kbm-p02-brand);
  }
}
@media (max-width:430px){
  body.kbm-theme-core.kbm-p02-design-system :is(.kbm-ads-recode,.kbm-machine-sale-recode,.kbm-drivers-recode,.kbm-services-recode,.kbm-contractors-recode) .kbm-card2__title{
    line-height:1.6;
  }
}
@media (prefers-reduced-motion:reduce){
  body.kbm-theme-core.kbm-p02-design-system :is(.kbm-ads-recode,.kbm-machine-sale-recode,.kbm-drivers-recode,.kbm-services-recode,.kbm-contractors-recode) .kbm-card2.kbm-market-card{
    transition:none!important;
  }
}
