/*
 * Pro Garage Performance — v905 compact unified UI owner
 *
 * This file owns presentation and UI geometry only. It intentionally does not
 * change routes, forms, auth/OTP, cart storage, requests, WhatsApp, Stripe,
 * checkout, API calls, webhooks, permissions, or application data.
 */

:root {
  --pgp-v904-red: #ef174c;
  --pgp-v904-red-dark: #c70d3c;
  --pgp-v904-ink: #15171b;
  --pgp-v904-muted: #666a72;
  --pgp-v904-panel: #ffffff;
  --pgp-v904-line: rgba(21, 23, 27, 0.13);
  --pgp-v904-purple: #5b20e9;
  --pgp-v904-purple-dark: #4612c9;
  --pgp-v904-arrow-size: 46px;
  --pgp-v904-arrow-icon-size: 25px;
  --pgp-v904-arrow-surface: #5b20e9;
  --pgp-v904-arrow-shadow: 0 8px 20px rgba(61, 24, 170, 0.24);
  --pgp-v904-arrow-left: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M15.5%205.5L9%2012l6.5%206.5M9%2012h12%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222.55%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  --pgp-v904-arrow-right: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M8.5%205.5L15%2012l-6.5%206.5M15%2012H3%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222.55%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}

/* ==========================================================================
   v905 final shared tokens

   These variables are consumed by both the stylesheet and the v905 controller.
   The carousel surface is intentionally translucent; only the glyph changes
   to red during the short pressed state.
   ========================================================================== */
:root {
  --pgp-v904-arrow-size: 42px;
  --pgp-v904-arrow-icon-size: 22px;
  --pgp-v904-arrow-surface: rgba(48, 31, 105, 0.84);
  --pgp-v904-arrow-border: rgba(69, 43, 154, 0.72);
  --pgp-v904-arrow-shadow: 0 7px 18px rgba(38, 23, 91, 0.2);
  --pgp-v904-arrow-left: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M12.75%207L7.75%2012l5%205M7.75%2012h8.5%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222.35%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  --pgp-v904-arrow-right: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M11.25%207l5%205-5%205M16.25%2012h-8.5%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222.35%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  --pgp-v905-arrow-left-pressed: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M12.75%207L7.75%2012l5%205M7.75%2012h8.5%22%20stroke%3D%22%23ff315f%22%20stroke-width%3D%222.35%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  --pgp-v905-arrow-right-pressed: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M11.25%207l5%205-5%205M16.25%2012h-8.5%22%20stroke%3D%22%23ff315f%22%20stroke-width%3D%222.35%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}

html.pgp-v904-root,
html.pgp-v904-root body.pgp-v904-page,
html.pgp-v904-css-ready body.pgp-v904-page {
  max-width: 100% !important;
}

html.pgp-v904-root body.pgp-v904-page,
html.pgp-v904-css-ready body.pgp-v904-page {
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: max(112px, calc(98px + env(safe-area-inset-bottom))) !important;
}

html.pgp-v904-root body.pgp-v904-page > main,
html.pgp-v904-root body.pgp-v904-page > #app,
html.pgp-v904-root body.pgp-v904-page > .app {
  max-width: 100% !important;
}

/* --------------------------------------------------------------------------
   Header — physical left logo, physical right hamburger, static page flow
   -------------------------------------------------------------------------- */

