/* JPM product pages: clear showroom, legible specifications, rounded petrol panels. */
/* A clipping scroll ancestor displaced sticky navigation over the first row. */
.single-jpm_motorcycle main { overflow: visible; }
.single-jpm_motorcycle .jpm-product-nav { top: 100px; margin-bottom: 0; }
.single-jpm_motorcycle.admin-bar .jpm-product-nav { top: 132px; }
.single-jpm_motorcycle .jpm-breadcrumbs { flex-wrap: wrap; overflow-wrap: anywhere; font-size: .875rem; color: #53615d; }
.jpm-product-hero__grid > *, .jpm-feature-list__copy { min-width: 0; }
.jpm-product .jpm-feature-list__copy h3 { overflow-wrap: anywhere; hyphens: auto; }
.jpm-product [id] { scroll-margin-top: 180px; }
.jpm-product-nav { background: #fff; border-color: var(--line); border-radius: 24px; }
.jpm-product-nav .jpm-shell { padding: 10px 18px; gap: 18px; }
.jpm-product-nav strong { color: var(--ink); max-width: 30%; line-height: 1.4; }
.jpm-product-nav span { flex-wrap: wrap; gap: 6px; }
.jpm-product-nav a { padding: 10px 12px; min-height: 44px; display: inline-flex; align-items: center; color: var(--ink); font-size: .875rem; letter-spacing: 0; }
.jpm-product-nav a:hover { color: var(--acid-dark); background: var(--jpm-pale); border-radius: 99px; }
.jpm-product-nav a:last-child { color: #fff; background: var(--acid); }
.jpm-product-hero { padding-block: 30px 56px; }
.jpm-product-hero__grid { grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: clamp(24px,3vw,48px); }
.jpm-gallery-caption { color: var(--muted); font-size: .875rem; line-height: 1.5; margin: 0 0 12px; }
.jpm-product-gallery__main { position: relative; border-radius: 32px; background: #fff; border: 1px solid var(--line); }
/* Remove the image's intrinsic grid minimum: contain it within the actual frame. */
.jpm-product-gallery__main > img { position: absolute; inset: 0; min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; box-sizing: border-box; mix-blend-mode: normal; width: 100%; height: 100%; padding: 20px; object-fit: contain; }
/* Individually checked official studio files contain excess blank canvas.
   Reframe only these product views; retain the original files in the lightbox. */
.jpm-product-gallery__main { overflow: hidden; }
#jpm-product-photo[src*="/husqvarna-ee-1-12/color-"],
#jpm-product-photo[src*="/gasgas-mc-e-1-12/color-"] { transform: translateY(-12%) scale(1.7); transform-origin: center bottom; }
#jpm-product-photo[src*="/husqvarna-ee-1-16/color-"],
#jpm-product-photo[src*="/gasgas-mc-e-1-16/color-"] { transform: translateY(-12%) scale(1.4); transform-origin: center bottom; }
#jpm-product-photo[src*="/husqvarna-ee-1-20/color-"],
#jpm-product-photo[src*="/gasgas-mc-e-1-20/color-"],
#jpm-product-photo[src*="/ktm-sx-e-1-12/color-"],
#jpm-product-photo[src*="/ktm-sx-e-1-16/color-"],
#jpm-product-photo[src*="/ktm-sx-e-1-20/color-"] { transform: translateY(-12%) scale(1.25); transform-origin: center bottom; }
#jpm-product-photo[src*="/gasgas-mc-e-2/color-"] { transform: translateY(-10%) scale(1.5); transform-origin: center bottom; }
#jpm-product-photo[src*="/gasgas-mc-e-3/color-"],
#jpm-product-photo[src*="/gasgas-mc-e-5/color-"] { transform: translateY(-12%) scale(1.2); transform-origin: center bottom; }
#jpm-product-photo[src*="/husqvarna-ee-1-16/color-"] { transform: translateY(-6%) scale(1.3); }
#jpm-product-photo[src*="/husqvarna-ee-1-20/color-"] { transform: translateY(-7%) scale(1.2); }
.jpm-product-gallery__thumbs { display: grid; grid-template-columns: repeat(auto-fill,minmax(76px,1fr)); gap: 10px; }
.jpm-product-gallery__thumbs button { aspect-ratio: 4/3; border-radius: 16px; border: 2px solid var(--line); padding: 6px; background: #fff; min-width: 0; }
.jpm-product-gallery__thumbs button[aria-current=true] { border-color: var(--acid); box-shadow: 0 0 0 2px var(--jpm-pale); }
.jpm-product-gallery__thumbs img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: normal; }
.jpm-product-summary { background: #182b25; border-radius: 32px; padding: clamp(24px,3vw,40px); }
.jpm-product-summary__brand { font-size: .875rem; color: var(--jpm-mint); background: #243e34; padding: 8px 14px; letter-spacing: .04em; }
.jpm-product-summary__meta { color: #caddd3; font-size: .875rem; margin-top: 18px; }
.jpm-product-summary h1 { color: #fff; font-size: clamp(2.4rem,3.9vw,4.2rem); line-height: 1.04; letter-spacing: -.045em; }
.jpm-product-summary__tagline { color: #e1ece5; font-size: 1rem; line-height: 1.65; }
.jpm-quick-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-block: 24px; }
.jpm-quick-stats > div { background: #233e33; padding: 15px; border-radius: 16px; min-width: 0; }
.jpm-quick-stats dt { color: #cbded3; font-size: .875rem; font-weight: 400; }
.jpm-quick-stats dd { color: #fff; font-size: 1rem; line-height: 1.45; margin: 6px 0 0; overflow-wrap: anywhere; }
.jpm-product-price { grid-template-columns: minmax(0,1fr); gap: 8px; padding-top: 22px; border-top: 1px solid #4b6356; }
.jpm-product-price small,.jpm-product-price span { color: #d3e4d9; font-size: .875rem; line-height: 1.5; }
.jpm-product-price strong { color: #fff; font-size: clamp(1.8rem,2.8vw,2.6rem); }
.jpm-product-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 22px; }
.jpm-product-actions .jpm-button { font-size: .9375rem; min-height: 52px; padding: 14px 16px; }
.jpm-product-actions .jpm-button--acid { background: var(--jpm-mint); color: #142b24; }
.jpm-product-actions .jpm-button--acid:hover { background: #b0f1df; }
.jpm-product-actions .jpm-button--dark { border-color: #829f8e; color: #fff; background: transparent; }
.jpm-product-summary .jpm-price-note { font-size: .8125rem; color: #cbded3; line-height: 1.65; margin-bottom: 0; }
.jpm-product-intro { padding-block: 48px; }
.jpm-product-intro__grid { grid-template-columns: .35fr 1fr; gap: 40px; }
.jpm-product-intro h2 { font-size: clamp(1.9rem,2.7vw,2.8rem); max-width: 850px; }
.jpm-product-intro p { font-size: 1rem; line-height: 1.75; }
.jpm-product .jpm-color-grid article { border: 1px solid var(--line); background: #fff; border-radius: 24px; }
.jpm-product .jpm-color-grid img { mix-blend-mode: normal; }
.jpm-product .jpm-color-grid strong { font-size: 1rem; }
.jpm-product .jpm-feature-list__copy p { font-size: 1rem; line-height: 1.75; color: #dde8e1; }
.jpm-product .jpm-feature-list__copy h3 { font-size: clamp(1.25rem,2vw,1.65rem); line-height: 1.3; }
.jpm-specs__grid { grid-template-columns: minmax(220px,.65fr) minmax(0,1.35fr); gap: clamp(32px,5vw,72px); }
.jpm-specs__intro { top: 180px; }
.jpm-specs__intro p { font-size: 1rem; line-height: 1.75; }
.jpm-specs__intro a { color: var(--acid-dark); text-decoration: underline; text-underline-offset: 4px; }
.jpm-technical-groups { display: grid; gap: 14px; align-content: start; min-width: 0; }
.jpm-technical-group { background: #fff; border: 1px solid var(--line); border-radius: 22px; overflow: hidden; }
.jpm-technical-group summary { display: flex; align-items: center; gap: 16px; padding: 22px 24px; cursor: pointer; font-weight: 700; font-size: 1.125rem; list-style: none; }
.jpm-technical-group summary::-webkit-details-marker { display: none; }
.jpm-technical-group summary::after { content: '+'; color: var(--acid-dark); font-size: 1.5rem; margin-left: auto; }
.jpm-technical-group[open] summary::after { content: '−'; }
.jpm-technical-group[open] summary { background: var(--jpm-pale); }
.jpm-technical-group__count { color: var(--muted); font-size: .8125rem; font-weight: 400; white-space: nowrap; }
.jpm-technical-group dl { margin: 0; padding: 8px 24px 16px; }
.jpm-technical-group dl > div { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 24px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.jpm-technical-group dl > div:last-child { border-bottom: 0; }
.jpm-technical-group dt { color: var(--muted); font-size: .9375rem; line-height: 1.6; }
.jpm-technical-group dd { color: var(--ink); font-size: 1rem; font-weight: 600; line-height: 1.6; margin: 0; overflow-wrap: anywhere; }
.jpm-product :focus-visible { outline: 3px solid var(--acid); outline-offset: 4px; }
.jpm-product-summary :focus-visible { outline-color: var(--jpm-mint); }
@media (max-width: 1100px) {
  .jpm-product-nav strong { display: none; }
  .jpm-product-nav .jpm-shell { justify-content: center; }
}
@media (max-width: 820px) {
  .jpm-product-hero__grid,.jpm-product-intro__grid,.jpm-specs__grid { grid-template-columns: 1fr; gap: 28px; }
  .jpm-product-nav { position: static; border-radius: 20px; }
  .jpm-product-nav span { justify-content: center; }
  .jpm-product-nav a { padding-inline: 10px; }
  .jpm-product [id] { scroll-margin-top: 100px; }
  .jpm-product-summary h1 { font-size: clamp(2.5rem,7vw,3.5rem); }
  .jpm-specs__intro { position: static; }
}
@media (max-width: 480px) {
  .jpm-product-summary { padding: 26px 22px; border-radius: 26px; }
  .jpm-product-gallery__main > img { padding: 10px; }
  .jpm-product-actions { grid-template-columns: 1fr; }
  .jpm-technical-group summary { padding: 20px; gap: 10px; flex-wrap: wrap; }
  .jpm-technical-group dl { padding-inline: 20px; }
  .jpm-technical-group dl > div { grid-template-columns: 1fr; gap: 5px; }
}
@media (max-width: 360px) {
  .jpm-product .jpm-feature-list__copy h3 { font-size: 1.125rem; }
}
@media print {
  .jpm-technical-group::details-content { display: block; }
  .jpm-technical-group { break-inside: avoid; }
}
