/* OWNER FINAL VISUAL REFINEMENT V5 — presentation-only layer.
   This file intentionally does not alter catalog data, quick-spec selection,
   checkout logic, pagination, brand routing or category membership logic. */

/* Homepage equipment cards restore the V9R2 chooser contract for non-leaf
   categories while keeping leaf tiles as direct category links. */
.mg-card-main{appearance:none;-webkit-appearance:none}
.mg-card-main[data-jg-dialog]{text-align:left}
.mg-card-main[data-jg-dialog] .mg-action,.mg-card-main[href] .mg-action{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.35rem;height:2.35rem;border:1px solid color-mix(in srgb,var(--green) 28%,#fff);background:#fff;color:var(--green)}
.mg-card-main[data-jg-dialog] .mg-action svg,.mg-card-main[href] .mg-action svg{width:1rem;height:1rem}
@media(max-width:760px){
  .mg-home .mg-featured .mg-card-main{position:relative}
  .mg-home .mg-featured .mg-title{position:static}
  .mg-home .mg-featured .mg-title .mg-action{display:inline-flex;position:absolute;top:14px;right:14px;margin:0;z-index:2}
}

/* PDP canvas and type scale. */
.jg-parity-pdp.wrap{width:min(100% - 56px,1760px);max-width:1760px}
.pdp-b-hero{grid-template-columns:minmax(270px,360px) minmax(430px,1fr) minmax(330px,392px);gap:clamp(28px,3vw,52px);align-items:start;padding-top:20px}
.b-product-intro{min-width:0}
.product-title .eyebrow{margin-bottom:14px;letter-spacing:.12em}
.direction-b .product-title .jg-product-model{font-size:3rem;line-height:1.02;letter-spacing:-.035em;margin:12px 0 12px}
.direction-b .product-title h1.jg-product-display-title{font-size:2.1875rem;line-height:1.12;letter-spacing:-.018em;margin-bottom:18px}
.jg-product-code{margin-top:18px;font-size:.875rem}
.b-product-intro .text-button{margin-top:22px}

/* Gallery proportions and thumbnail rail. */
.jg-parity-pdp .gallery{min-width:0}
.jg-parity-pdp .gallery-stage{position:relative;display:grid;grid-template-rows:minmax(360px,1fr) auto;gap:12px;min-height:0;border:1px solid var(--line);background:#fff;padding:18px}
.jg-parity-pdp .gallery-main{display:grid;place-items:center;width:100%;min-height:420px;aspect-ratio:4/3;background:#fff}
.jg-parity-pdp .gallery-main img{width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain}
.gallery-zoom{right:18px;bottom:18px}
.gallery-position{left:18px;bottom:18px;background:#ffffffe6;border:1px solid var(--line);padding:6px 10px}
.thumbs{display:flex;gap:10px;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable;padding:10px 2px 12px;margin-top:12px}
.thumbs button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 78px;width:78px;min-width:78px;height:78px;min-height:78px;aspect-ratio:1/1;padding:7px;border:1px solid var(--line);background:#fff}
.thumbs button.active{border:2px solid var(--green);box-shadow:inset 0 0 0 2px #fff}
.thumbs button:focus-visible{outline:3px solid color-mix(in srgb,var(--green) 35%,#fff);outline-offset:2px}

/* Purchase card: price, availability, quantity and CTA keep a stable hierarchy. */
.b-purchase{min-width:0}
.b-purchase .buy-box{height:auto;display:flex;flex-direction:column;gap:0;padding:26px 26px 24px;border:1px solid color-mix(in srgb,var(--line) 80%,#fff);background:#fff;box-shadow:0 18px 48px #1e2b160f}
.b-purchase .variant-label{margin-bottom:10px;color:var(--muted);letter-spacing:.11em}
.b-purchase .variant{margin:0 0 12px;font-size:1rem;line-height:1.55}
.purchase-price{margin:8px 0 0;padding:17px 0 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.purchase-price strong{display:flex;align-items:baseline;flex-wrap:wrap;gap:.18em;font-family:'Barlow Condensed',Arial,sans-serif;font-size:2.55rem;line-height:1;font-weight:750;letter-spacing:-.025em;color:var(--ink)}
.purchase-price .woocommerce-Price-currencySymbol{font-size:.62em;letter-spacing:0}
.purchase-price>span{display:block;margin-top:6px;font-size:.75rem;color:var(--muted)}
.jg-commerce-facts{margin:18px 0 0;border-top:0}
.jg-commerce-facts li{grid-template-columns:minmax(7.25rem,.68fr) minmax(0,1.32fr);gap:14px;padding:13px 0;font-size:.875rem}
.jg-commerce-facts b{font-size:.7rem;letter-spacing:.08em}
.jg-commerce-facts span{text-align:right;line-height:1.45}
.jg-purchase-form{grid-template-columns:112px minmax(0,1fr)!important;gap:12px;margin-top:20px;align-items:stretch}
.jg-purchase-form>label{grid-column:1/-1;margin:0;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.jg-purchase-form .quantity{width:100%!important;min-width:0}
.jg-purchase-form input.qty{min-height:58px;border:1px solid var(--line);background:#fff;font-size:1.125rem;font-weight:750;line-height:1;text-align:center}
.jg-purchase-form .primary,.jg-product-contact,.jg-disabled-purchase{width:100%;min-height:58px;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--forest)!important;color:#fff!important;border:0;font-weight:800;letter-spacing:.01em;text-align:center}
.jg-product-contact{margin-top:20px;padding-inline:18px;text-decoration:none}
.jg-product-contact svg,.jg-purchase-form .primary svg,.buy-secondary svg{flex:0 0 auto}
.jg-cta-explanation{font-size:.75rem;line-height:1.55;margin-top:11px}
.buy-secondary{margin-top:17px;padding-top:15px;border-top:1px solid var(--line)}
.buy-secondary a,.buy-secondary span{display:flex;align-items:center;gap:9px;line-height:1.45;color:var(--ink)}
.jg-pdp-identifiers{margin-top:18px}
.jg-pdp-identifiers span{padding:12px 0}

/* Details area: stronger rhythm, restrained rail and central media limits. */
.detail-layout{grid-template-columns:minmax(180px,235px) minmax(0,1fr);gap:clamp(32px,4vw,72px)}
.detail-index{align-self:start;position:sticky;top:116px;transform:none}
.detail-index h2{font-size:2.1rem;line-height:1.02;letter-spacing:-.02em}
.detail-index a{font-size:.8125rem;line-height:1.45;padding-block:12px}
.details-main>section{padding-block:48px}
.details-main .detail-heading{margin-bottom:26px}
.details-main .detail-heading h2,.data-section>h2,.jg-documents>h2,.jg-kit-section>h2{font-size:2.45rem;line-height:1.08;letter-spacing:-.018em}
.source-description,.jg-legacy-content{line-height:1.72}
.source-description p,.source-description li,.source-description .productMainContent{max-width:84ch}
.source-description img,.jg-legacy-content img{display:block;max-width:min(100%,960px)!important;height:auto!important;margin:20px 0;background:#fff}
.source-description .detailPhoto,.jg-legacy-content .detailPhoto{max-width:min(100%,780px)!important}
.source-description table,.jg-legacy-content table{max-width:100%!important;width:100%!important;border-collapse:collapse}
.source-description td,.source-description th,.jg-legacy-content td,.jg-legacy-content th{overflow-wrap:anywhere}
.spec-table div{grid-template-columns:minmax(220px,.55fr) minmax(0,1fr)}

@media(min-width:1500px){
  .jg-parity-pdp .gallery-main{min-height:500px}
  .b-purchase .buy-box{padding:30px 30px 28px}
}

@media(max-width:1280px){
  .jg-parity-pdp.wrap{width:min(100% - 44px,100%)}
  .pdp-b-hero{grid-template-columns:minmax(245px,330px) minmax(370px,1fr) minmax(310px,360px);gap:26px}
  .direction-b .product-title .jg-product-model{font-size:2.55rem}
  .direction-b .product-title h1.jg-product-display-title{font-size:1.9rem}
  .purchase-price strong{font-size:2.25rem}
  .detail-layout{grid-template-columns:minmax(165px,210px) minmax(0,1fr)}
}

@media(max-width:1150px){
  .pdp-b-hero{padding-top:10px}
  .jg-parity-pdp .gallery-stage{grid-template-rows:auto auto;min-height:0}
  .jg-parity-pdp .gallery-main{min-height:360px}
  .b-purchase .buy-box{max-width:720px}
  .detail-index{position:relative;top:auto}
}

@media(max-width:900px){
  .details-main>section{padding-block:38px}
  .details-main .detail-heading h2,.data-section>h2,.jg-documents>h2,.jg-kit-section>h2{font-size:2.1rem}
  .spec-table div{grid-template-columns:minmax(0,1fr)}
}

@media(max-width:760px){
  .jg-parity-pdp.wrap{width:min(100% - 28px,100%)}
  .direction-b .product-title .jg-product-model{font-size:2.25rem;line-height:1.04}
  .direction-b .product-title h1.jg-product-display-title{font-size:1.65rem;line-height:1.16}
  .jg-product-code{font-size:.8125rem}
  .jg-parity-pdp .gallery-stage{padding:12px}
  .jg-parity-pdp .gallery-main{min-height:290px;aspect-ratio:1/1}
  .thumbs{gap:8px;padding-bottom:10px}
  .thumbs button{flex-basis:66px;width:66px;min-width:66px;height:66px;min-height:66px;padding:6px}
  .b-purchase .buy-box{padding:22px 18px}
  .purchase-price strong{font-size:2.15rem}
  .jg-commerce-facts li{grid-template-columns:1fr;gap:5px;padding:12px 0}
  .jg-commerce-facts span{text-align:left}
  .jg-purchase-form{grid-template-columns:92px minmax(0,1fr)!important}
  .detail-layout{grid-template-columns:1fr;width:min(100% - 28px,100%)}
  .detail-index{display:block;padding-bottom:14px;border-bottom:1px solid var(--line)}
  .detail-index h2{font-size:1.75rem}
  .detail-index a{display:inline-flex;margin-right:14px}
  .source-description img,.jg-legacy-content img{margin:16px 0;max-width:100%!important}
  .source-description table,.jg-legacy-content table{display:block;overflow-x:auto;overscroll-behavior-inline:contain}
}

@media(max-width:520px){
  .pdp-b-hero{gap:22px}
  .direction-b .product-title .jg-product-model{font-size:2rem}
  .direction-b .product-title h1.jg-product-display-title{font-size:1.48rem}
  .jg-parity-pdp .gallery-main{min-height:250px}
  .gallery-position{left:12px;bottom:12px}
  .gallery-zoom{right:12px;bottom:12px}
  .purchase-price strong{font-size:1.95rem}
  .jg-purchase-form{grid-template-columns:1fr!important}
  .jg-purchase-form .primary,.jg-product-contact,.jg-disabled-purchase{min-height:56px}
  .details-main>section{padding-block:32px}
}