html.pgp-v904-root body.pgp-v904-page .pgp-app-header,
html.pgp-v904-css-ready body.pgp-v904-page .pgp-app-header,
html.pgp-v904-root body.pgp-v904-page:has(#home) .pgp-app-header,
html.pgp-v904-css-ready body.pgp-v904-page:has(#home) .pgp-app-header {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 5000 !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 10px 18px 14px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  background: rgba(255, 255, 255, 0.985) !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(21, 23, 27, 0.07) !important;
  outline: 0 !important;
  box-shadow: 0 7px 24px rgba(21, 23, 27, 0.04) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transform: none !important;
  translate: none !important;
  animation: none !important;
  pointer-events: auto !important;
  isolation: isolate !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-app-header .pgp-app-header-inner,
html.pgp-v904-css-ready body.pgp-v904-page .pgp-app-header .pgp-app-header-inner,
html.pgp-v904-root body.pgp-v904-page:has(#home) .pgp-app-header .pgp-app-header-inner,
html.pgp-v904-css-ready body.pgp-v904-page:has(#home) .pgp-app-header .pgp-app-header-inner {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  z-index: auto !important;
  display: grid !important;
  grid-template-columns: auto minmax(20px, 1fr) auto auto auto !important;
  grid-template-rows: 66px !important;
  align-items: center !important;
  justify-content: stretch !important;
  gap: 12px !important;
  direction: ltr !important;
  width: min(1440px, 100%) !important;
  min-width: 0 !important;
  max-width: 1440px !important;
  min-height: 66px !important;
  height: 66px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transform: none !important;
  translate: none !important;
  animation: none !important;
  pointer-events: auto !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-left {
  grid-column: 1 !important;
  grid-row: 1 !important;
  justify-self: start !important;
  align-self: center !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-spacer {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  min-width: 0 !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-logo-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 88px !important;
  min-width: 88px !important;
  max-width: 88px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
  translate: none !important;
  pointer-events: auto !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-logo-link img {
  display: block !important;
  width: 88px !important;
  min-width: 0 !important;
  max-width: 88px !important;
  height: 40px !important;
  min-height: 0 !important;
  max-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: left center !important;
  transform: none !important;
  translate: none !important;
  filter: none !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-tabs {
  grid-column: 3 !important;
  grid-row: 1 !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  direction: ltr !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
  translate: none !important;
  pointer-events: auto !important;
}

/* DOM order is Garages, Liket, Following. Explicit visual order keeps the
   requested physical left-to-right sequence stable in both RTL and LTR. */
html.pgp-v904-root body.pgp-v904-page .pgp-header-tabs > .pgp-header-tab:nth-child(3) {
  order: 1 !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-tabs > .pgp-header-tab:nth-child(2) {
  order: 2 !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-tabs > .pgp-header-tab:nth-child(1) {
  order: 3 !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-tabs .pgp-header-tab,
html.pgp-v904-root body.pgp-v904-page .pgp-header-tabs .pgp-header-tab:is(:link, :visited, :hover, :focus, :focus-visible, :active) {
  position: relative !important;
  inset: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: auto !important;
  min-width: 102px !important;
  max-width: none !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  background: #232428 !important;
  background-color: #232428 !important;
  background-image: none !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 4px !important;
  outline: 0 !important;
  box-shadow: none !important;
  clip-path: polygon(5px 0, 100% 0, calc(100% - 5px) 100%, 0 100%) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-shadow: none !important;
  transform: none !important;
  translate: none !important;
  scale: none !important;
  transition: background-color 0.14s ease, color 0.14s ease !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-tabs .pgp-header-tab:hover,
html.pgp-v904-root body.pgp-v904-page .pgp-header-tabs .pgp-header-tab:focus-visible {
  background: #d71945 !important;
  background-color: #d71945 !important;
  transform: none !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-tabs .pgp-header-tab:is(.is-active, .active, [aria-current="page"]) {
  background: var(--pgp-v904-red) !important;
  background-color: var(--pgp-v904-red) !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-tabs .pgp-header-tab::before,
html.pgp-v904-root body.pgp-v904-page .pgp-header-tabs .pgp-header-tab::after {
  content: none !important;
  display: none !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-tabs .pgp-header-tab svg {
  display: block !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
  transform: none !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-tabs .pgp-header-tab svg * {
  color: #ffffff !important;
  fill: inherit !important;
  stroke: inherit !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-lang-wrap {
  grid-column: 4 !important;
  grid-row: 1 !important;
  position: relative !important;
  justify-self: end !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: auto !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-lang-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  min-width: 48px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 8px !important;
  background: transparent !important;
  color: #22252a !important;
  border: 1px solid rgba(21, 23, 27, 0.12) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  transform: none !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-lang-menu {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  left: auto !important;
  z-index: 2147483002 !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-parts-menu-button {
  grid-column: 5 !important;
  grid-row: 1 !important;
  position: relative !important;
  inset: auto !important;
  z-index: 2147483001 !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  justify-self: end !important;
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  margin: 0 !important;
  padding: 7px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  background: transparent !important;
  background-image: none !important;
  color: #111318 !important;
  border: 0 !important;
  border-radius: 12px !important;
  outline: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  translate: none !important;
  scale: none !important;
  pointer-events: auto !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-parts-menu-button:is(:hover, :focus, :focus-visible, :active, [aria-expanded="true"]) {
  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 7px !important;
  background: rgba(239, 23, 76, 0.07) !important;
  border-radius: 12px !important;
  transform: none !important;
  translate: none !important;
  scale: none !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-parts-menu-button span,
html.pgp-v904-root body.pgp-v904-page .pgp-parts-menu-button:is(:hover, :focus, :focus-visible, :active, [aria-expanded="true"]) span {
  display: block !important;
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 4px !important;
  min-height: 4px !important;
  max-height: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #111318 !important;
  background-color: #111318 !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  transform: none !important;
  translate: none !important;
  opacity: 1 !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-parts-menu-button[aria-expanded="true"] span {
  background: var(--pgp-v904-red) !important;
  background-color: var(--pgp-v904-red) !important;
}

/* --------------------------------------------------------------------------
   Search — one exact clickable pill; all interaction states are invariant
   -------------------------------------------------------------------------- */

html.pgp-v904-root body.pgp-v904-page .pgp-header-search-wrap {
  position: relative !important;
  inset: auto !important;
  z-index: 20 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 2px 0 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-search-form {
  position: relative !important;
  inset: auto !important;
  z-index: 21 !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: stretch !important;
  direction: ltr !important;
  width: min(620px, calc(100vw - 36px)) !important;
  min-width: 260px !important;
  max-width: 620px !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  margin: 0 auto !important;
  padding: 3px 3px 3px 18px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border: 2px solid #55595f !important;
  border-radius: 999px !important;
  outline: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  translate: none !important;
  scale: none !important;
  transition: border-color 0.14s ease, box-shadow 0.14s ease !important;
  pointer-events: auto !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-search-form:focus-within {
  width: min(620px, calc(100vw - 36px)) !important;
  height: 52px !important;
  margin: 0 auto !important;
  padding: 3px 3px 3px 18px !important;
  border: 2px solid var(--pgp-v904-red) !important;
  border-radius: 999px !important;
  box-shadow: 0 0 0 4px rgba(239, 23, 76, 0.11) !important;
  transform: none !important;
  translate: none !important;
  scale: none !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-search-form::before,
html.pgp-v904-root body.pgp-v904-page .pgp-header-search-form::after {
  content: none !important;
  display: none !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-search-input,
html.pgp-v904-root body.pgp-v904-page .pgp-header-search-input:is(:hover, :focus, :focus-visible, :active) {
  position: relative !important;
  z-index: 22 !important;
  display: block !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
  direction: rtl !important;
  text-align: center !important;
  background: transparent !important;
  background-image: none !important;
  color: #202329 !important;
  border: 0 !important;
  border-radius: 999px !important;
  outline: 0 !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 44px !important;
  transform: none !important;
  pointer-events: auto !important;
  cursor: text !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-search-input::placeholder {
  color: #777b82 !important;
  opacity: 1 !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-search-submit,
html.pgp-v904-root body.pgp-v904-page .pgp-header-search-submit:is(:hover, :focus, :focus-visible, :active) {
  position: relative !important;
  inset: auto !important;
  z-index: 23 !important;
  display: inline-flex !important;
  flex: 0 0 44px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background: #33353a !important;
  background-color: #33353a !important;
  background-image: none !important;
  color: #ffffff !important;
  border: 3px solid var(--pgp-v904-red) !important;
  border-radius: 50% !important;
  outline: 0 !important;
  box-shadow: 0 5px 14px rgba(239, 23, 76, 0.26) !important;
  transform: none !important;
  translate: none !important;
  scale: none !important;
  filter: none !important;
  opacity: 1 !important;
  transition: none !important;
  animation: none !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-search-submit::before,
html.pgp-v904-root body.pgp-v904-page .pgp-header-search-submit::after {
  content: none !important;
  display: none !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-header-search-submit svg,
html.pgp-v904-root body.pgp-v904-page .pgp-header-search-submit:is(:hover, :focus, :focus-visible, :active) svg {
  display: block !important;
  width: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  margin: 0 !important;
  color: #ffffff !important;
  stroke: #ffffff !important;
  fill: none !important;
  transform: none !important;
  translate: none !important;
  scale: none !important;
  opacity: 1 !important;
}

/* --------------------------------------------------------------------------
   Parts menu — below the hamburger; the trigger always remains unobstructed
   -------------------------------------------------------------------------- */

html.pgp-v904-root body.pgp-v904-page #pgpHeaderPartsMenu {
  position: fixed !important;
  inset: auto !important;
  z-index: 2147483000 !important;
  display: none !important;
  width: min(390px, calc(100vw - 24px)) !important;
  min-width: 0 !important;
  max-width: min(390px, calc(100vw - 24px)) !important;
  max-height: calc(100dvh - 96px) !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  direction: ltr !important;
  background: #17181c !important;
  background-color: #17181c !important;
  background-image: none !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 18px !important;
  outline: 0 !important;
  box-shadow: 0 24px 60px rgba(14, 15, 18, 0.32) !important;
  transform: none !important;
  translate: none !important;
  scale: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  isolation: isolate !important;
}

html.pgp-v904-root body.pgp-v904-page #pgpHeaderPartsMenu.is-open,
html.pgp-v904-root body.pgp-v904-page.pgp-parts-menu-open #pgpHeaderPartsMenu {
  display: block !important;
}

html.pgp-v904-root body.pgp-v904-page #pgpHeaderPartsMenu:not(.is-open) {
  display: none !important;
  pointer-events: none !important;
}

html.pgp-v904-root body.pgp-v904-page #pgpHeaderPartsMenu .pgp-header-parts-head {
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 11px 14px !important;
  background: linear-gradient(135deg, #f3134c, #d70c3e) !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 17px 17px 0 0 !important;
}

html.pgp-v904-root body.pgp-v904-page #pgpHeaderPartsMenu .pgp-header-parts-close {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: rgba(255, 255, 255, 0.13) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  transform: none !important;
}

html.pgp-v904-root body.pgp-v904-page #pgpHeaderPartsMenu .pgp-platform-menu {
  margin: 0 !important;
  padding: 8px 12px 14px !important;
  background: transparent !important;
}

html.pgp-v904-root body.pgp-v904-page #pgpHeaderPartsMenu .pgp-platform-group {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(239, 23, 76, 0.18) !important;
}

html.pgp-v904-root body.pgp-v904-page #pgpHeaderPartsMenu .pgp-platform-group > summary {
  min-height: 54px !important;
  margin: 0 !important;
  padding: 15px 12px !important;
  box-sizing: border-box !important;
  background: rgba(255, 255, 255, 0.018) !important;
  color: #ffffff !important;
  border: 0 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  cursor: pointer !important;
}

html.pgp-v904-root body.pgp-v904-page #pgpHeaderPartsMenu .pgp-platform-group > a {
  display: block !important;
  padding: 11px 16px !important;
  background: rgba(255, 255, 255, 0.025) !important;
  color: #e8e9ec !important;
  border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}

/* --------------------------------------------------------------------------
   Home section header — identity is on the physical left
   -------------------------------------------------------------------------- */

html.pgp-v904-root body.pgp-v904-page #home .pgp-most-viewed-card {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 0 22px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

html.pgp-v904-root body.pgp-v904-page #home .pgp-most-head {
  position: relative !important;
  inset: auto !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  direction: ltr !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 116px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 18px 22px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  text-align: left !important;
  transform: none !important;
}

html.pgp-v904-root body.pgp-v904-page #home .pgp-most-head > div:first-child {
  position: relative !important;
  inset: auto !important;
  order: 1 !important;
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  align-content: center !important;
  justify-content: start !important;
  column-gap: 13px !important;
  row-gap: 3px !important;
  direction: ltr !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: min(680px, calc(100% - 210px)) !important;
  min-height: 68px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  text-align: left !important;
  transform: none !important;
  translate: none !important;
}

html.pgp-v904-root body.pgp-v904-page #home .pgp-home-section-avatar {
  position: static !important;
  inset: auto !important;
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
  justify-self: start !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 62px !important;
  min-width: 62px !important;
  max-width: 62px !important;
  height: 62px !important;
  min-height: 62px !important;
  max-height: 62px !important;
  margin: 0 !important;
  padding: 3px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 2px solid rgba(239, 23, 76, 0.65) !important;
  border-radius: 50% !important;
  box-shadow: 0 6px 18px rgba(239, 23, 76, 0.14) !important;
  transform: none !important;
  translate: none !important;
}

html.pgp-v904-root body.pgp-v904-page #home .pgp-home-section-avatar-img {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 50% !important;
  transform: none !important;
  translate: none !important;
}

html.pgp-v904-root body.pgp-v904-page #home .pgp-most-head > div:first-child > h2 {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: end !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  font-size: clamp(21px, 2vw, 30px) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  transform: none !important;
}

html.pgp-v904-root body.pgp-v904-page #home .pgp-home-section-title-link {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  color: #111318 !important;
  text-align: left !important;
  text-decoration: none !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html.pgp-v904-root body.pgp-v904-page #home .pgp-most-head > div:first-child > span:not(.pgp-home-section-avatar) {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: start !important;
  display: block !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: var(--pgp-v904-muted) !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

html.pgp-v904-root body.pgp-v904-page #home .pgp-home-actionsbar {
  position: static !important;
  inset: auto !important;
  order: 2 !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 5px !important;
  direction: ltr !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
  translate: none !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-v904-identity-host {
  direction: ltr !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-v904-identity-leading,
html.pgp-v904-root body.pgp-v904-page .pgp-v904-identity-avatar,
html.pgp-v904-root body.pgp-v904-page .pgp-v904-identity-copy {
  left: auto !important;
  right: auto !important;
  margin-left: 0 !important;
  transform: none !important;
  translate: none !important;
}

/* --------------------------------------------------------------------------
   Product rows — only known application rows are sized by v904
   -------------------------------------------------------------------------- */

html.pgp-v904-root body.pgp-v904-page #home .pgp-most-scroll-wrap,
html.pgp-v904-root body.pgp-v904-page #home .pgp-view-shell,
html.pgp-v904-root body.pgp-v904-page #iq-garages .pgp-view-shell,
html.pgp-v904-root body.pgp-v904-page .pgp-parts-wrap .pgp-view-shell {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  contain: layout paint inline-size !important;
}

html.pgp-v904-root body.pgp-v904-page #home .pgp-most-row,
html.pgp-v904-root body.pgp-v904-page #home .pgp-shared-product-row,
html.pgp-v904-root body.pgp-v904-page #iq-garages .product-row,
html.pgp-v904-root body.pgp-v904-page #iq-garages .pgp-product-row,
html.pgp-v904-root body.pgp-v904-page .pgp-parts-wrap .product-row,
html.pgp-v904-root body.pgp-v904-page .pgp-parts-wrap .pgp-product-row {
  position: relative !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  direction: ltr !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 0 4px !important;
  box-sizing: border-box !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-behavior: smooth !important;
  scroll-snap-type: x mandatory !important;
  scrollbar-width: none !important;
  overscroll-behavior-inline: contain !important;
  -webkit-overflow-scrolling: touch !important;
}

html.pgp-v904-root body.pgp-v904-page #home .pgp-most-row::-webkit-scrollbar,
html.pgp-v904-root body.pgp-v904-page #home .pgp-shared-product-row::-webkit-scrollbar,
html.pgp-v904-root body.pgp-v904-page #iq-garages .product-row::-webkit-scrollbar,
html.pgp-v904-root body.pgp-v904-page #iq-garages .pgp-product-row::-webkit-scrollbar,
html.pgp-v904-root body.pgp-v904-page .pgp-parts-wrap .product-row::-webkit-scrollbar,
html.pgp-v904-root body.pgp-v904-page .pgp-parts-wrap .pgp-product-row::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

html.pgp-v904-root body.pgp-v904-page #home .pgp-most-row > *,
html.pgp-v904-root body.pgp-v904-page #home .pgp-shared-product-row > *,
html.pgp-v904-root body.pgp-v904-page #iq-garages .product-row > *,
html.pgp-v904-root body.pgp-v904-page #iq-garages .pgp-product-row > *,
html.pgp-v904-root body.pgp-v904-page .pgp-parts-wrap .product-row > *,
html.pgp-v904-root body.pgp-v904-page .pgp-parts-wrap .pgp-product-row > * {
  flex: 0 0 calc((100% - 48px) / 5) !important;
  width: calc((100% - 48px) / 5) !important;
  min-width: calc((100% - 48px) / 5) !important;
  max-width: calc((100% - 48px) / 5) !important;
  box-sizing: border-box !important;
  scroll-snap-align: start !important;
}

html.pgp-v904-root body.pgp-v904-page #home .pgp-most-product {
  min-height: 238px !important;
  height: 238px !important;
  max-height: 238px !important;
  overflow: hidden !important;
}

/* --------------------------------------------------------------------------
   Carousel arrows — one immutable shape for default/hover/focus/press/disabled
   -------------------------------------------------------------------------- */

html.pgp-v904-root body.pgp-v904-page :is(
  .pgp-most-scroll-wrap,
  .pgp-view-shell,
  .product-scroll-wrap,
  .pgp-product-scroll-wrap,
  .pgp-row-wrap
) {
  position: relative !important;
}

html.pgp-v904-root body.pgp-v904-page :is(
  .pgp-v904-carousel-arrow,
  .pgp-view-arrow,
  .pgp-most-arrow,
  .row-arrow,
  .pgp-row-arrow,
  .pgp-row-arrow-btn,
  .pgp-slider-arrow,
  .pgp-shop-arrow,
  .shop-arrow,
  .pgp-related-arrow,
  .pgp-section-arrow
),
html.pgp-v904-root body.pgp-v904-page :is(
  .pgp-v904-carousel-arrow,
  .pgp-view-arrow,
  .pgp-most-arrow,
  .row-arrow,
  .pgp-row-arrow,
  .pgp-row-arrow-btn,
  .pgp-slider-arrow,
  .pgp-shop-arrow,
  .shop-arrow,
  .pgp-related-arrow,
  .pgp-section-arrow
):is(:hover, :focus, :focus-visible, :active, .active, .is-active, [aria-pressed="true"], [aria-disabled="true"]) {
  position: absolute !important;
  inset: auto !important;
  top: 50% !important;
  bottom: auto !important;
  z-index: 16 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: var(--pgp-v904-arrow-size) !important;
  min-width: var(--pgp-v904-arrow-size) !important;
  max-width: var(--pgp-v904-arrow-size) !important;
  height: var(--pgp-v904-arrow-size) !important;
  min-height: var(--pgp-v904-arrow-size) !important;
  max-height: var(--pgp-v904-arrow-size) !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background-color: var(--pgp-v904-arrow-surface) !important;
  background-image: none !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: var(--pgp-v904-arrow-icon-size) var(--pgp-v904-arrow-icon-size) !important;
  color: transparent !important;
  border: 1px solid var(--pgp-v904-purple-dark) !important;
  border-radius: 50% !important;
  outline: 0 !important;
  box-shadow: var(--pgp-v904-arrow-shadow) !important;
  font-size: 0 !important;
  font-weight: 900 !important;
  line-height: 0 !important;
  text-align: center !important;
  text-indent: 0 !important;
  transform: translateY(-50%) !important;
  translate: none !important;
  scale: none !important;
  rotate: none !important;
  filter: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  transition: none !important;
  animation: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

html.pgp-v904-root body.pgp-v904-page :is(
  .pgp-v904-arrow-left,
  .pgp-view-arrow-left,
  .pgp-dir-left,
  .pgp-most-arrow.left,
  .row-arrow.left,
  .pgp-row-arrow.left,
  .pgp-row-arrow-btn.left,
  .pgp-slider-arrow.left,
  .pgp-shop-arrow.left,
  .shop-arrow.left,
  .pgp-related-arrow.left,
  .pgp-section-arrow.left,
  [data-pgp-arrow-dir="left"],
  [data-pgp-v904-direction="left"]
),
html.pgp-v904-root body.pgp-v904-page :is(
  .pgp-v904-arrow-left,
  .pgp-view-arrow-left,
  .pgp-dir-left,
  .pgp-most-arrow.left,
  .row-arrow.left,
  .pgp-row-arrow.left,
  .pgp-row-arrow-btn.left,
  .pgp-slider-arrow.left,
  .pgp-shop-arrow.left,
  .shop-arrow.left,
  .pgp-related-arrow.left,
  .pgp-section-arrow.left,
  [data-pgp-arrow-dir="left"],
  [data-pgp-v904-direction="left"]
):is(
  :hover,
  :focus,
  :focus-visible,
  :active,
  .active,
  .is-active,
  [aria-pressed="true"],
  [aria-disabled="true"]
) {
  right: auto !important;
  left: 8px !important;
  background-color: var(--pgp-v904-arrow-surface) !important;
  background-image: var(--pgp-v904-arrow-left) !important;
  transform: translateY(-50%) !important;
}

html.pgp-v904-root body.pgp-v904-page :is(
  .pgp-v904-arrow-right,
  .pgp-view-arrow-right,
  .pgp-dir-right,
  .pgp-most-arrow.right,
  .row-arrow.right,
  .pgp-row-arrow.right,
  .pgp-row-arrow-btn.right,
  .pgp-slider-arrow.right,
  .pgp-shop-arrow.right,
  .shop-arrow.right,
  .pgp-related-arrow.right,
  .pgp-section-arrow.right,
  [data-pgp-arrow-dir="right"],
  [data-pgp-v904-direction="right"]
),
html.pgp-v904-root body.pgp-v904-page :is(
  .pgp-v904-arrow-right,
  .pgp-view-arrow-right,
  .pgp-dir-right,
  .pgp-most-arrow.right,
  .row-arrow.right,
  .pgp-row-arrow.right,
  .pgp-row-arrow-btn.right,
  .pgp-slider-arrow.right,
  .pgp-shop-arrow.right,
  .shop-arrow.right,
  .pgp-related-arrow.right,
  .pgp-section-arrow.right,
  [data-pgp-arrow-dir="right"],
  [data-pgp-v904-direction="right"]
):is(
  :hover,
  :focus,
  :focus-visible,
  :active,
  .active,
  .is-active,
  [aria-pressed="true"],
  [aria-disabled="true"]
) {
  right: 8px !important;
  left: auto !important;
  background-color: var(--pgp-v904-arrow-surface) !important;
  background-image: var(--pgp-v904-arrow-right) !important;
  transform: translateY(-50%) !important;
}

html.pgp-v904-root body.pgp-v904-page :is(
  .pgp-v904-carousel-arrow,
  .pgp-view-arrow,
  .pgp-most-arrow,
  .row-arrow,
  .pgp-row-arrow,
  .pgp-row-arrow-btn,
  .pgp-slider-arrow,
  .pgp-shop-arrow,
  .shop-arrow,
  .pgp-related-arrow,
  .pgp-section-arrow
)::before,
html.pgp-v904-root body.pgp-v904-page :is(
  .pgp-v904-carousel-arrow,
  .pgp-view-arrow,
  .pgp-most-arrow,
  .row-arrow,
  .pgp-row-arrow,
  .pgp-row-arrow-btn,
  .pgp-slider-arrow,
  .pgp-shop-arrow,
  .shop-arrow,
  .pgp-related-arrow,
  .pgp-section-arrow
)::after {
  content: none !important;
  display: none !important;
}

html.pgp-v904-root body.pgp-v904-page .pgp-v904-orphan-arrow,
html.pgp-v904-root body.pgp-v904-page .pgp-v904-orphan-arrow:is(:hover, :focus, :active) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html.pgp-v904-root body.pgp-v904-page #pgpMobileSideTab {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* --------------------------------------------------------------------------
   Bottom navigation — five equal controls, no black hover/focus repaint
   -------------------------------------------------------------------------- */

html.pgp-v904-root body.pgp-v904-page nav.tc-bottom-bar {
  position: fixed !important;
  inset: auto !important;
  right: 50% !important;
  bottom: max(14px, env(safe-area-inset-bottom)) !important;
  left: auto !important;
  z-index: 2147482500 !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  gap: 4px !important;
  direction: ltr !important;
  width: min(720px, calc(100vw - 28px)) !important;
  min-width: 0 !important;
  max-width: 720px !important;
  height: 76px !important;
  min-height: 76px !important;
  max-height: 76px !important;
  margin: 0 !important;
  padding: 6px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background: rgba(28, 30, 35, 0.97) !important;
  background-color: rgba(28, 30, 35, 0.97) !important;
  background-image: none !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 28px !important;
  outline: 0 !important;
  box-shadow: 0 16px 38px rgba(15, 16, 19, 0.28) !important;
  backdrop-filter: blur(16px) saturate(1.1) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.1) !important;
  transform: translateX(50%) !important;
  translate: none !important;
}

html.pgp-v904-root body.pgp-v904-page nav.tc-bottom-bar::before,
html.pgp-v904-root body.pgp-v904-page nav.tc-bottom-bar::after {
  content: none !important;
  display: none !important;
}

html.pgp-v904-root body.pgp-v904-page nav.tc-bottom-bar > .tc-bottom-btn,
html.pgp-v904-root body.pgp-v904-page nav.tc-bottom-bar > .tc-bottom-btn:is(
  :hover,
  :focus,
  :focus-visible,
  :active,
  .active,
  .is-active,
  [data-pgp-bottom-active="1"],
  [aria-current="page"]
) {
  position: relative !important;
  inset: auto !important;
  z-index: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
  margin: 0 !important;
  padding: 6px 3px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #f4f5f7 !important;
  border: 0 !important;
  border-radius: 22px !important;
  outline: 0 !important;
  box-shadow: none !important;
  font: inherit !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transform: none !important;
  translate: none !important;
  scale: none !important;
  filter: none !important;
  opacity: 1 !important;
  transition: color 0.14s ease, background-color 0.14s ease !important;
  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent !important;
}

html.pgp-v904-root body.pgp-v904-page nav.tc-bottom-bar > .tc-bottom-btn:is(:hover, :focus-visible) {
  background: rgba(255, 255, 255, 0.07) !important;
  background-color: rgba(255, 255, 255, 0.07) !important;
  color: #ffffff !important;
  box-shadow: none !important;
  transform: none !important;
}

html.pgp-v904-root body.pgp-v904-page nav.tc-bottom-bar > .tc-bottom-btn:is(
  .active,
  .is-active,
  [data-pgp-bottom-active="1"],
  [aria-current="page"]
) {
  background: rgba(239, 23, 76, 0.13) !important;
  background-color: rgba(239, 23, 76, 0.13) !important;
  color: #ff416d !important;
  box-shadow: inset 0 0 0 1px rgba(239, 23, 76, 0.16) !important;
}

html.pgp-v904-root body.pgp-v904-page nav.tc-bottom-bar > .tc-bottom-btn::before,
html.pgp-v904-root body.pgp-v904-page nav.tc-bottom-bar > .tc-bottom-btn::after {
  content: none !important;
  display: none !important;
}

html.pgp-v904-root body.pgp-v904-page nav.tc-bottom-bar > .tc-bottom-btn svg,
html.pgp-v904-root body.pgp-v904-page nav.tc-bottom-bar > .tc-bottom-btn:is(:hover, :focus, :focus-visible, :active) svg {
  display: block !important;
  flex: 0 0 25px !important;
  width: 25px !important;
  min-width: 25px !important;
  max-width: 25px !important;
  height: 25px !important;
  min-height: 25px !important;
  max-height: 25px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: currentColor !important;
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 1.75 !important;
  transform: none !important;
  translate: none !important;
  filter: none !important;
}

html.pgp-v904-root body.pgp-v904-page nav.tc-bottom-bar > .tc-bottom-btn span:not(.tc-bottom-badge),
html.pgp-v904-root body.pgp-v904-page nav.tc-bottom-bar > .tc-bottom-btn:is(:hover, :focus, :focus-visible, :active) span:not(.tc-bottom-badge) {
  display: block !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: currentColor !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  transform: none !important;
}

html.pgp-v904-root body.pgp-v904-page nav.tc-bottom-bar .tc-bottom-badge {
  position: absolute !important;
  top: 4px !important;
  right: calc(50% - 23px) !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 19px !important;
  height: 19px !important;
  margin: 0 !important;
  padding: 0 5px !important;
  background: var(--pgp-v904-red) !important;
  color: #ffffff !important;
  border: 2px solid #22252a !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  transform: none !important;
}

/* --------------------------------------------------------------------------
   Responsive contracts
   -------------------------------------------------------------------------- */

@media (max-width: 1100px) {
  html.pgp-v904-root body.pgp-v904-page .pgp-app-header .pgp-app-header-inner {
    grid-template-columns: auto minmax(8px, 1fr) auto auto auto !important;
    gap: 8px !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-header-tabs {
    gap: 6px !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-header-tabs .pgp-header-tab {
    min-width: 90px !important;
    padding: 0 10px !important;
  }

  html.pgp-v904-root body.pgp-v904-page #home .pgp-most-row > *,
  html.pgp-v904-root body.pgp-v904-page #home .pgp-shared-product-row > *,
  html.pgp-v904-root body.pgp-v904-page #iq-garages .product-row > *,
  html.pgp-v904-root body.pgp-v904-page #iq-garages .pgp-product-row > *,
  html.pgp-v904-root body.pgp-v904-page .pgp-parts-wrap .product-row > *,
  html.pgp-v904-root body.pgp-v904-page .pgp-parts-wrap .pgp-product-row > * {
    flex-basis: calc((100% - 24px) / 3) !important;
    width: calc((100% - 24px) / 3) !important;
    min-width: calc((100% - 24px) / 3) !important;
    max-width: calc((100% - 24px) / 3) !important;
  }
}

@media (max-width: 768px) {
  :root {
    --pgp-v904-arrow-size: 42px;
    --pgp-v904-arrow-icon-size: 23px;
  }

  html.pgp-v904-root body.pgp-v904-page,
  html.pgp-v904-css-ready body.pgp-v904-page {
    padding-bottom: max(106px, calc(92px + env(safe-area-inset-bottom))) !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-app-header,
  html.pgp-v904-root body.pgp-v904-page:has(#home) .pgp-app-header {
    padding: 8px 10px 12px !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-app-header .pgp-app-header-inner,
  html.pgp-v904-root body.pgp-v904-page:has(#home) .pgp-app-header .pgp-app-header-inner {
    position: static !important;
    grid-template-columns: 70px minmax(0, 1fr) 48px !important;
    grid-template-rows: 58px !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 58px !important;
    height: 58px !important;
    padding: 0 !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-header-left {
    grid-column: 1 !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-header-spacer {
    display: none !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-logo-link,
  html.pgp-v904-root body.pgp-v904-page .pgp-logo-link img {
    width: 66px !important;
    min-width: 66px !important;
    max-width: 66px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-header-tabs {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    width: 100% !important;
    gap: 5px !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-header-tabs .pgp-header-tab,
  html.pgp-v904-root body.pgp-v904-page .pgp-header-tabs .pgp-header-tab:is(:link, :visited, :hover, :focus, :focus-visible, :active) {
    flex: 1 1 0 !important;
    gap: 4px !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 5px !important;
    border-radius: 4px !important;
    clip-path: polygon(4px 0, 100% 0, calc(100% - 4px) 100%, 0 100%) !important;
    font-size: clamp(10px, 2.65vw, 13px) !important;
    transform: none !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-header-tabs .pgp-header-tab svg {
    display: none !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-header-lang-wrap {
    display: none !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-parts-menu-button {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-parts-menu-button span {
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-header-search-wrap {
    min-height: 56px !important;
    padding-top: 0 !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-header-search-form,
  html.pgp-v904-root body.pgp-v904-page .pgp-header-search-form:focus-within {
    width: min(520px, calc(100vw - 32px)) !important;
    min-width: 0 !important;
    max-width: 520px !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    margin: 0 auto !important;
    padding: 3px 3px 3px 12px !important;
    border-radius: 999px !important;
    transform: none !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-header-search-input,
  html.pgp-v904-root body.pgp-v904-page .pgp-header-search-input:is(:hover, :focus, :focus-visible, :active) {
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding: 0 10px !important;
    font-size: 17px !important;
    line-height: 42px !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-header-search-submit,
  html.pgp-v904-root body.pgp-v904-page .pgp-header-search-submit:is(:hover, :focus, :focus-visible, :active) {
    flex-basis: 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
  }

  html.pgp-v904-root body.pgp-v904-page #home .pgp-most-head {
    align-items: flex-start !important;
    gap: 10px !important;
    min-height: 108px !important;
    padding: 14px 12px !important;
  }

  html.pgp-v904-root body.pgp-v904-page #home .pgp-most-head > div:first-child {
    grid-template-columns: 56px minmax(0, 1fr) !important;
    column-gap: 9px !important;
    max-width: calc(100% - 146px) !important;
    min-height: 58px !important;
  }

  html.pgp-v904-root body.pgp-v904-page #home .pgp-home-section-avatar {
    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
  }

  html.pgp-v904-root body.pgp-v904-page #home .pgp-most-head > div:first-child > h2 {
    font-size: clamp(18px, 5.2vw, 24px) !important;
  }

  html.pgp-v904-root body.pgp-v904-page #home .pgp-most-head > div:first-child > span:not(.pgp-home-section-avatar) {
    font-size: 12px !important;
  }

  html.pgp-v904-root body.pgp-v904-page #home .pgp-home-actionsbar {
    padding-top: 4px !important;
  }

  html.pgp-v904-root body.pgp-v904-page #home .pgp-most-row,
  html.pgp-v904-root body.pgp-v904-page #home .pgp-shared-product-row,
  html.pgp-v904-root body.pgp-v904-page #iq-garages .product-row,
  html.pgp-v904-root body.pgp-v904-page #iq-garages .pgp-product-row,
  html.pgp-v904-root body.pgp-v904-page .pgp-parts-wrap .product-row,
  html.pgp-v904-root body.pgp-v904-page .pgp-parts-wrap .pgp-product-row {
    gap: 8px !important;
  }

  html.pgp-v904-root body.pgp-v904-page #home .pgp-most-row > *,
  html.pgp-v904-root body.pgp-v904-page #home .pgp-shared-product-row > *,
  html.pgp-v904-root body.pgp-v904-page #iq-garages .product-row > *,
  html.pgp-v904-root body.pgp-v904-page #iq-garages .pgp-product-row > *,
  html.pgp-v904-root body.pgp-v904-page .pgp-parts-wrap .product-row > *,
  html.pgp-v904-root body.pgp-v904-page .pgp-parts-wrap .pgp-product-row > * {
    flex-basis: calc((100% - 16px) / 3) !important;
    width: calc((100% - 16px) / 3) !important;
    min-width: calc((100% - 16px) / 3) !important;
    max-width: calc((100% - 16px) / 3) !important;
  }

  html.pgp-v904-root body.pgp-v904-page #home .pgp-most-product {
    min-height: 250px !important;
    height: 250px !important;
    max-height: 250px !important;
  }

  html.pgp-v904-root body.pgp-v904-page nav.tc-bottom-bar {
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    width: calc(100vw - 20px) !important;
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
    padding: 5px !important;
    border-radius: 25px !important;
  }

  html.pgp-v904-root body.pgp-v904-page nav.tc-bottom-bar > .tc-bottom-btn,
  html.pgp-v904-root body.pgp-v904-page nav.tc-bottom-bar > .tc-bottom-btn:is(
    :hover,
    :focus,
    :focus-visible,
    :active,
    .active,
    .is-active,
    [data-pgp-bottom-active="1"],
    [aria-current="page"]
  ) {
    height: 66px !important;
    min-height: 66px !important;
    max-height: 66px !important;
    padding: 7px 2px !important;
    border-radius: 20px !important;
  }

  html.pgp-v904-root body.pgp-v904-page nav.tc-bottom-bar > .tc-bottom-btn svg {
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
  }

  html.pgp-v904-root body.pgp-v904-page nav.tc-bottom-bar > .tc-bottom-btn span:not(.tc-bottom-badge) {
    font-size: clamp(10px, 3vw, 12px) !important;
  }
}

@media (max-width: 430px) {
  html.pgp-v904-root body.pgp-v904-page .pgp-app-header {
    padding-inline: 8px !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-app-header .pgp-app-header-inner {
    grid-template-columns: 58px minmax(0, 1fr) 44px !important;
    gap: 5px !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-logo-link,
  html.pgp-v904-root body.pgp-v904-page .pgp-logo-link img {
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 31px !important;
    min-height: 31px !important;
    max-height: 31px !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-header-tabs .pgp-header-tab {
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding-inline: 3px !important;
    font-size: clamp(9px, 2.55vw, 11px) !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-parts-menu-button,
  html.pgp-v904-root body.pgp-v904-page .pgp-parts-menu-button:is(:hover, :focus, :focus-visible, :active, [aria-expanded="true"]) {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 6px !important;
  }

  html.pgp-v904-root body.pgp-v904-page .pgp-parts-menu-button span {
    width: 29px !important;
    min-width: 29px !important;
    max-width: 29px !important;
  }

  html.pgp-v904-root body.pgp-v904-page #home .pgp-most-head {
    min-height: 102px !important;
    padding-inline: 10px !important;
  }

  html.pgp-v904-root body.pgp-v904-page #home .pgp-most-head > div:first-child {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    max-width: calc(100% - 132px) !important;
  }

  html.pgp-v904-root body.pgp-v904-page #home .pgp-home-section-avatar {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
  }

  html.pgp-v904-root body.pgp-v904-page #home .pgp-most-head > div:first-child > h2 {
    font-size: 17px !important;
  }

  html.pgp-v904-root body.pgp-v904-page #home .pgp-most-head > div:first-child > span:not(.pgp-home-section-avatar) {
    font-size: 10.5px !important;
  }

  html.pgp-v904-root body.pgp-v904-page #home .pgp-home-actionsbar {
    gap: 2px !important;
  }

  html.pgp-v904-root body.pgp-v904-page nav.tc-bottom-bar {
    gap: 1px !important;
    width: calc(100vw - 14px) !important;
    padding-inline: 4px !important;
  }
}

/*
 * Ambiguous legacy aliases are not arrows until they declare a direction.
 * Earlier consolidated styles treated every `.gallery-arrow`-style control
 * as a carousel button, which could turn an ordinary text control into an
 * empty purple circle.  The directional variants above remain owned by v905;
 * bare aliases return to a neutral, readable button.
 */
html.pgp-v905-root body.pgp-v905-page :is(
  .pgp-gallery-arrow,
  .gallery-arrow,
  .product-gallery-arrow,
  .related-arrow,
  .carousel-arrow,
  .pgp-carousel-arrow
):not(:is(
  .left,
  .right,
  .prev,
  .previous,
  .next,
  [data-direction="left"],
  [data-direction="right"],
  [data-direction="prev"],
  [data-direction="next"],
  [data-related-dir="left"],
  [data-related-dir="right"],
  [data-pgp-arrow-dir="left"],
  [data-pgp-arrow-dir="right"],
  [data-pgp-v904-direction="left"],
  [data-pgp-v904-direction="right"],
  [aria-label*="previous" i],
  [aria-label*="next" i],
  [aria-label*="left" i],
  [aria-label*="right" i]
)) :where(*) {
  transform: none !important;
  translate: none !important;
}

html.pgp-v905-root body.pgp-v905-page :is(
  .pgp-gallery-arrow,
  .gallery-arrow,
  .product-gallery-arrow,
  .related-arrow,
  .carousel-arrow,
  .pgp-carousel-arrow
):not(:is(
  .left,
  .right,
  .prev,
  .previous,
  .next,
  [data-direction="left"],
  [data-direction="right"],
  [data-direction="prev"],
  [data-direction="next"],
  [data-related-dir="left"],
  [data-related-dir="right"],
  [data-pgp-arrow-dir="left"],
  [data-pgp-arrow-dir="right"],
  [data-pgp-v904-direction="left"],
  [data-pgp-v904-direction="right"],
  [aria-label*="previous" i],
  [aria-label*="next" i],
  [aria-label*="left" i],
  [aria-label*="right" i]
)) {
  position: static !important;
  inset: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: revert !important;
  padding: revert !important;
  overflow: visible !important;
  color: revert !important;
  background: revert !important;
  border: revert !important;
  border-radius: revert !important;
  outline: revert !important;
  box-shadow: none !important;
  font: revert !important;
  line-height: normal !important;
  text-indent: 0 !important;
  transform: none !important;
  translate: none !important;
  scale: none !important;
  rotate: none !important;
  opacity: 1 !important;
  filter: none !important;
  transition: none !important;
  animation: none !important;
}

html.pgp-v905-root body.pgp-v905-page :is(
  .pgp-gallery-arrow,
  .gallery-arrow,
  .product-gallery-arrow,
  .related-arrow,
  .carousel-arrow,
  .pgp-carousel-arrow
):not(:is(
  .left,
  .right,
  .prev,
  .previous,
  .next,
  [data-direction="left"],
  [data-direction="right"],
  [data-direction="prev"],
  [data-direction="next"],
  [data-related-dir="left"],
  [data-related-dir="right"],
  [data-pgp-arrow-dir="left"],
  [data-pgp-arrow-dir="right"],
  [data-pgp-v904-direction="left"],
  [data-pgp-v904-direction="right"],
  [aria-label*="previous" i],
  [aria-label*="next" i],
  [aria-label*="left" i],
  [aria-label*="right" i]
))::before,
html.pgp-v905-root body.pgp-v905-page :is(
  .pgp-gallery-arrow,
  .gallery-arrow,
  .product-gallery-arrow,
  .related-arrow,
  .carousel-arrow,
  .pgp-carousel-arrow
):not(:is(
  .left,
  .right,
  .prev,
  .previous,
  .next,
  [data-direction="left"],
  [data-direction="right"],
  [data-direction="prev"],
  [data-direction="next"],
  [data-related-dir="left"],
  [data-related-dir="right"],
  [data-pgp-arrow-dir="left"],
  [data-pgp-arrow-dir="right"],
  [data-pgp-v904-direction="left"],
  [data-pgp-v904-direction="right"],
  [aria-label*="previous" i],
  [aria-label*="next" i],
  [aria-label*="left" i],
  [aria-label*="right" i]
))::after {
  content: none !important;
  display: none !important;
}

/* --------------------------------------------------------------------------
   v905 cross-site arrow aliases

   Product galleries and third-party sliders use older class names.  They keep
   their own scrolling code, but this final owner guarantees the same geometry,
   centred glyph and pressed colour everywhere without changing their logic.
   -------------------------------------------------------------------------- */

html.pgp-v905-root body.pgp-v905-page :is(
  .pgp-gallery-arrow,
  .gallery-arrow,
  .product-gallery-arrow,
  .related-arrow,
  .carousel-arrow,
  .pgp-carousel-arrow
):is(
  .left,
  .right,
  .prev,
  .previous,
  .next,
  [data-direction="left"],
  [data-direction="right"],
  [data-direction="prev"],
  [data-direction="next"],
  [data-related-dir="left"],
  [data-related-dir="right"],
  [data-pgp-arrow-dir="left"],
  [data-pgp-arrow-dir="right"],
  [data-pgp-v904-direction="left"],
  [data-pgp-v904-direction="right"],
  [aria-label*="previous" i],
  [aria-label*="next" i],
  [aria-label*="left" i],
  [aria-label*="right" i]
),
html.pgp-v905-root body.pgp-v905-page :is(
  .swiper-button-next,
  .swiper-button-prev,
  .splide__arrow--next,
  .splide__arrow--prev
),
html.pgp-v905-root body.pgp-v905-page :is(
  .pgp-gallery-arrow,
  .gallery-arrow,
  .product-gallery-arrow,
  .related-arrow,
  .carousel-arrow,
  .pgp-carousel-arrow
):is(
  .left,
  .right,
  .prev,
  .previous,
  .next,
  [data-direction="left"],
  [data-direction="right"],
  [data-direction="prev"],
  [data-direction="next"],
  [data-related-dir="left"],
  [data-related-dir="right"],
  [data-pgp-arrow-dir="left"],
  [data-pgp-arrow-dir="right"],
  [data-pgp-v904-direction="left"],
  [data-pgp-v904-direction="right"],
  [aria-label*="previous" i],
  [aria-label*="next" i],
  [aria-label*="left" i],
  [aria-label*="right" i]
):is(:hover, :focus, :focus-visible, :active, .active, .is-active, [aria-pressed="true"], [aria-disabled="true"]),
html.pgp-v905-root body.pgp-v905-page :is(
  .swiper-button-next,
  .swiper-button-prev,
  .splide__arrow--next,
  .splide__arrow--prev
):is(:hover, :focus, :focus-visible, :active, .active, .is-active, [aria-pressed="true"], [aria-disabled="true"]) {
  position: absolute !important;
  inset: auto !important;
  top: 50% !important;
  bottom: auto !important;
  z-index: 16 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: var(--pgp-v904-arrow-size) !important;
  min-width: var(--pgp-v904-arrow-size) !important;
  max-width: var(--pgp-v904-arrow-size) !important;
  height: var(--pgp-v904-arrow-size) !important;
  min-height: var(--pgp-v904-arrow-size) !important;
  max-height: var(--pgp-v904-arrow-size) !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  color: transparent !important;
  background-color: var(--pgp-v904-arrow-surface) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: var(--pgp-v904-arrow-icon-size) var(--pgp-v904-arrow-icon-size) !important;
  border: 1px solid var(--pgp-v904-arrow-border) !important;
  border-radius: 50% !important;
  outline: 0 !important;
  box-shadow: var(--pgp-v904-arrow-shadow) !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: 0 !important;
  transform: translateY(-50%) !important;
  translate: none !important;
  scale: none !important;
  rotate: none !important;
  filter: none !important;
  opacity: 1 !important;
  cursor: pointer !important;
  transition: none !important;
  animation: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

html.pgp-v905-root body.pgp-v905-page :is(
  .pgp-gallery-arrow,
  .gallery-arrow,
  .product-gallery-arrow,
  .related-arrow,
  .carousel-arrow,
  .pgp-carousel-arrow
):is(
  .left,
  .prev,
  .previous,
  [data-direction="left"],
  [data-direction="prev"],
  [data-related-dir="left"],
  [data-pgp-arrow-dir="left"],
  [data-pgp-v904-direction="left"],
  [aria-label*="previous" i],
  [aria-label*="left" i]
),
html.pgp-v905-root body.pgp-v905-page :is(
  .swiper-button-prev,
  .splide__arrow--prev
),
html.pgp-v905-root body.pgp-v905-page :is(
  .pgp-gallery-arrow,
  .gallery-arrow,
  .product-gallery-arrow,
  .related-arrow,
  .carousel-arrow,
  .pgp-carousel-arrow
):is(
  .left,
  .prev,
  .previous,
  [data-direction="left"],
  [data-direction="prev"],
  [data-related-dir="left"],
  [data-pgp-arrow-dir="left"],
  [data-pgp-v904-direction="left"],
  [aria-label*="previous" i],
  [aria-label*="left" i]
):is(:hover, :focus, :focus-visible, .active, .is-active, [aria-disabled="true"]),
html.pgp-v905-root body.pgp-v905-page :is(
  .swiper-button-prev,
  .splide__arrow--prev
):is(:hover, :focus, :focus-visible, .active, .is-active, [aria-disabled="true"]) {
  right: auto !important;
  left: 8px !important;
  background-image: var(--pgp-v904-arrow-left) !important;
}

html.pgp-v905-root body.pgp-v905-page :is(
  .pgp-gallery-arrow,
  .gallery-arrow,
  .product-gallery-arrow,
  .related-arrow,
  .carousel-arrow,
  .pgp-carousel-arrow
):is(
  .right,
  .next,
  [data-direction="right"],
  [data-direction="next"],
  [data-related-dir="right"],
  [data-pgp-arrow-dir="right"],
  [data-pgp-v904-direction="right"],
  [aria-label*="next" i],
  [aria-label*="right" i]
),
html.pgp-v905-root body.pgp-v905-page :is(
  .swiper-button-next,
  .splide__arrow--next
),
html.pgp-v905-root body.pgp-v905-page :is(
  .pgp-gallery-arrow,
  .gallery-arrow,
  .product-gallery-arrow,
  .related-arrow,
  .carousel-arrow,
  .pgp-carousel-arrow
):is(
  .right,
  .next,
  [data-direction="right"],
  [data-direction="next"],
  [data-related-dir="right"],
  [data-pgp-arrow-dir="right"],
  [data-pgp-v904-direction="right"],
  [aria-label*="next" i],
  [aria-label*="right" i]
):is(:hover, :focus, :focus-visible, .active, .is-active, [aria-disabled="true"]),
html.pgp-v905-root body.pgp-v905-page :is(
  .swiper-button-next,
  .splide__arrow--next
):is(:hover, :focus, :focus-visible, .active, .is-active, [aria-disabled="true"]) {
  right: 8px !important;
  left: auto !important;
  background-image: var(--pgp-v904-arrow-right) !important;
}

html.pgp-v905-root body.pgp-v905-page :is(
  .pgp-gallery-arrow,
  .gallery-arrow,
  .product-gallery-arrow,
  .related-arrow,
  .carousel-arrow,
  .pgp-carousel-arrow
):is(
  .left,
  .prev,
  .previous,
  [data-direction="left"],
  [data-direction="prev"],
  [data-related-dir="left"],
  [data-pgp-arrow-dir="left"],
  [data-pgp-v904-direction="left"],
  [aria-label*="previous" i],
  [aria-label*="left" i]
):is(:active, [aria-pressed="true"]),
html.pgp-v905-root body.pgp-v905-page :is(
  .swiper-button-prev,
  .splide__arrow--prev
):is(:active, [aria-pressed="true"]) {
  background-image: var(--pgp-v905-arrow-left-pressed) !important;
}

html.pgp-v905-root body.pgp-v905-page :is(
  .pgp-gallery-arrow,
  .gallery-arrow,
  .product-gallery-arrow,
  .related-arrow,
  .carousel-arrow,
  .pgp-carousel-arrow
):is(
  .right,
  .next,
  [data-direction="right"],
  [data-direction="next"],
  [data-related-dir="right"],
  [data-pgp-arrow-dir="right"],
  [data-pgp-v904-direction="right"],
  [aria-label*="next" i],
  [aria-label*="right" i]
):is(:active, [aria-pressed="true"]),
html.pgp-v905-root body.pgp-v905-page :is(
  .swiper-button-next,
  .splide__arrow--next
):is(:active, [aria-pressed="true"]) {
  background-image: var(--pgp-v905-arrow-right-pressed) !important;
}

html.pgp-v905-root body.pgp-v905-page :is(
  .pgp-gallery-arrow,
  .gallery-arrow,
  .product-gallery-arrow,
  .related-arrow,
  .carousel-arrow,
  .pgp-carousel-arrow
):is(
  .left,
  .right,
  .prev,
  .previous,
  .next,
  [data-direction="left"],
  [data-direction="right"],
  [data-direction="prev"],
  [data-direction="next"],
  [data-related-dir="left"],
  [data-related-dir="right"],
  [data-pgp-arrow-dir="left"],
  [data-pgp-arrow-dir="right"],
  [data-pgp-v904-direction="left"],
  [data-pgp-v904-direction="right"],
  [aria-label*="previous" i],
  [aria-label*="next" i],
  [aria-label*="left" i],
  [aria-label*="right" i]
)::before,
html.pgp-v905-root body.pgp-v905-page :is(
  .swiper-button-next,
  .swiper-button-prev,
  .splide__arrow--next,
  .splide__arrow--prev
)::before,
html.pgp-v905-root body.pgp-v905-page :is(
  .pgp-gallery-arrow,
  .gallery-arrow,
  .product-gallery-arrow,
  .related-arrow,
  .carousel-arrow,
  .pgp-carousel-arrow
):is(
  .left,
  .right,
  .prev,
  .previous,
  .next,
  [data-direction="left"],
  [data-direction="right"],
  [data-direction="prev"],
  [data-direction="next"],
  [data-related-dir="left"],
  [data-related-dir="right"],
  [data-pgp-arrow-dir="left"],
  [data-pgp-arrow-dir="right"],
  [data-pgp-v904-direction="left"],
  [data-pgp-v904-direction="right"],
  [aria-label*="previous" i],
  [aria-label*="next" i],
  [aria-label*="left" i],
  [aria-label*="right" i]
)::after,
html.pgp-v905-root body.pgp-v905-page :is(
  .swiper-button-next,
  .swiper-button-prev,
  .splide__arrow--next,
  .splide__arrow--prev
)::after {
  content: none !important;
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html.pgp-v904-root body.pgp-v904-page *,
  html.pgp-v904-root body.pgp-v904-page *::before,
  html.pgp-v904-root body.pgp-v904-page *::after {
    scroll-behavior: auto !important;
  }
}

/* ==========================================================================
   v905 final cascade — one owner for the shared header, search, menu, arrows
   ========================================================================== */

/* Compact top row */
html.pgp-v905-root body.pgp-v905-page .pgp-app-header,
html.pgp-v905-root body.pgp-v905-page:has(#home) .pgp-app-header {
  padding: 3px 12px 5px !important;
}

html.pgp-v905-root body.pgp-v905-page .pgp-app-header .pgp-app-header-inner,
html.pgp-v905-root body.pgp-v905-page:has(#home) .pgp-app-header .pgp-app-header-inner {
  grid-template-columns: auto minmax(16px, 1fr) auto auto auto !important;
  grid-template-rows: 46px !important;
  gap: 7px !important;
  min-height: 46px !important;
  height: 46px !important;
}

html.pgp-v905-root body.pgp-v905-page .pgp-logo-link,
html.pgp-v905-root body.pgp-v905-page .pgp-logo-link img {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 27px !important;
  min-height: 27px !important;
  max-height: 27px !important;
}

html.pgp-v905-root body.pgp-v905-page .pgp-header-tabs {
  gap: 6px !important;
  direction: ltr !important;
}

/* DOM and keyboard order are already Garages, Liket, Following. */
html.pgp-v905-root body.pgp-v905-page .pgp-header-tabs > .pgp-header-tab:nth-child(1) {
  order: 1 !important;
}

html.pgp-v905-root body.pgp-v905-page .pgp-header-tabs > .pgp-header-tab:nth-child(2) {
  order: 2 !important;
}

html.pgp-v905-root body.pgp-v905-page .pgp-header-tabs > .pgp-header-tab:nth-child(3) {
  order: 3 !important;
}

html.pgp-v905-root body.pgp-v905-page .pgp-header-tabs .pgp-header-tab,
html.pgp-v905-root body.pgp-v905-page .pgp-header-tabs .pgp-header-tab:is(:link, :visited, :hover, :focus, :focus-visible, :active) {
  gap: 4px !important;
  min-width: 84px !important;
  height: 33px !important;
  min-height: 33px !important;
  max-height: 33px !important;
  padding: 0 10px !important;
  border-radius: 5px !important;
  clip-path: polygon(4px 0, 100% 0, calc(100% - 4px) 100%, 0 100%) !important;
  font-size: 12px !important;
}

html.pgp-v905-root body.pgp-v905-page .pgp-header-tabs .pgp-header-tab svg {
  flex-basis: 15px !important;
  width: 15px !important;
  height: 15px !important;
}

html.pgp-v905-root body.pgp-v905-page .pgp-header-lang-btn {
  min-width: 40px !important;
  height: 33px !important;
  padding: 0 6px !important;
  border-radius: 9px !important;
}

html.pgp-v905-root body.pgp-v905-page .pgp-parts-menu-button,
html.pgp-v905-root body.pgp-v905-page .pgp-parts-menu-button:is(:hover, :focus, :focus-visible, :active, [aria-expanded="true"]) {
  gap: 4px !important;
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  padding: 6px !important;
  border-radius: 10px !important;
}

html.pgp-v905-root body.pgp-v905-page .pgp-parts-menu-button span,
html.pgp-v905-root body.pgp-v905-page .pgp-parts-menu-button:is(:hover, :focus, :focus-visible, :active, [aria-expanded="true"]) span {
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  height: 2.5px !important;
  min-height: 2.5px !important;
  max-height: 2.5px !important;
}

/* Smaller search pill; every interaction state has identical geometry. */
html.pgp-v905-root body.pgp-v905-page .pgp-header-search-wrap {
  min-height: 38px !important;
  padding: 0 !important;
}

html.pgp-v905-root body.pgp-v905-page .pgp-header-search-form,
html.pgp-v905-root body.pgp-v905-page .pgp-header-search-form:focus-within {
  width: min(440px, calc(100vw - 80px)) !important;
  min-width: 220px !important;
  max-width: 440px !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  margin: 0 auto !important;
  padding: 2px 2px 2px 13px !important;
  border-width: 2px !important;
  border-radius: 999px !important;
  transform: none !important;
  translate: none !important;
  scale: none !important;
}

html.pgp-v905-root body.pgp-v905-page .pgp-header-search-input,
html.pgp-v905-root body.pgp-v905-page .pgp-header-search-input:is(:hover, :focus, :focus-visible, :active) {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding: 0 9px !important;
  font-size: 15px !important;
  line-height: 30px !important;
  transform: none !important;
}

html.pgp-v905-root body.pgp-v905-page .pgp-header-search-submit,
html.pgp-v905-root body.pgp-v905-page .pgp-header-search-submit:is(:hover, :focus, :focus-visible, :active) {
  flex: 0 0 30px !important;
  flex-basis: 30px !important;
  width: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-width: 2px !important;
  transform: none !important;
  translate: none !important;
  scale: none !important;
}

html.pgp-v905-root body.pgp-v905-page .pgp-header-search-submit svg,
html.pgp-v905-root body.pgp-v905-page .pgp-header-search-submit:is(:hover, :focus, :focus-visible, :active) svg {
  width: 17px !important;
  min-width: 17px !important;
  max-width: 17px !important;
  height: 17px !important;
  min-height: 17px !important;
  max-height: 17px !important;
  transform: none !important;
}

/* Premium 60%-viewport parts panel. JavaScript applies the same contract. */
html.pgp-v905-root body.pgp-v905-page #pgpHeaderPartsMenu {
  width: min(60vw, 360px) !important;
  max-width: min(60vw, 360px) !important;
  max-height: min(62dvh, 560px) !important;
  background:
    linear-gradient(180deg, rgba(27, 29, 35, 0.985), rgba(15, 16, 21, 0.985)) !important;
  color: #f7f8fa !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 20px !important;
  box-shadow:
    0 22px 54px rgba(10, 11, 15, 0.34),
    0 0 0 1px rgba(239, 23, 76, 0.04) inset !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.08) !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(239, 23, 76, 0.66) rgba(255, 255, 255, 0.04) !important;
}

html.pgp-v905-root body.pgp-v905-page #pgpHeaderPartsMenu::-webkit-scrollbar {
  width: 6px !important;
}

html.pgp-v905-root body.pgp-v905-page #pgpHeaderPartsMenu::-webkit-scrollbar-thumb {
  background: rgba(239, 23, 76, 0.66) !important;
  border-radius: 999px !important;
}

html.pgp-v905-root body.pgp-v905-page #pgpHeaderPartsMenu .pgp-header-parts-head {
  min-height: 47px !important;
  padding: 8px 10px 8px 13px !important;
  background:
    linear-gradient(135deg, rgba(242, 18, 72, 0.98), rgba(190, 9, 52, 0.98)) !important;
  border-radius: 19px 19px 0 0 !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.13) inset !important;
}

html.pgp-v905-root body.pgp-v905-page #pgpHeaderPartsMenu .pgp-hemi-title {
  min-width: 0 !important;
  font-size: 12.5px !important;
  line-height: 1.25 !important;
}

html.pgp-v905-root body.pgp-v905-page #pgpHeaderPartsMenu .pgp-header-parts-close {
  flex: 0 0 30px !important;
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  border-radius: 9px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

html.pgp-v905-root body.pgp-v905-page #pgpHeaderPartsMenu .pgp-platform-menu {
  padding: 7px 9px 10px !important;
}

html.pgp-v905-root body.pgp-v905-page #pgpHeaderPartsMenu .pgp-platform-group {
  margin: 0 0 5px !important;
  overflow: hidden !important;
  background: rgba(255, 255, 255, 0.025) !important;
  border: 1px solid rgba(255, 255, 255, 0.055) !important;
  border-radius: 11px !important;
}

html.pgp-v905-root body.pgp-v905-page #pgpHeaderPartsMenu .pgp-platform-group > summary {
  display: flex !important;
  align-items: center !important;
  min-height: 42px !important;
  padding: 9px 10px !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.012)) !important;
  border-radius: 10px !important;
  font-size: 12.25px !important;
  font-weight: 760 !important;
  line-height: 1.25 !important;
  transition: background-color 0.14s ease, color 0.14s ease !important;
}

html.pgp-v905-root body.pgp-v905-page #pgpHeaderPartsMenu .pgp-platform-group > summary:is(:hover, :focus-visible) {
  background: rgba(239, 23, 76, 0.14) !important;
  color: #ffffff !important;
}

html.pgp-v905-root body.pgp-v905-page #pgpHeaderPartsMenu .pgp-platform-group > a {
  min-height: 38px !important;
  padding: 10px 12px !important;
  box-sizing: border-box !important;
  font-size: 11.75px !important;
}

html.pgp-v905-root body.pgp-v905-page #pgpHeaderPartsMenu .pgp-platform-group > a:is(:hover, :focus-visible) {
  background: rgba(239, 23, 76, 0.11) !important;
  color: #ffffff !important;
}

/* Canonical arrow visuals: centred icon, translucent surface, fixed geometry. */
html.pgp-v905-root body.pgp-v905-page :is(
  .pgp-v904-carousel-arrow,
  .pgp-view-arrow,
  .pgp-most-arrow,
  .row-arrow,
  .pgp-row-arrow,
  .pgp-row-arrow-btn,
  .pgp-slider-arrow,
  .pgp-shop-arrow,
  .shop-arrow,
  .pgp-related-arrow,
  .pgp-section-arrow
),
html.pgp-v905-root body.pgp-v905-page :is(
  .pgp-v904-carousel-arrow,
  .pgp-view-arrow,
  .pgp-most-arrow,
  .row-arrow,
  .pgp-row-arrow,
  .pgp-row-arrow-btn,
  .pgp-slider-arrow,
  .pgp-shop-arrow,
  .shop-arrow,
  .pgp-related-arrow,
  .pgp-section-arrow
):is(:hover, :focus, :focus-visible, :active, .active, .is-active, [aria-pressed="true"], [aria-disabled="true"]) {
  background-color: var(--pgp-v904-arrow-surface) !important;
  border-color: var(--pgp-v904-arrow-border) !important;
  box-shadow: var(--pgp-v904-arrow-shadow) !important;
  opacity: 1 !important;
  transform: translateY(-50%) !important;
  translate: none !important;
  scale: none !important;
}

html.pgp-v905-root body.pgp-v905-page .pgp-v905-arrow-pressed {
  --pgp-v904-arrow-left: var(--pgp-v905-arrow-left-pressed) !important;
  --pgp-v904-arrow-right: var(--pgp-v905-arrow-right-pressed) !important;
}

@media (max-width: 1100px) {
  html.pgp-v905-root body.pgp-v905-page .pgp-app-header .pgp-app-header-inner {
    grid-template-columns: auto minmax(8px, 1fr) auto auto auto !important;
  }

  html.pgp-v905-root body.pgp-v905-page .pgp-header-tabs .pgp-header-tab {
    min-width: 78px !important;
    padding: 0 8px !important;
  }
}

@media (max-width: 768px) {
  :root {
    --pgp-v904-arrow-size: 40px;
    --pgp-v904-arrow-icon-size: 21px;
  }

  html.pgp-v905-root body.pgp-v905-page .pgp-app-header,
  html.pgp-v905-root body.pgp-v905-page:has(#home) .pgp-app-header {
    padding: 3px 7px 5px !important;
  }

  html.pgp-v905-root body.pgp-v905-page .pgp-app-header .pgp-app-header-inner,
  html.pgp-v905-root body.pgp-v905-page:has(#home) .pgp-app-header .pgp-app-header-inner {
    grid-template-columns: 46px minmax(0, 1fr) 36px !important;
    grid-template-rows: 42px !important;
    gap: 4px !important;
    min-height: 42px !important;
    height: 42px !important;
  }

  html.pgp-v905-root body.pgp-v905-page .pgp-logo-link,
  html.pgp-v905-root body.pgp-v905-page .pgp-logo-link img {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 23px !important;
    min-height: 23px !important;
    max-height: 23px !important;
  }

  html.pgp-v905-root body.pgp-v905-page .pgp-header-tabs {
    gap: 4px !important;
  }

  html.pgp-v905-root body.pgp-v905-page .pgp-header-tabs .pgp-header-tab,
  html.pgp-v905-root body.pgp-v905-page .pgp-header-tabs .pgp-header-tab:is(:link, :visited, :hover, :focus, :focus-visible, :active) {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 0 3px !important;
    font-size: clamp(8.75px, 2.5vw, 11px) !important;
  }

  html.pgp-v905-root body.pgp-v905-page .pgp-parts-menu-button,
  html.pgp-v905-root body.pgp-v905-page .pgp-parts-menu-button:is(:hover, :focus, :focus-visible, :active, [aria-expanded="true"]) {
    gap: 4px !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    padding: 6px !important;
  }

  html.pgp-v905-root body.pgp-v905-page .pgp-parts-menu-button span,
  html.pgp-v905-root body.pgp-v905-page .pgp-parts-menu-button:is(:hover, :focus, :focus-visible, :active, [aria-expanded="true"]) span {
    width: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    height: 2.5px !important;
    min-height: 2.5px !important;
    max-height: 2.5px !important;
  }

  html.pgp-v905-root body.pgp-v905-page .pgp-header-search-wrap {
    min-height: 36px !important;
  }

  html.pgp-v905-root body.pgp-v905-page .pgp-header-search-form,
  html.pgp-v905-root body.pgp-v905-page .pgp-header-search-form:focus-within {
    width: min(360px, calc(100vw - 40px)) !important;
    min-width: 0 !important;
    max-width: 360px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 2px 2px 2px 10px !important;
  }

  html.pgp-v905-root body.pgp-v905-page .pgp-header-search-input,
  html.pgp-v905-root body.pgp-v905-page .pgp-header-search-input:is(:hover, :focus, :focus-visible, :active) {
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    padding: 0 8px !important;
    font-size: 13.5px !important;
    line-height: 28px !important;
  }

  html.pgp-v905-root body.pgp-v905-page .pgp-header-search-submit,
  html.pgp-v905-root body.pgp-v905-page .pgp-header-search-submit:is(:hover, :focus, :focus-visible, :active) {
    flex-basis: 28px !important;
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
  }

  html.pgp-v905-root body.pgp-v905-page .pgp-header-search-submit svg,
  html.pgp-v905-root body.pgp-v905-page .pgp-header-search-submit:is(:hover, :focus, :focus-visible, :active) svg {
    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    max-height: 16px !important;
  }

  html.pgp-v905-root body.pgp-v905-page #pgpHeaderPartsMenu {
    width: 60vw !important;
    max-width: 60vw !important;
    max-height: 62dvh !important;
  }
}

@media (max-width: 430px) {
  html.pgp-v905-root body.pgp-v905-page .pgp-app-header .pgp-app-header-inner {
    grid-template-columns: 44px minmax(0, 1fr) 36px !important;
    gap: 4px !important;
  }

  html.pgp-v905-root body.pgp-v905-page .pgp-logo-link,
  html.pgp-v905-root body.pgp-v905-page .pgp-logo-link img {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
  }

  html.pgp-v905-root body.pgp-v905-page .pgp-header-tabs .pgp-header-tab {
    font-size: clamp(8.75px, 2.55vw, 10.5px) !important;
  }
}
