/* Scoped catalogue styles retain the PartPrice rounded glass controls. */
#vehiclePartsCatalog[hidden], #vehiclePartsCatalog [hidden], .vehicle-catalog-return[hidden] { display: none !important; }
#vehiclePartsCatalog { width:calc(100% - 48px); max-width:1320px; margin: 40px auto 64px; padding: 28px; border: 1px solid #d0e6f4; border-radius: 36px; background: linear-gradient(130deg,rgba(240,250,255,.96),rgba(255,255,255,.92)); box-shadow: 0 12px 35px rgba(35,90,125,.07); color:#173d54; scroll-margin-top:110px; }
#vehiclePartsCatalog .vehicle-parts-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 12px; }
#vehiclePartsCatalog .vehicle-parts-kicker { margin:0 0 8px; font-size:11px; font-weight:700; letter-spacing:.09em; color:#648398; }
#vehiclePartsCatalog h2 { font-size:25px; line-height:1.25; margin:0 0 8px; }
#vehiclePartsCatalog .vehicle-parts-subtitle, #vehiclePartsCatalog .vehicle-parts-note { font-size:13px; line-height:1.55; margin:0; color:#637f91; }
#vehiclePartsCatalog .vehicle-parts-note { padding-bottom:20px; }
#vehiclePartsCatalog .vehicle-parts-layout { display:grid; grid-template-columns:270px minmax(0,1fr); gap:24px; align-items:start; }
#vehiclePartsCatalog .vehicle-category-panel { background:#eaf5fb; border:1px solid #d2e6f3; border-radius:24px; padding:16px; }
#vehiclePartsCatalog label { display:flex; flex-direction:column; gap:7px; font-family:inherit; font-weight:600; font-size:12px; line-height:1.4; color:#577385; min-width:0; }
#vehiclePartsCatalog input, #vehiclePartsCatalog select { width:100%; min-width:0; min-height:42px; box-sizing:border-box; border:1px solid #bdd9ec; border-radius:24px; padding:9px 16px; background:#fff; color:#204b65; font-size:13px; box-shadow:none; }
#vehiclePartsCatalog .vehicle-part-article::before { display:none; }
#vehiclePartsCatalog .vehicle-category-list { max-height:min(65vh,660px); overflow-y:auto; overscroll-behavior:contain; padding:10px 2px 2px; scrollbar-width:thin; scrollbar-color:#bdd2e1 transparent; }
#vehiclePartsCatalog .vehicle-category-tree { display:block; list-style:none; padding:0; margin:0; }
#vehiclePartsCatalog .vehicle-category-tree .vehicle-category-tree { padding-left:15px; margin-left:8px; border-left:1px solid #d1e1eb; }
#vehiclePartsCatalog .vehicle-category-tree li { display:block; margin:0; padding:0; }
#vehiclePartsCatalog .vehicle-category-branch { margin:0; padding:0; border:0; background:none; box-shadow:none; }
#vehiclePartsCatalog .vehicle-category-node { position:relative; display:flex; align-items:center; min-height:36px; margin:0; padding:7px 5px 7px 20px; border:0; border-radius:6px; background:none; box-shadow:none; font-family:inherit; font-size:13px; font-weight:500; line-height:1.5; color:#344e60; text-align:left; text-decoration:none; text-shadow:none; text-transform:none; letter-spacing:normal; list-style:none; cursor:pointer; overflow-wrap:anywhere; }
#vehiclePartsCatalog .vehicle-category-node::-webkit-details-marker { display:none; }
#vehiclePartsCatalog summary.vehicle-category-node::before { content:''; position:absolute; left:6px; top:14px; width:0; height:0; border-top:4px solid transparent; border-bottom:4px solid transparent; border-left:5px solid #8296a3; }
#vehiclePartsCatalog .vehicle-category-branch[open] > summary.vehicle-category-node::before { transform:rotate(90deg); }
#vehiclePartsCatalog .vehicle-category-leaf::before { content:''; position:absolute; left:7px; top:16px; width:4px; height:4px; border-radius:50%; background:#a4b8c5; }
#vehiclePartsCatalog .vehicle-category-node:hover { background:rgba(214,234,247,.65); color:#126da7; text-shadow:none; }
#vehiclePartsCatalog .vehicle-category-node.has-selected { color:#1f6b9c; font-weight:650; }
#vehiclePartsCatalog .vehicle-category-node.is-selected { background:#d9ecf8; color:#096da9; font-weight:700; }
#vehiclePartsCatalog .vehicle-parts-main { min-width:0; }
#vehiclePartsCatalog .vehicle-parts-section-title { margin:0 0 9px; font-size:20px; scroll-margin-top:115px; }
#vehiclePartsCatalog .vehicle-parts-path { font-size:11px; line-height:1.6; color:#708b9d; margin:0 0 10px; overflow-wrap:anywhere; }
#vehiclePartsCatalog .vehicle-parts-status { min-height:22px; margin:0 0 20px; font-size:13px; line-height:1.5; color:#637f91; }
#vehiclePartsCatalog .vehicle-parts-tools { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:18px; }
#vehiclePartsCatalog .vehicle-parts-cards:not(:empty) { display:flex; flex-direction:column; gap:0; border:1px solid #d5e5ef; border-radius:24px; overflow:hidden; background:#fff; }
#vehiclePartsCatalog .vehicle-part-card { display:grid; grid-template-columns:64px minmax(0,1fr) auto; align-items:center; gap:16px; padding:14px 18px; border:0; border-bottom:1px solid #e2edf4; border-radius:0; background:#fff; box-shadow:none; min-width:0; }
#vehiclePartsCatalog .vehicle-part-picture { display:flex; align-items:center; justify-content:center; height:68px; border-radius:15px; background:#f6fafc; overflow:hidden; color:#90a7b4; font-size:11px; }
#vehiclePartsCatalog .vehicle-part-picture img { width:100%; height:100%; object-fit:contain; }
#vehiclePartsCatalog .vehicle-part-info { min-width:0; }
#vehiclePartsCatalog .vehicle-part-brand { margin:0 0 5px; font-size:10px; font-weight:750; color:#647f91; letter-spacing:.035em; overflow-wrap:anywhere; }
#vehiclePartsCatalog h4 { font-size:14px; margin:0 0 8px; line-height:1.35; }
#vehiclePartsCatalog .vehicle-part-article { display:inline; padding:0; min-height:28px; background:none; border:0; box-shadow:none; border-radius:0; font-size:14px; line-height:1.4; font-weight:700; color:#1176b8; text-align:left; overflow-wrap:anywhere; }
#vehiclePartsCatalog .vehicle-part-article:hover { text-decoration:underline; transform:none; }
#vehiclePartsCatalog .vehicle-part-properties { margin-top:8px; font-size:11px; color:#536f80; }
#vehiclePartsCatalog .vehicle-part-properties summary { cursor:pointer; padding:5px 0; }
#vehiclePartsCatalog dl { margin:8px 0 0; display:grid; gap:4px; }
#vehiclePartsCatalog dt { font-weight:600; } #vehiclePartsCatalog dd { margin:0 0 6px; overflow-wrap:anywhere; }
#vehiclePartsCatalog .primary-button, #vehiclePartsCatalog .secondary-button { min-height:40px; padding:9px 16px; border-radius:999px; font-size:12px; line-height:1.3; width:auto; }
#vehiclePartsCatalog .vehicle-part-price { grid-column:auto; width:auto; min-width:138px; margin:0; white-space:nowrap; }
#vehiclePartsCatalog .vehicle-part-card:last-child { border-bottom:0; }
#vehiclePartsCatalog .vehicle-parts-pager { display:flex; align-items:center; justify-content:center; gap:16px; margin-top:24px; font-size:12px; }
#vehiclePartsCatalog .vehicle-parts-footer { display:flex; align-items:center; justify-content:flex-end; gap:12px; padding:24px 0 0; font-size:12px; background:none; color:#637f91; }
#vehiclePartsCatalog .vehicle-category-empty { font-size:12px; line-height:1.6; }
#vehiclePartsCatalog :focus-visible { outline:2px solid #1483cb; outline-offset:3px; }
#vehiclePartsCatalog h2:focus, #vehiclePartsCatalog h3:focus { outline:none; }
.vehicle-catalog-return { margin-bottom:18px; font-size:12px; }
@media (max-width:1100px) { #vehiclePartsCatalog { width:calc(100% - 40px); margin-left:20px; margin-right:20px; } #vehiclePartsCatalog .vehicle-parts-layout { grid-template-columns:230px minmax(0,1fr); gap:16px; } #vehiclePartsCatalog .vehicle-parts-cards { grid-template-columns:1fr; } }
@media (max-width:760px) { #vehiclePartsCatalog { width:calc(100% - 24px); margin:24px 12px 36px; padding:18px; border-radius:28px; scroll-margin-top:85px; } #vehiclePartsCatalog .vehicle-parts-heading { align-items:flex-start; flex-direction:column; gap:12px; } #vehiclePartsCatalog h2 { font-size:21px; } #vehiclePartsCatalog .vehicle-parts-layout { grid-template-columns:1fr; } #vehiclePartsCatalog .vehicle-category-list { max-height:320px; } #vehiclePartsCatalog .vehicle-category-node { min-height:40px; padding-top:9px; padding-bottom:9px; } #vehiclePartsCatalog summary.vehicle-category-node::before { top:16px; } #vehiclePartsCatalog .vehicle-category-leaf::before { top:18px; } #vehiclePartsCatalog .vehicle-parts-tools { grid-template-columns:1fr; } #vehiclePartsCatalog .vehicle-parts-section-title { font-size:18px; } #vehiclePartsCatalog .vehicle-parts-footer { flex-wrap:wrap; } }

#vehicleCatalogRetry[hidden] { display:none !important; }
#vehicleCatalogRetry { min-height:40px; font-size:12px; border-radius:999px; }

/* Safari's native select appearance overrides rounded field geometry unless reset. */
#vehiclePartsCatalog .vehicle-parts-tools select {
  -webkit-appearance:none !important; appearance:none !important;
  display:block !important; height:44px !important; min-height:44px !important;
  border:1px solid #bdd9ec !important; border-radius:999px !important;
  padding:9px 42px 9px 16px !important;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2355778d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center !important;
  font:500 13px/1.4 'Manrope',sans-serif !important; box-shadow:none !important;
}
#vehiclePartsCatalog .vehicle-parts-tools select:focus-visible {
  outline:0 !important; border-color:#1684c4 !important; box-shadow:0 0 0 3px rgba(22,132,196,.16) !important;
}
@media (max-width:1000px) {
  #vehiclePartsCatalog .vehicle-part-card { grid-template-columns:52px minmax(0,1fr); gap:8px 14px; padding:13px 15px; }
  #vehiclePartsCatalog .vehicle-part-picture { height:58px; align-self:start; grid-row:1 / 3; }
  #vehiclePartsCatalog .vehicle-part-price { grid-column:2; justify-self:start; min-width:0; margin:0; padding:8px 14px; }
}
/* Brand and article share one line, keeping list rows compact. */
#vehiclePartsCatalog .vehicle-part-info { display:flex; flex-wrap:wrap; align-items:baseline; gap:3px 10px; }
#vehiclePartsCatalog .vehicle-part-brand { order:1; margin:0; font-size:11px; }
#vehiclePartsCatalog .vehicle-part-article {
  order:2; min-height:0 !important; height:auto !important; margin:0 !important; padding:0 !important;
  background:transparent !important; border:0 !important; box-shadow:none !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important; font-size:13px !important;
}
#vehiclePartsCatalog .vehicle-part-article::after { display:none !important; }
#vehiclePartsCatalog .vehicle-part-info h4 { order:3; flex-basis:100%; margin:0; font-size:13px; }
#vehiclePartsCatalog .vehicle-part-properties { order:4; flex-basis:100%; margin:0; }
#vehiclePartsCatalog .vehicle-part-properties summary { padding:3px 0; }
