/* PARTS-MOBILE-01: native mobile layout, based on the nine approved references. */
.pm-app { display: none; }

@media (max-width: 639px) {
  body:has(.pm-app) .fa03-application-shell { display: none !important; }
  .pg-app:has(> .pm-app) {
    padding: 0 0 calc(88px + env(safe-area-inset-bottom, 0px));
    max-width: none;
    background: #f3f8fe;
    color: #080e3c;
  }
  .pg-app > :not(.pm-app):not(script):not(.pg-toast):not(dialog):not(.pg-detail-top):not(.pg-detail-info):not(.pg-related):not(.tr-bottom):not(.tr-bottom-reserve):not(.mauto-comparison-entry):not(.pg-service-link) { display: none !important; }
  .pg-app .pm-app {
    --pm-blue: #0076ff;
    --pm-ink: #080e3c;
    --pm-muted: #6e789d;
    --pm-line: #e3ebf9;
    display: block;
    width: 100%;
    min-width: 0;
    font: 14px/1.4 Inter, Arial, sans-serif;
    color: var(--pm-ink);
    -webkit-text-size-adjust: 100%;
    background:var(--mauto-ds-color-page,#fff);
  }
  .pm-app *, .pm-app *::before, .pm-app *::after { box-sizing: border-box; }
  .pm-app button, .pm-app a, .pm-app input, .pm-app select { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
  .pm-app button { margin: 0; font: inherit; color: inherit; cursor: pointer; }
  .pm-app button:disabled { cursor: default; opacity: .58; }
  .pm-app a { color: inherit; text-decoration: none; }
  .pm-app h1, .pm-app h2, .pm-app h3, .pm-app p { margin: 0; }
  .pm-app h1, .pm-app h2, .pm-app h3 { overflow-wrap: normal; word-break: normal; }
  .pm-app img { display: block; max-width: 100%; object-fit: contain; }
  .pm-app svg { width: 24px; height: 24px; flex: 0 0 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
  .pm-app :is(button, a, input, select):focus-visible { outline: 3px solid #90c6ff; outline-offset: 2px; }
  .pm-app [hidden] { display: none !important; }
  .pm-app .pm-visually-hidden { position: absolute; width: 1px; height: 1px; min-height: 0; padding: 0; border: 0; margin: -1px; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }

  .pm-header { display: flex; align-items: center; gap: 5px; min-height: 64px; padding: 8px 12px; background: #fff; }
  .pm-brand { display: flex; align-items: center; width: 110px; min-height: 44px; margin-right: auto; flex: 0 1 110px; }
  .pm-brand img { width: 110px; height: auto; }
  .pm-icon, .pm-heart, .pm-round { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 10px; border: 0; border-radius: 12px; background: transparent; color: var(--pm-ink); }
  .pm-avatar { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; border-radius: 50%; overflow: hidden; }
  .pm-avatar img { width: 38px; height: 38px; object-fit: cover; border-radius: 50%; }
  .pm-demo { display: block; margin: 6px 14px 0; padding: 5px 8px; border: 1px solid #dce8fa; border-radius: 7px; background: #f4f8ff; color: #687594; font-size: 10px; line-height: 1.35; }
  .pm-body { min-width: 0; padding: 10px 13px 4px; }
  .pm-heading { display: flex; align-items: flex-start; gap: 5px; margin-bottom: 10px; }
  .pm-heading > .pm-icon { margin: -4px 0 0 -8px; width: 44px; min-width: 44px; flex-basis: 44px; padding: 10px; }
  .pm-heading > div { min-width: 0; flex: 1; }
  .pm-heading h1 { font-size: clamp(25px, 6.7vw, 33px); line-height: 1.12; letter-spacing: -.8px; font-weight: 750; }
  .pm-heading p { margin-top: 4px; color: var(--pm-muted); font-size: 12px; line-height: 1.35; }

  .pm-hero { position: relative; isolation: isolate; min-height: 186px; padding: 13px 11px; margin-bottom: 7px; border: 1px solid #fff; border-radius: 14px; background: #f8fbff; }
  .pm-hero-copy { position: relative; z-index: 1; width: 44%; min-width: 0; }
  .pm-hero-copy h2 { font-size: clamp(19px, 5.12vw, 25px); font-weight: 750; line-height: 1.12; letter-spacing: -.5px; }
  .pm-hero-copy p { margin-top: 8px; color: var(--pm-muted); font-size: 12px; line-height: 1.3; }
  .pm-hero-art { position: absolute; z-index: 0; top: 8px; right: 3px; width: 55%; height: calc(100% - 16px); object-fit: contain; object-position: right center; pointer-events: none; }
  .pm-hero-main { padding-bottom: 65px; min-height: 220px; }
  .pm-hero-main .pm-hero-copy p { font-size: 11.5px; }
  .pm-hero-main .pm-hero-art { top: 8px; height: calc(100% - 58px); width: 55%; }
  /* Separate original objects occupy only the right-hand art column. */
  .pm-hero-main .pm-hero-composite { width: 53%; right: 3px; pointer-events: none; }
  .pm-hero-composite > img { position: absolute; display: block; margin: 0; object-fit: contain; mix-blend-mode: multiply; }
  .pm-hero-composite > .pm-art-brakes { z-index: 1; top: 8%; left: 0; width: 65%; height: 72%; }
  .pm-hero-composite > .pm-art-battery { z-index: 2; top: 30%; right: 0; width: 60%; height: 54%; }
  .pm-hero-composite > .pm-art-filter { z-index: 3; bottom: 4%; left: 16%; width: 58%; height: 41%; }
  .pm-hero-composite > .pm-art-spark { z-index: 4; right: 0; bottom: 0; width: 29%; height: 35%; }
  .pm-hero-note { position: absolute; z-index: 3; top: 8px; right: 8px; display: flex; align-items: center; gap: 5px; width: 103px; min-height: 31px; padding: 5px 6px; border-radius: 8px; background: #eaf3ff; color: #344775; font-size: 9px; line-height: 1.2; }
  .pm-hero-note > svg { width: 18px; height: 18px; flex-basis: 18px; color: var(--pm-blue); }
  .pm-hero-note > span { min-width: 0; }
  .pm-hero-main:has(.pm-hero-note) .pm-hero-composite { top: 36px; height: calc(100% - 86px); }
  .pm-hero-assurances { position: absolute; z-index: 3; top: 50%; right: 7px; display: grid; gap: 6px; width: 76px; transform: translateY(-50%); }
  .pm-hero-assurances > * { display: flex; align-items: center; gap: 4px; min-width: 0; min-height: 34px; margin: 0; padding: 5px 4px; border-radius: 8px; background: #fff; color: #41517b; font-size: 9px; line-height: 1.2; }
  .pm-hero-assurances svg { width: 14px; height: 14px; flex-basis: 14px; color: var(--pm-blue); }
  .pm-hero-assurances span { min-width: 0; hyphens: auto; }
  .pm-hero-note :is(strong, small), .pm-hero-assurances :is(strong, small) { display: block; font: inherit; }
  .pm-hero-batteries:has(.pm-hero-assurances) .pm-hero-art { left: 46%; right: 89px; width: calc(54% - 89px); }
  .pm-hero-bottom-badges { position: absolute; z-index: 3; right: auto; bottom: 10px; left: 10px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; width: 65%; }
  .pm-hero-bottom-badges > * { display: flex; align-items: center; gap: 3px; min-width: 0; min-height: 36px; margin: 0; padding: 5px 4px; border: 1px solid #fff; border-radius: 8px; background: #ffffffed; color: #273966; font-size: 9px; line-height: 1.15; }
  .pm-hero-bottom-badges svg { width: 14px; height: 14px; flex-basis: 14px; color: var(--pm-blue); }
  .pm-hero-bottom-badges span { min-width: 0; hyphens: auto; }
  .pm-hero-bottom-badges :is(strong, small) { display: block; font: inherit; }
  .pm-hero-tires:has(.pm-hero-bottom-badges) { min-height: 220px; padding-bottom: 57px; }
  .pm-hero-tires:has(.pm-hero-bottom-badges) .pm-hero-art { top: 36px; height: calc(100% - 44px); object-position: right bottom; mix-blend-mode: multiply; }
  .pm-hero-modes { position: absolute; z-index: 2; right: 10px; bottom: 10px; left: 10px; display: grid; grid-template-columns: 1fr 1fr 1.2fr; gap: 6px; }
  .pm-hero-modes button { display: flex; align-items: center; justify-content: center; gap: 5px; min-width: 0; min-height: 44px; padding: 7px 4px; border: 1px solid #fff; border-radius: 10px; background: #fff; box-shadow: 0 3px 10px #2c6eb50b; font-size: 12px; line-height: 1.2; }
  .pm-hero-modes svg { width: 19px; height: 19px; flex-basis: 19px; color: var(--pm-blue); }
  .pm-hero-batteries .pm-hero-art { width: 51%; right: 8px; }
  .pm-hero-tires .pm-hero-copy { width: 45%; }
  .pm-hero-tires .pm-hero-art { width: 53%; }

  .pm-search { display: grid; grid-template-columns: minmax(0, 1fr) 44px 44px; align-items: center; gap: 5px; min-height: 56px; padding: 5px 7px; border: 1px solid #fff; border-radius: 14px; background: #fff; }
  .pm-search label { display: flex; align-items: center; gap: 7px; min-width: 0; min-height: 44px; padding-left: 7px; color: #7e8bae; }
  .pm-search label > svg { width: 21px; height: 21px; flex-basis: 21px; }
  .pm-search input { width: 100%; min-width: 0; min-height: 44px; padding: 9px 0; border: 0; outline-offset: -2px; background: transparent; color: var(--pm-ink); font: 16px/1.3 Inter, Arial, sans-serif; }
  .pm-search input::placeholder { color: #8894b2; opacity: 1; }
  .pm-search input::-webkit-search-cancel-button { margin-left: 2px; }
  .pm-search > .pm-icon { border: 1px solid #edf3ff; background: #fff; box-shadow: 0 2px 7px #1966b60b; }
  .pm-chips, .pm-search-modes { display: flex; align-items: center; gap: 6px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; padding: 7px 0 3px; margin-bottom: 4px; }
  .pm-chips::-webkit-scrollbar, .pm-search-modes::-webkit-scrollbar { display: none; }
  .pm-chip { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; gap: 6px; min-height: 44px; padding: 8px 10px; border: 1px solid #fff; border-radius: 24px; background: #edf4fd; color: var(--pm-ink); font-size: 12px; line-height: 1.25; white-space: nowrap; }
  .pm-chip svg { width: 21px; height: 21px; flex-basis: 21px; color: var(--pm-blue); }
  .pm-chip[data-key="origin"][data-value="original"] svg { color: #f4ae00; fill: #ffc02b; stroke-width: 1; }
  .pm-chip[data-key="availability"] svg { color: #00a920; }
  .pm-chip.is-active { border-color: #b8dcff; color:var(--mauto-ds-color-primary,#3c78da); background: #e6f3ff; }
  .pm-section-title { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0 8px; min-height: 40px; margin: 7px 1px 3px; }
  .pm-section-title h2 { min-width: 0; font-size: 16px; font-weight: 750; line-height: 1.25; letter-spacing: -.35px; }
  .pm-text { display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-height: 44px; padding: 7px 0; border: 0; background: transparent; color: var(--pm-blue) !important; font-size: 12px !important; line-height: 1.3; text-align: right; }
  .pm-text svg { width: 17px; height: 17px; flex-basis: 17px; }
  .pm-history { padding-top: 0; }
  .pm-history .pm-chip { font-size: 11px; background: #f0f5fc; }
  .pm-history .pm-chip svg { width: 17px; height: 17px; flex-basis: 17px; color: #6d7ba2; }
  .pm-muted, .pm-history-empty { color: var(--pm-muted); font-size: 12px; line-height: 1.45; }
  .pm-history-empty { padding: 2px 1px 5px; }

  .pm-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
  .pm-category { position: relative; display: grid; grid-template-rows: 76px 1fr; min-width: 0; padding: 5px 7px 8px; border: 1px solid #fff; border-radius: 12px; background: #fff; color: var(--pm-ink); text-align: left; }
  .pm-category > img { align-self: center; justify-self: center; width: 100%; height: 72px; object-fit: contain; }
  .pm-category > span:not(.pm-round) { align-self: end; min-width: 0; padding-right: 13px; font-size: 12px; line-height: 1.2; overflow-wrap: anywhere; }
  .pm-category > .pm-round { position: absolute; right: 0; bottom: 0; width: 26px; min-width: 26px; height: 32px; min-height: 32px; padding: 5px; background: transparent; pointer-events: none; }
  .pm-category > .pm-round::before { position: absolute; z-index: 0; inset: 7px 4px; border-radius: 50%; background: #eaf5ff; content: ""; }
  .pm-category > .pm-round svg { position: relative; width: 13px; height: 13px; flex-basis: 13px; color: var(--pm-blue); }
  .pm-category.is-selected, .pm-filter-categories > .is-selected { border-color: var(--pm-blue); box-shadow: 0 0 0 1px var(--pm-blue); background: #edf7ff; }

  .pm-result-tools { display: flex; justify-content: flex-end; gap: 14px; margin: -3px 1px 4px; }
  .pm-result-tools .pm-text { min-height: 44px; }
  .pm-product-grid { display: grid; gap: 8px; align-items: stretch; }
  .pm-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pm-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .pm-product { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 7px 8px 8px; border: 1px solid #fff; border-radius: 12px; background: #fff; }
  .pm-product-photo { position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 112px; height: 112px; padding: 8px 3px 2px; color: var(--pm-muted) !important; font-size: 12px; }
  .pm-product-photo > img { width: 100%; height: 100%; object-fit: contain; }
  .pm-product-photo > .pm-tire-brand { position: absolute; z-index: 2; left: 4px; bottom: 0; width: auto; max-width: 85%; height: 15px; object-fit: contain; object-position: left bottom; }
  .pm-product-copy { position: relative; display: flex; flex: 1; flex-direction: column; min-width: 0; padding-top: 5px; }
  .pm-product h3 { font-size: 14px; font-weight: 650; line-height: 1.23; letter-spacing: -.3px; }
  .pm-product h3 a { display: block; overflow-wrap: anywhere; }
  .pm-product-copy > p { margin-top: 4px; color: var(--pm-muted); font-size: 12px; line-height: 1.25; overflow-wrap: anywhere; }
  .pm-price { display: block; margin-top: auto; padding-top: 9px; padding-right: 35px; font-size: 19px; line-height: 1.2; letter-spacing: -.55px; font-weight: 750; overflow-wrap: normal; }
  .pm-price small { display: inline; color: var(--pm-muted); font-size: 9px; line-height: 1; font-weight: 500; letter-spacing: 0; vertical-align: baseline; white-space: nowrap; }
  .pm-heart { position: absolute; z-index: 1; top: 0; right: 0; color: #6e779d; border-radius: 50%; }
  .pm-heart svg { width: 20px; height: 20px; flex-basis: 20px; }
  .pm-heart[aria-pressed="true"] { color:var(--mauto-ds-color-primary,#3c78da); }
  .pm-heart[aria-pressed="true"] svg { fill: #e6f2ff; }
  .pm-product-open.pm-round { align-self: flex-end; margin-top: -34px; margin-right: -4px; margin-bottom: 2px; background: radial-gradient(circle 14px at center, #eaf5ff 98%, transparent); color: var(--pm-blue); }
  .pm-product-open.pm-round svg { width: 20px; height: 20px; flex-basis: 20px; }
  .pm-badges { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; margin-top: 7px; padding-right: 25px; }
  .pm-badges > span { display: inline-flex; align-items: center; gap: 3px; min-width: 0; min-height: 22px; padding: 3px 5px; border-radius: 7px; background: #f2f6fc; color: #58678e; font-size: 10px; line-height: 1.25; }
  .pm-badges svg { width: 12px; height: 12px; flex-basis: 12px; stroke-width: 2; }
  .pm-badges .is-stock { color: #008a17; background: #ecfbf0; }
  .pm-badges .is-stock svg { padding: 2px; border-radius: 50%; color: #fff; background: #03ae23; }
  .pm-columns-3 .pm-product { padding: 5px 6px 7px; }
  .pm-columns-3 .pm-product-photo { height: 105px; min-height: 105px; padding: 17px 0 0; }
  .pm-columns-3 .pm-product h3 { font-size: 13px; line-height: 1.25; letter-spacing: -.35px; }
  .pm-columns-3 .pm-product-copy > p { font-size: 11px; }
  .pm-columns-3 .pm-price { padding-top: 8px; padding-right: 0; font-size: 16px; letter-spacing: -.45px; }
  .pm-columns-3 .pm-badges { margin-top: 5px; gap: 2px; padding-right: 0; }
  .pm-columns-3 .pm-badges > span { padding: 2px 1px; border-radius: 4px; font-size: 10px; background: transparent; }
  .pm-columns-3 .pm-badges svg { width: 10px; height: 10px; flex-basis: 10px; }
  .pm-columns-3 .pm-product-open.pm-round { margin: 1px -5px -5px auto; }
  .pm-recommendation { display: grid; grid-template-columns: minmax(0, 36%) minmax(0, 1fr); align-items: stretch; gap: 8px; padding: 7px; }
  .pm-recommendation .pm-product-photo { align-self: center; height: 118px; min-height: 118px; padding: 0; border-radius: 9px; }
  .pm-recommendation .pm-product-copy { padding: 1px 0 0; }
  .pm-recommendation h3 { padding-right: 28px; font-size: 14px; line-height: 1.2; }
  .pm-recommendation .pm-product-copy > p { font-size: 11px; }
  .pm-recommendation .pm-badges { padding-right: 0; margin-top: 6px; }
  .pm-recommendation .pm-product-open { align-self: flex-end; min-height: 44px; margin-top: 6px; padding: 8px 12px; font-size: 12px; }
  .pm-primary, .pm-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; min-width: 0; padding: 11px 14px; border: 1px solid #0075ff; border-radius: 11px; background:var(--mauto-ds-action-blue,linear-gradient(110deg,#5996ef,#3c78da)); color: #fff !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.3; text-align: center;;box-shadow:var(--mauto-ds-action-depth)}
  .pm-secondary { background: #fff; border-color: #bad7ff; color: var(--pm-blue) !important;;box-shadow:var(--mauto-ds-action-depth)}
  .pm-wide { width: 100%; margin-top: 10px !important; }
  .pm-loading, .pm-empty { padding: 24px 14px; margin-top: 10px; border: 1px solid #fff; border-radius: 14px; background: #fff; text-align: center; color: var(--pm-muted); font-size: 14px; line-height: 1.45; }
  .pm-empty h3 { margin-bottom: 7px; color: var(--pm-ink); font-size: 17px; line-height: 1.3; }
  .pm-empty button, .pm-empty > a { margin-top: 12px; min-height: 44px; }

  .pm-nav { position: fixed; z-index: 100; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; min-height: calc(74px + env(safe-area-inset-bottom, 0px)); padding: 8px 5px calc(8px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid #edf3fd; border-radius: 24px 24px 0 0; background: #fffffffa; box-shadow: 0 -4px 18px #3f73ac05; }
  .pm-nav button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-width: 0; min-height: 54px; padding: 4px 1px; border: 0; background: transparent; color: #69749b; font-size: 10px; line-height: 1.2; }
  .pm-nav button svg { width: 25px; height: 25px; flex-basis: 25px; }
  .pm-nav button.is-active { color: var(--pm-blue); }
  .pm-nav button.is-active[data-value="home"] svg:not(.mauto-icon) { fill: var(--pm-blue); stroke-width: 1.3; }
  .pm-app:has(.pm-search input:focus) .pm-nav { visibility: hidden; pointer-events: none; }
  .pg-app .pg-toast { bottom: calc(88px + env(safe-area-inset-bottom, 0px)); max-width: calc(100% - 24px); }

  /* One native dialog shell with an independently scrollable body. */
  html.pm-sheet-open, html.pm-sheet-open body { overflow: hidden; }
  .pm-app .pm-sheet { position: fixed; inset: auto 0 0; width: 100%; max-width: 639px; max-height: calc(100dvh - 24px); margin: 0 auto; padding: 0; border: 0; border-radius: 23px 23px 0 0; background: #f3f8ff; color: var(--pm-ink); box-shadow: 0 -8px 40px #15346120; overflow: hidden; }
  .pm-sheet:not([open]) { display: none; }
  .pm-sheet[open] { display: flex; flex-direction: column; }
  .pm-sheet::backdrop { background: #101b3c59; }
  .pm-sheet-handle { flex: 0 0 4px; width: 40px; height: 4px; margin: 8px auto 2px; border-radius: 8px; background: #c9d6e9; }
  .pm-sheet-header { display: flex; align-items: center; justify-content: space-between; flex: 0 0 auto; gap: 12px; min-height: 54px; padding: 3px 12px 6px 16px; }
  .pm-sheet-header h2 { font-size: 24px; line-height: 1.2; letter-spacing: -.6px; }
  .pm-sheet-header .pm-icon { background: #fff; color: #5e7195; }
  .pm-sheet-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 0 12px calc(12px + env(safe-area-inset-bottom, 0px)); scroll-padding: 16px 0 100px; }
  .pm-sheet-body > p, .pm-sheet-body form > p { margin: 8px 2px 12px; color: var(--pm-muted); font-size: 13px; line-height: 1.45; }
  .pm-filter-panel { min-width: 0; margin: 0 0 9px; padding: 10px; border: 1px solid #fff; border-radius: 13px; background: #fff; }
  fieldset.pm-filter-panel { padding-top: 8px; }
  .pm-filter-panel .pm-section-title { min-height: 36px; margin: -4px 0 4px; }
  .pm-filter-panel h3, .pm-filter-panel legend { display: flex; align-items: center; gap: 6px; min-width: 0; padding: 0; color: var(--pm-ink); font-size: 14px; font-weight: 700; line-height: 1.25; letter-spacing: -.2px; }
  .pm-filter-panel legend { float: left; width: 100%; margin-bottom: 8px; }
  .pm-filter-panel h3 svg, .pm-filter-panel legend svg { width: 18px; height: 18px; flex-basis: 18px; color: #627498; }
  .pm-filter-panel .pm-section-title > span { color: var(--pm-muted); font-size: 11px; }
  .pm-two-col, .pm-price-inputs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .pm-select-label, .pm-field { display: flex; flex-direction: column; gap: 3px; min-width: 0; color: var(--pm-muted); font-size: 12px; }
  .pm-select-label { padding: 7px 8px 0; border: 1px solid var(--pm-line); border-radius: 9px; background: #f7faff; }
  .pm-select-label > span:empty { display: none; }
  .pm-select-label select { display: block; width: 100%; min-width: 0; min-height: 44px; padding: 5px 17px 7px 0; border: 0; border-radius: 0; background: transparent; color: var(--pm-ink); font: 16px/1.3 Inter, Arial, sans-serif; }
  .pm-select-label select:disabled { opacity: .5; }
  .pm-filter-panel > .pm-select-label { margin-top: 8px; margin-bottom: 0; }
  .pm-filter-panel > .pm-select-label + .pm-two-col { margin-top: 8px; }
  .pm-field { gap: 6px; margin-bottom: 12px; font-size: 14px; }
  .pm-field input { width: 100%; min-width: 0; min-height: 48px; padding: 11px 12px; border: 1px solid #dce8f8; border-radius: 10px; background: #fff; color: var(--pm-ink); font: 16px/1.3 Inter, Arial, sans-serif; }
  .pm-filter-categories { display: grid; grid-auto-flow: column; grid-auto-columns: 82px; gap: 7px; overflow-x: auto; overscroll-behavior-x: contain; padding: 2px 1px 5px; scrollbar-width: thin; }
  .pm-filter-categories > button { position: relative; display: flex; flex-direction: column; align-items: stretch; justify-content: space-between; gap: 6px; min-width: 0; min-height: 101px; padding: 7px 5px; border: 1px solid #eff5fc; border-radius: 10px; background: #fbfdff; text-align: left; }
  .pm-filter-categories img { width: 100%; height: 60px; object-fit: contain; }
  .pm-filter-categories span { padding-right: 10px; font-size: 11px; line-height: 1.25; overflow-wrap: anywhere; }
  .pm-filter-categories > button > svg { position: absolute; right: 3px; bottom: 5px; width: 17px; height: 17px; padding: 3px; border-radius: 50%; color: #fff; background: var(--pm-blue); }
  .pm-price-inputs label { display: flex; align-items: center; gap: 5px; min-width: 0; min-height: 44px; padding: 0 8px; border: 1px solid #e3edfa; border-radius: 9px; color: var(--pm-muted); background: #f6faff; font-size: 12px; }
  .pm-price-inputs input { min-width: 0; width: 100%; min-height: 44px; padding: 8px 0; border: 0; background: transparent; color: var(--pm-ink); font: 16px/1.3 Inter, Arial, sans-serif; }
  .pm-price-ranges { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding-top: 3px; }
  .pm-price-ranges input { width: 100%; min-width: 0; height: 44px; margin: 0; accent-color: var(--pm-blue); }
  [data-pm-price-error]:not(:empty) { margin-top: 5px; color: #b72e3e; font-size: 12px; line-height: 1.35; }
  .pm-filter-groups { gap: 8px; margin-bottom: 9px; }
  .pm-filter-groups .pm-filter-panel { margin: 0; padding: 9px 7px; }
  .pm-filter-groups h3, .pm-filter-groups legend { min-height: 22px; font-size: 12px; }
  .pm-filter-groups .pm-select-label { margin-top: 6px; padding: 0 6px; }
  .pm-filter-groups select { font-size: 16px; }
  .pm-segment { clear: both; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; padding: 2px; border-radius: 9px; background: #f0f5fc; }
  .pm-segment label { position: relative; display: flex; min-width: 0; cursor: pointer; }
  .pm-segment input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
  .pm-segment span { display: flex; align-items: center; justify-content: center; min-width: 0; width: 100%; min-height: 44px; padding: 4px 2px; border: 1px solid transparent; border-radius: 8px; color: var(--pm-ink); font-size: 11px; line-height: 1.25; text-align: center; overflow-wrap: normal; }
  .pm-segment input:checked + span { color: var(--pm-blue); border-color: #b9dbff; background: #ebf6ff; box-shadow: 0 1px 3px #126cc711; }
  .pm-segment input:focus-visible + span { outline: 3px solid #90c6ff; outline-offset: 1px; }
  .pm-switches > label { display: flex; align-items: center; gap: 8px; min-height: 61px; padding: 6px 0; cursor: pointer; }
  .pm-switches > label + label { border-top: 1px solid #e9eff8; }
  .pm-switches > label > svg { color: var(--pm-blue); }
  .pm-switches span { flex: 1; min-width: 0; }
  .pm-switches strong { display: block; color: var(--pm-ink); font-size: 12px; font-weight: 500; line-height: 1.3; }
  .pm-switches small { display: block; margin-top: 2px; color: var(--pm-muted); font-size: 10px; line-height: 1.35; }
  .pm-switches input { appearance: none; -webkit-appearance: none; flex: 0 0 44px; width: 44px; height: 44px; margin: 0; border: 0; border-radius: 6px; background: radial-gradient(circle at 14px 22px, #fff 0 9px, transparent 10px), radial-gradient(circle at 14px 22px, #d5deec 0 12px, transparent 12.5px), radial-gradient(circle at 30px 22px, #d5deec 0 12px, transparent 12.5px), linear-gradient(#d5deec, #d5deec) center / 16px 24px no-repeat; cursor: pointer; }
  .pm-switches input:checked { background: radial-gradient(circle at 30px 22px, #fff 0 9px, transparent 10px), radial-gradient(circle at 14px 22px, #007aff 0 12px, transparent 12.5px), radial-gradient(circle at 30px 22px, #007aff 0 12px, transparent 12.5px), linear-gradient(#007aff, #007aff) center / 16px 24px no-repeat; }
  .pm-sheet-actions { position: sticky; z-index: 3; bottom: calc(-12px - env(safe-area-inset-bottom, 0px)); display: flex; align-items: stretch; gap: 8px; margin: 10px -12px calc(-12px - env(safe-area-inset-bottom, 0px)); padding: 12px 12px calc(12px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid #edf3fc; border-radius: 17px 17px 0 0; background: #fff; box-shadow: 0 -3px 12px #2c63a107; }
  .pm-sheet-actions > button { flex: 1; min-width: 0; min-height: 48px; margin: 0 !important; padding: 10px 8px; font-size: 13px !important; }
  .pm-sheet-actions > .pm-secondary { flex: .8; }
  .pm-sheet-body > .pm-category-grid { margin-top: 10px; }
  .pm-upload { position: relative; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; margin: 10px 0; padding: 12px; border: 1px dashed #91beff; border-radius: 11px; background: #fff; color: var(--pm-blue); font-size: 14px; cursor: pointer; }
  .pm-upload input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
  .pm-upload:focus-within { outline: 3px solid #90c6ff; outline-offset: 2px; }
  .pm-photo-preview { width: 100%; max-height: 260px; margin-top: 10px; object-fit: contain; border-radius: 10px; background: #fff; }
  .pm-sort-options { display: grid; gap: 7px; }
  .pm-sort-options > label { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 12px; border: 1px solid #e6eefb; border-radius: 10px; background: #fff; font-size: 14px; }
  .pm-sort-options input { width: 20px; height: 20px; margin: 0; accent-color: var(--pm-blue); }
  .pm-menu { display: grid; gap: 7px; }
  .pm-menu > button, .pm-menu > a { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 11px 13px; border: 1px solid #e5eefb; border-radius: 10px; background: #fff; font-size: 14px; text-align: left; }
  .pm-menu svg { color: var(--pm-blue); }

  /* Existing product detail markup remains the detail source. */
  .pg-app-detail .pm-body { padding: 0 13px 6px; }
  .pm-back { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 0; border: 0; background: transparent; color: var(--pm-blue) !important; font-size: 14px !important; }
  .pg-app-detail > .pg-detail-top, .pg-app-detail > .pg-detail-info, .pg-app-detail > .pg-related { width: auto; margin-right: 13px; margin-left: 13px; }
  .pg-app-detail > .pg-detail-top { margin-top: 4px; }
  .pg-app-detail .pg-product-assurances { display: none; }
  .pg-app-detail .pg-product-title h1 { overflow-wrap: anywhere; }
  .pg-app-detail .pg-table-wrap { overflow-x: auto; max-width: 100%; }
  .pg-app-detail .pg-related { margin-top: 12px; }
}

@media (max-width: 359px) {
  .pm-header { gap: 1px; padding-right: 7px; padding-left: 10px; }
  .pm-brand { width: 101px; flex-basis: 101px; }
  .pm-body { padding-right: 10px; padding-left: 10px; }
  .pm-heading h1 { font-size: 24px; }
  .pm-hero { padding-right: 9px; padding-left: 9px; }
  .pm-hero-copy { width: 45%; }
  .pm-hero-copy h2 { font-size: 18px; }
  .pm-hero-copy p { font-size: 11px; }
  .pm-hero-modes { gap: 4px; right: 8px; left: 8px; }
  .pm-hero-modes button { gap: 3px; font-size: 11px; }
  .pm-hero-modes svg { width: 17px; height: 17px; flex-basis: 17px; }
  .pm-hero-bottom-badges { right: 10px; width: auto; }
  .pm-section-title h2 { font-size: 15px; }
  .pm-section-title .pm-text { font-size: 11px !important; }
  .pm-category-grid { gap: 5px; }
  .pm-category { grid-template-rows: 66px 1fr; padding: 4px 5px 8px; }
  .pm-category > img { height: 63px; }
  .pm-category > span:not(.pm-round) { font-size: 11px; }
  .pm-columns-3 { gap: 5px; }
  .pm-columns-3 .pm-product { padding-right: 5px; padding-left: 5px; }
  .pm-columns-3 .pm-product h3 { font-size: 12px; }
  .pm-columns-3 .pm-price { font-size: 15px; }
  .pm-nav button { font-size: 9px; }
  .pm-filter-groups { grid-template-columns: 1fr; }
  .pm-filter-groups .pm-segment span { font-size: 12px; }
}

@media (min-width: 480px) and (max-width: 639px) {
  .pm-header { padding-right: 18px; padding-left: 18px; }
  .pm-brand { width: 125px; flex-basis: 125px; }
  .pm-brand img { width: 125px; }
  .pm-body { padding-right: 18px; padding-left: 18px; }
  .pm-hero { min-height: 220px; padding: 17px 15px; }
  .pm-hero-main { min-height: 240px; padding-bottom: 68px; }
  .pm-hero-copy p { font-size: 14px; }
  .pm-category { grid-template-rows: 105px 1fr; padding: 8px 10px 10px; }
  .pm-category > img { height: 100px; }
  .pm-category > span:not(.pm-round) { font-size: 14px; }
  .pm-product-photo { height: 145px; min-height: 145px; }
  .pm-columns-3 .pm-product-photo { height: 135px; min-height: 135px; }
  .pm-columns-3 .pm-product h3 { font-size: 14px; }
  .pm-columns-3 .pm-product-copy > p { font-size: 12px; }
  .pm-columns-3 .pm-price { font-size: 19px; }
  .pm-columns-3 .pm-badges > span { font-size: 10px; }
  .pm-recommendation .pm-product-photo { height: 145px; }
  .pm-recommendation .pm-product-copy > p { font-size: 12px; }
  .pm-nav button { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .pm-app *, .pm-app *::before, .pm-app *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
@media (max-width:639px) {
 .pm-app .pm-select-trigger {display:flex;align-items:center;justify-content:space-between;gap:5px;width:100%;min-height:44px;text-align:left;border:0;background:transparent;padding:5px 0;font-size:14px;color:#080e3c;}
 .pm-select-trigger svg {width:16px;height:16px;flex-basis:16px;transform:rotate(90deg)}
 .pm-option-list {display:grid;gap:4px;padding-bottom:15px;max-height:65dvh;overflow:auto;}
 .pm-option-list button {text-align:left;min-height:46px;border:1px solid #e4edf9;border-radius:10px;padding:10px;background:white;}
 .pm-option-list button.is-selected {background:#e8f4ff;color:var(--mauto-ds-color-primary,#3c78da);border-color:#0076ff;}
}
@media(max-width:639px){
 .pm-hero-main > .pm-hero-art {top:auto;bottom:0;right:0;width:60%;height:auto;max-height:165px;object-fit:contain;object-position:right bottom;}
 .pm-hero-main .pm-hero-modes {bottom:13px;}
}
@media(min-width:360px) and (max-width:479px){ .pm-hero-copy h2 {font-size:19px;} }
@media(max-width:639px){
 .pm-price-ranges {position:relative;display:block;height:32px;margin:4px 10px 0;}
 .pm-price-ranges::before {content:'';position:absolute;left:0;right:0;top:14px;height:4px;border-radius:9px;background:linear-gradient(to right,#e3ebf6 0 var(--pm-low,0%),#0076ff var(--pm-low,0%) var(--pm-high,100%),#e3ebf6 var(--pm-high,100%) 100%);}
 .pm-price-ranges input[type=range] {position:absolute;inset:0;width:100%;height:32px;margin:0;padding:0;border:0;background:transparent;appearance:none;pointer-events:none;}
 .pm-price-ranges input::-webkit-slider-runnable-track {height:4px;background:transparent;border:0;}
 .pm-price-ranges input::-webkit-slider-thumb {appearance:none;pointer-events:auto;width:22px;height:22px;margin-top:-9px;border:1px solid #0076ff;border-radius:50%;background:#fff;box-shadow:0 2px 5px #2689fb25;}
 .pm-price-ranges input::-moz-range-track {height:4px;background:transparent;border:0;}
 .pm-price-ranges input::-moz-range-thumb {pointer-events:auto;width:22px;height:22px;border:1px solid #0076ff;border-radius:50%;background:#fff;}
}

/* Reference fidelity: compact subject scenes and cards, without shrinking a page canvas. */
@media (max-width: 639px) {
  .pg-app .pm-app { font-family: Arial, Helvetica, sans-serif; background:var(--mauto-ds-color-page,#fff); }
  .pm-header { min-height: 56px; padding: 5px 12px; gap: 3px; }
  .pm-brand { flex-basis: 106px; width: 106px; }
  .pm-brand img { width: 106px; }
  .pm-demo { margin: 0 14px 2px; padding: 3px 0; border: 0; background: none; font-size: 10px; }
  .pm-body { padding-top: 9px; }
  .pm-heading { position: relative; gap: 0; margin-bottom: 10px; }
  .pm-heading h1 { font-size: 27px; line-height: 1.1; letter-spacing: -.8px; font-weight: 700; }
  .pm-heading p { font-size: 12px; line-height: 1.25; }
  .pm-heading > .pm-icon { flex-basis: 34px; width: 34px; min-width: 34px; margin-left: -6px; padding: 9px 5px; }
  .pm-heading > .pm-icon::before { content: ''; position: absolute; width: 44px; height: 44px; }
  .pm-hero { min-height: 156px; padding: 11px; background: linear-gradient(105deg,#fcfdff,#f2f8fd); }
  .pm-hero-copy { width: 46%; }
  .pm-hero-copy h2 { font-family: Arial, Helvetica, sans-serif; font-size: 18px; line-height: 1.06; letter-spacing: -.5px; font-weight: 700; }
  .pm-hero-copy p { font-size: 11.5px; line-height: 1.23; margin-top: 7px; }
  .pm-hero-art { right: 3px; top: 7px; width: 54%; height: calc(100% - 14px); mix-blend-mode: multiply; }
  .pm-hero-filters .pm-hero-copy { width: 43%; }
  .pm-hero-filters .pm-hero-art { width: 58%; }
  .pm-hero-oils .pm-hero-copy { width: 44%; }
  .pm-hero-oils .pm-hero-art { width: 56%; }
  .pm-hero-batteries { min-height: 147px; }
  .pm-hero-batteries .pm-hero-copy { width: 42%; }
  .pm-hero-batteries:has(.pm-hero-assurances) .pm-hero-art { left: 43%; right: auto; width: 39%; }
  .pm-hero-assurances { right: 5px; width: 61px; gap: 5px; }
  .pm-hero-assurances > * { min-height: 30px; padding: 5px 3px; font-size: 8px; gap: 3px; background: #ffffffd9; }
  .pm-hero-assurances svg { width: 15px; height: 15px; flex-basis: 15px; }
  .pm-hero-suspension .pm-hero-art { width: 59%; top: 8px; height: calc(100% - 12px); }
  .pm-hero-note { right: 6px; top: 7px; width: 105px; font-size: 8px; min-height: 29px; }
  .pm-hero-tires:has(.pm-hero-bottom-badges) { min-height: 187px; padding-bottom: 42px; }
  .pm-hero-tires:has(.pm-hero-bottom-badges) .pm-hero-art { top: 34px; bottom: 4px; height: calc(100% - 38px); width: 55%; }
  .pm-hero-tires .pm-hero-copy { width: 47%; }
  .pm-hero-bottom-badges { left: 9px; bottom: 9px; width: 65%; gap: 4px; }
  .pm-hero-bottom-badges > * { min-height: 30px; font-size: 8px; gap: 3px; padding: 4px; }
  .pm-hero-main { min-height: 230px; padding-bottom: 56px; }
  .pm-hero-main > .pm-hero-art { width: 59%; bottom: 47px; max-height: 155px; }
  .pm-hero-main .pm-hero-copy { width: 47%; }
  .pm-hero-main .pm-hero-modes { bottom: 9px; }
  .pm-search { background: #fff; gap: 3px; padding: 5px 6px; grid-template-columns: minmax(0,1fr) 44px 44px; }
  .pm-search label { border-radius: 10px 0 0 10px; background: #f0f5fc; padding-left: 8px; gap: 6px; }
  .pm-search input { font-family: Arial, Helvetica, sans-serif; background: #f0f5fc; }
  .pm-search input::placeholder { font-size: 12px; }
  .pm-search > .pm-icon svg { width: 21px; height: 21px; }
  .pm-chips { gap: 4px; margin: 0; padding: 4px 0 0; }
  .pm-chip { position: relative; min-height: 44px; padding: 6px 8px; font-size: 11px; gap: 5px; border: 0; background: linear-gradient(#edf4fd,#edf4fd) center/100% 32px no-repeat; }
  .pm-chip svg { width: 19px; height: 19px; flex-basis: 19px; }
  .pm-chip.is-active { background: linear-gradient(#e4f2ff,#e4f2ff) center/100% 32px no-repeat; }
  .pm-section-title { margin: 2px 2px 0; min-height: 38px; gap: 0 4px; }
  .pm-section-title h2 { font-size: 16px; font-weight: 700; letter-spacing: -.4px; }
  .pm-section-title .pm-text { font-size: 11px !important; gap: 5px; }
  .pm-text-next { flex-direction: row-reverse; }
  .pm-result-tools { margin-top: -4px; margin-bottom: 0; }
  .pm-product-grid { gap: 6px; }
  .pm-product { padding: 5px 7px 8px; border-radius: 11px; }
  .pm-product-photo { height: 93px; min-height: 93px; padding: 0; }
  .pm-product-photo > img:not(.pm-tire-brand) { width: 100%; height: 100%; object-fit: contain; }
  .pm-product-copy { padding-top: 4px; }
  .pm-product h3 { font-size: 12.5px; line-height: 1.15; font-weight: 600; letter-spacing: -.35px; }
  .pm-product h3 a { overflow-wrap: normal; }
  .pm-product-copy > p { margin-top: 3px; font-size: 11px; line-height: 1.2; overflow-wrap: normal; }
  .pm-price { margin-top: auto; padding: 6px 27px 0 0; font-size: 18px; line-height: 1.15; font-weight: 700; letter-spacing: -.5px; }
  .pm-price small { font-size: 9px; }
  .pm-badges { gap: 4px; margin-top: 5px; padding-right: 0; flex-wrap: nowrap; }
  .pm-badges > span { font-size: 10px; min-height: 21px; padding: 3px 4px; gap: 3px; white-space: nowrap; }
  .pm-badges svg { width: 11px; height: 11px; flex-basis: 11px; }
  .pm-product-open.pm-round { position: absolute; right: -7px; bottom: 20px; margin: 0; }
  .pm-heart { top: -4px; right: -3px; padding: 12px; }
  .pm-heart svg { width: 18px; height: 18px; flex-basis: 18px; }
  .pm-columns-3 { gap: 5px; }
  .pm-columns-3 .pm-product { padding: 5px 6px 7px; }
  .pm-columns-3 .pm-product-photo { height: 79px; min-height: 79px; padding: 0; }
  .pm-columns-3 .pm-product h3 { font-size: 12px; line-height: 1.17; letter-spacing: -.35px; }
  .pm-columns-3 .pm-product-copy > p { font-size: 10.5px; line-height: 1.2; }
  .pm-columns-3 .pm-price { padding: 5px 0 0; font-size: 16px; line-height: 1.1; }
  .pm-columns-3 .pm-badges { flex-wrap: wrap; gap: 0 4px; margin-top: 4px; }
  .pm-columns-3 .pm-badges > span { font-size: 9px; min-height: 16px; padding: 1px 0; }
  .pm-columns-3 .pm-product-open.pm-round { position: relative; right: auto; bottom: auto; margin: -3px -7px -7px auto; }
  .pm-columns-3 .pm-heart { top: -6px; right: -5px; }
  .pm-columns-3 .pm-heart svg { width: 15px; height: 15px; flex-basis: 15px; }
  .pm-product-photo > .pm-tire-brand { left: 0; bottom: -1px; max-width: 93%; height: 13px; }
  .pm-recommendation { grid-template-columns: 37% minmax(0,1fr); gap: 7px; padding: 7px; }
  .pm-recommendation .pm-product-photo { height: 112px; min-height: 112px; }
  .pm-recommendation h3 { font-size: 13px; line-height: 1.18; padding-right: 22px; }
  .pm-recommendation .pm-product-copy > p { font-size: 11px; line-height: 1.22; }
  .pm-recommendation .pm-product-open { min-height: 44px; margin-top: 5px; padding: 7px 12px; }
  .pm-recommendation .pm-badges { flex-wrap: wrap; gap: 4px; }
  .pm-category { grid-template-rows: 76px 1fr; padding: 5px 6px 9px; }
  .pm-category > img { height: 74px; }
  .pm-category > span:not(.pm-round) { font-size: 12px; overflow-wrap: normal; }
  .pm-nav { min-height: calc(67px + env(safe-area-inset-bottom,0px)); padding-top: 6px; padding-bottom: calc(6px + env(safe-area-inset-bottom,0px)); background: #fffffff7; }
  .pm-nav button { min-height: 53px; font-size: 11px; gap: 3px; }
  html.pm-sheet-open .pm-nav { visibility: hidden; pointer-events: none; }
  .pm-app .pm-sheet { max-height: calc(var(--pm-viewport-height,100dvh) - 24px); background: #f5f9ff; }
  .pm-sheet-handle { position: relative; flex-basis: 20px; height: 20px; width: 64px; margin: 0 auto; padding: 0; background: transparent; touch-action: none; }
  .pm-sheet-handle::before { content: ''; position: absolute; top: 8px; left: 12px; right: 12px; height: 4px; border-radius: 6px; background: #c5ccda; }
  .pm-sheet-header { padding-top: 0; min-height: 46px; }
  .pm-sheet-header h2 { font-size: 25px; }
  .pm-sheet-body { padding-bottom: calc(14px + env(safe-area-inset-bottom,0px)); scroll-padding-bottom: 92px; }
  .pm-filter-panel { padding: 11px; margin-bottom: 8px; }
  .pm-filter-panel h3, .pm-filter-panel legend { font-size: 15px; font-weight: 700; }
  .pm-filter-panel .pm-section-title { margin: -2px 0 3px; }
  .pm-select-label { padding: 6px 8px 0; }
  .pm-app .pm-select-trigger { font-size: 13px; line-height: 1.2; }
  .pm-filter-groups h3, .pm-filter-groups legend { font-size: 13px; }
  .pm-filter-categories { grid-auto-columns: 75px; }
  .pm-filter-categories > button { min-height: 92px; }
  .pm-filter-categories img { height: 55px; }
  .pm-filter-categories span { font-size: 11px; }
  .pm-segment span { font-size: 11px; }
  .pm-switches strong { font-size: 12px; }
  .pm-switches small { font-size: 11px; }
  .pm-unavailable { gap: 10px; padding: 14px; }
}
@media (min-width:480px) and (max-width:639px) {
 .pm-hero { min-height: 192px; }
 .pm-hero-copy h2 { font-size: 23px; }
 .pm-hero-copy p { font-size: 14px; }
 .pm-product-photo { height: 135px; min-height: 135px; }
 .pm-columns-3 .pm-product-photo { height: 108px; min-height: 108px; }
 .pm-columns-3 .pm-product h3 { font-size: 14px; }
 .pm-columns-3 .pm-product-copy > p { font-size: 12px; }
 .pm-columns-3 .pm-price { font-size: 19px; }
 .pm-badges > span, .pm-columns-3 .pm-badges > span { font-size: 11px; }
}
@media(max-width:639px) {
 .pm-hero-brakes .pm-hero-copy h2, .pm-hero-tires .pm-hero-copy h2 { width: calc(100% + 20px); }
 .pm-hero-main { min-height: 212px; padding-bottom: 60px; }
 .pm-hero-main .pm-hero-copy { width: 46%; }
 .pm-hero-main > .pm-hero-art { top: auto; bottom: 1px; right: 0; width: 59.527%; height: auto; max-height: none; }
 .pm-hero-main .pm-hero-copy p { width: 96%; font-size: 11px; }
 .pm-hero-main .pm-hero-modes { left: 7px; right: auto; bottom: 9px; width: 65%; gap: 5px; grid-template-columns: 1fr 1fr 1.4fr; }
 .pm-hero-main .pm-hero-modes button { min-height: 44px; padding: 6px 3px; gap: 4px; font-size: 10px; white-space: nowrap; box-shadow: 0 0 7px 4px #f8fbff; }
 .pm-hero-main .pm-hero-modes svg { width: 16px; height: 16px; flex-basis: 16px; }
 .pm-columns-3 .pm-product-open.pm-round { position: absolute; right: -7px; bottom: 17px; margin: 0; }
 .pm-columns-3 .pm-product-copy { padding-bottom: 0; }
 .pm-columns-3 .pm-price { padding-right: 0; }
 .pm-columns-3 .pm-badges { padding-right: 22px; }
}
@media(max-width:639px){
 .pm-chip { isolation:isolate; background:none; }
 .pm-chip::before { content:''; position:absolute; z-index:-1; inset:6px 0; border:1px solid #fff; border-radius:99px; background:#f0f5fc; }
 .pm-chip.is-active { background:none; }
 .pm-chip.is-active::before { background:#e5f3ff; border-color:#e5f3ff; }
 .pm-fitment-prompt { display:flex; align-items:center; flex-wrap:wrap; gap:0 8px; padding:2px 3px 6px; color:var(--pm-muted); font-size:11px; }
 .pm-fitment-prompt .pm-text { min-height:44px; font-size:12px!important; }
}
@media(max-width:639px){
 .pm-hero { background:#f7fbfe; }
 .pm-hero-art, .pm-hero-tires:has(.pm-hero-bottom-badges) .pm-hero-art { mix-blend-mode:normal; }
 .pm-hero-main > .pm-hero-art { right:0; bottom:0; }
 .pm-hero-main .pm-hero-modes { bottom:9px; }
 .pm-hero-main .pm-hero-modes button { box-shadow:0 0 5px 4px #f7fbfe; }
}
@media(max-width:479px){
 .pm-hero-main { min-height:192px; padding-bottom:55px; }
 .pm-hero-main > .pm-hero-art { top:24px; bottom:auto; }
 .pm-hero-main .pm-hero-copy h2 { font-size:17.5px; line-height:1.07; }
 .pm-hero-main .pm-hero-copy p { font-size:10.5px; line-height:1.22; }
 .pm-hero-main .pm-hero-modes { bottom:18px; }
}
@media(max-width:639px){ .pm-nav { background:#fff; } }
@media(max-width:639px){
 .pm-hero-tires .pm-hero-bottom-badges > span:last-child { position:relative; isolation:isolate; }
 .pm-hero-tires .pm-hero-bottom-badges > span:last-child::before { content:''; position:absolute; z-index:-1; inset:-3px -4px -4px -10px; border-radius:10px; background:#f7fbfe; box-shadow:0 0 3px 2px #f7fbfe; }
 .pm-price small { display:block; margin-top:2px; line-height:1.25; }
}

/* Shared MAUTO interface: preserve the approved subjects and three-column catalog. */
@media (max-width:639px) {
  .pg-app .pm-app {
    --pm-blue:var(--mauto-ds-color-primary,#1569e8);
    --pm-muted:var(--mauto-ds-color-text-secondary,#61758d);
    font-family:var(--mauto-ds-font-sans,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
  }
  .pm-app .pm-hero-copy h2,.pm-app .pm-search input { font-family:inherit; }
  .pm-hero:is(.pm-hero-filters,.pm-hero-suspension,.pm-hero-tires) {
    display:grid;
    grid-template-columns:minmax(0,46fr) minmax(0,54fr);
    align-items:start;
    gap:10px;
    min-height:190px;
    padding:12px;
  }
  .pm-hero:is(.pm-hero-filters,.pm-hero-suspension,.pm-hero-tires) .pm-hero-copy {
    grid-column:1;
    grid-row:1;
    width:auto;
  }
  .pm-hero:is(.pm-hero-filters,.pm-hero-suspension,.pm-hero-tires) .pm-hero-copy h2 {
    width:auto;
    font-size:clamp(18px,4.7vw,23px);
    line-height:1.13;
    letter-spacing:-.35px;
    overflow-wrap:normal;
  }
  .pm-hero:is(.pm-hero-filters,.pm-hero-suspension,.pm-hero-tires) .pm-hero-copy p {
    font-size:12px;
    line-height:1.4;
    overflow-wrap:normal;
  }
  .pm-hero:is(.pm-hero-filters,.pm-hero-suspension,.pm-hero-tires) .pm-hero-art {
    position:relative;
    grid-column:2;
    grid-row:1;
    align-self:stretch;
    top:auto;
    right:auto;
    bottom:auto;
    left:auto;
    width:100%;
    height:100%;
    min-height:160px;
    max-height:260px;
    object-fit:contain;
    object-position:center;
  }
  .pm-hero:is(.pm-hero-suspension,.pm-hero-tires):has(.pm-hero-note) .pm-hero-art {
    padding-top:52px;
  }
  .pm-hero:is(.pm-hero-suspension,.pm-hero-tires) .pm-hero-note {
    top:9px;
    right:9px;
    width:calc(50% - 12px);
    min-height:42px;
    padding:6px;
    font-size:11px;
    line-height:1.3;
  }
  .pm-hero-tires:has(.pm-hero-bottom-badges) { padding-bottom:12px; }
  .pm-hero-tires .pm-hero-bottom-badges {
    position:static;
    grid-column:1 / -1;
    grid-row:2;
    width:auto;
    gap:6px;
    margin-top:2px;
  }
  .pm-hero-tires .pm-hero-bottom-badges > span { font-size:11px;line-height:1.3;padding:7px 5px; }
  .pm-hero-tires .pm-hero-bottom-badges > span:last-child::before { content:none; }
  .pm-hero-note { font-size:10px;line-height:1.3; }
  .pm-section-title .pm-text { font-size:12px!important; }
  .pm-heading p,.pm-chip,.pm-fitment-prompt { font-size:12px; }
  .pm-product-grid .pm-product { min-width:0; }
  .pm-product-grid .pm-product h3 { font-size:13px;line-height:1.3;letter-spacing:-.2px; }
  .pm-product-grid .pm-product h3 a { overflow-wrap:anywhere;word-break:normal; }
  .pm-product-grid .pm-product-copy > p { font-size:12px;line-height:1.35;overflow-wrap:anywhere; }
  .pm-product-grid .pm-badges { flex-wrap:wrap; }
  .pm-product-grid .pm-badges > span { font-size:11px;line-height:1.3;min-height:20px; }
  .pm-columns-3 .pm-product-copy { padding-bottom:38px; }
  .pm-columns-3 .pm-product-open.pm-round { right:-3px;bottom:-4px; }
  .pm-columns-3 .pm-badges { padding-right:0; }
  .pm-product-grid .pm-price small { font-size:11px;line-height:1.3; }
  .pm-category > span:not(.pm-round) { font-size:13px;line-height:1.3; }
  .pm-recommendation h3 { font-size:14px;line-height:1.3; }
  .pm-recommendation .pm-product-copy > p { font-size:12px;line-height:1.4; }
  .pm-app .pm-select-trigger { min-height:var(--mauto-ds-touch-target,44px);font-size:14px; }
  .pm-segment span,.pm-filter-categories span,.pm-switches small { font-size:12px;line-height:1.35; }
  .pm-switches strong { font-size:13px;line-height:1.3; }
  .pm-hero-batteries:has(.pm-hero-assurances) {
    display:grid;
    grid-template-columns:minmax(0,46fr) minmax(0,54fr);
    align-items:start;
    gap:12px 10px;
    padding:12px;
    min-height:190px;
  }
  .pm-hero-batteries:has(.pm-hero-assurances) .pm-hero-copy {
    grid-column:1;
    grid-row:1;
    width:auto;
  }
  .pm-hero-batteries:has(.pm-hero-assurances) .pm-hero-copy h2 { font-size:clamp(18px,4.7vw,23px);line-height:1.13; }
  .pm-hero-batteries:has(.pm-hero-assurances) .pm-hero-copy p { font-size:12px;line-height:1.4; }
  .pm-hero-batteries:has(.pm-hero-assurances) .pm-hero-art {
    position:relative;
    grid-column:2;
    grid-row:1;
    align-self:stretch;
    inset:auto;
    width:100%;
    height:100%;
    min-height:150px;
    max-height:250px;
    object-fit:contain;
    object-position:center;
  }
  .pm-hero-batteries .pm-hero-assurances {
    position:static;
    grid-column:1 / -1;
    grid-row:2;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    width:auto;
    transform:none;
  }
  .pm-hero-batteries .pm-hero-assurances > * {
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:6px;
    min-height:0;
    padding:8px 5px;
    font-size:12px;
    line-height:1.35;
    text-align:center;
    color:var(--pm-muted);
  }
  .pm-hero-batteries .pm-hero-assurances svg { width:20px;height:20px;flex-basis:20px; }
  .pm-hero-batteries .pm-hero-assurances span { max-width:100%;overflow-wrap:anywhere;hyphens:auto; }
}
@media (max-width:359px) {
  .pm-product-grid .pm-price { font-size:16px;letter-spacing:-.35px;white-space:nowrap; }
  .pm-product-grid .pm-price small { white-space:normal;overflow-wrap:anywhere; }
  .pm-hero-tires .pm-hero-bottom-badges { min-width:0; }
  .pm-hero-tires .pm-hero-bottom-badges > span {
    min-width:0;
    flex-wrap:wrap;
    justify-content:center;
    overflow-wrap:anywhere;
    text-align:center;
  }
}

/* Physical subtype filters retain their exact approved product media. */
.pm-app .pm-chip-media{display:block;flex:0 0 auto;width:32px;height:28px;object-fit:contain;object-position:center;border-radius:5px}

/* The caption stays in document flow, never over the part or its favourite control. */
.pm-app .pm-illustration-label { display:block; margin:0 0 5px; color:var(--mauto-ds-color-text-secondary,#61758d); font-size:12px; font-weight:400; line-height:1.35; overflow-wrap:anywhere; }

/* Audit 2026-09-10: independent hero columns and category-specific filters. */
@media(max-width:639px) {
  .pm-app :is(.pm-hero-main,.pm-hero-brakes) { display:grid;grid-template-columns:minmax(0,47fr) minmax(0,53fr);gap:14px 10px;padding:16px;min-height:0; }
  .pm-app :is(.pm-hero-main,.pm-hero-brakes) .pm-hero-copy { grid-area:1/1;width:auto;min-width:0;align-self:center; }
  .pm-app :is(.pm-hero-main,.pm-hero-brakes) .pm-hero-copy h2 { width:auto;font-size:clamp(18px,4.8vw,23px);line-height:1.15;overflow-wrap:anywhere; }
  .pm-app :is(.pm-hero-main,.pm-hero-brakes) .pm-hero-copy p { width:auto;font-size:12px;line-height:1.45;overflow-wrap:anywhere; }
  .pm-app :is(.pm-hero-main,.pm-hero-brakes)>.pm-hero-art { position:relative;grid-area:1/2;inset:auto;width:100%;height:100%;min-height:150px;max-height:none;object-fit:contain;object-position:center;align-self:center; }
  .pm-app .pm-hero-main .pm-hero-note { position:static;grid-column:1/-1;width:auto;min-height:0;justify-self:start;font-size:11px; }
  .pm-app .pm-hero-main .pm-hero-modes { position:static;grid-column:1/-1;width:auto;gap:8px;grid-template-columns:1fr 1fr 1.3fr; }
  .pm-app .pm-hero-main .pm-hero-modes button { white-space:normal;box-shadow:none;font-size:11px; }
  .pm-avatar { display:grid;place-items:center;min-width:40px;min-height:40px;border-radius:50%;background:#f0f4f8;color:#52687f; }
  .pm-category-facets { display:grid;gap:10px;margin-block:14px; }
  .pm-facet { margin:0;min-width:0;border:0; }
  .pm-facet legend { padding:0 0 10px;font-weight:650; }
  .pm-facet-options { display:flex;flex-wrap:wrap;gap:8px; }
  .pm-facet-options label { position:relative;display:block;max-width:100%; }
  .pm-facet-options input { position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer; }
  .pm-facet-options span { display:flex;align-items:center;min-height:42px;padding:9px 13px;border-radius:12px;background:#f1f4f8;color:#52687f;overflow-wrap:anywhere; }
  .pm-facet-options input:checked+span { background:#e7effa;color:var(--mauto-ds-color-primary,#3c78da);box-shadow:inset 0 0 0 1px #bacde5; }
  .pm-facet-options input:focus-visible+span { outline:2px solid #243b55;outline-offset:3px; }
}

/* Show only primary actions backed by the current Parts capabilities. */
.pg-app [hidden] { display:none!important; }
.pm-app .pm-hero-main .pm-hero-modes { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pg-app .pg-request-button { min-height:42px;padding:9px 14px;border:0;border-radius:12px;background:#edf4fc;color:var(--mauto-ds-color-primary,#3c78da);font:inherit;font-weight:600;cursor:pointer;;box-shadow:var(--mauto-ds-action-depth)}

@media(max-width:767px){.pg-app.pg-app-detail>.pm-app{display:none!important}}
