.ja-product-page{background:var(--ja-white);color:var(--ja-navy)}
.ja-product-page a{color:var(--ja-navy)}.ja-product-page a:hover{color:var(--ja-navy-hover)}
body.ja-product-page button.ja-product-submit{font:650 var(--ja-type-action)/1.25 var(--ja-font-body);display:inline-flex;align-items:center;justify-content:center;gap:var(--ja-button-gap,24px);border:1px solid var(--ja-orange);border-radius:0}
.ja-product-page .ja-home-footer a,.ja-product-page .ja-home-footer a:hover{color:var(--ja-white)}
.ja-product-page .ja-home-footer :focus-visible{outline-color:var(--ja-orange)}
.ja-product-page .ja-product-quantity input{border-radius:0!important;min-height:0;width:60px;border:0;border-inline:1px solid var(--ja-line)}
.ja-product-page .ja-product-quantity button{background:white!important;color:var(--ja-navy)!important}
.ja-product-page [hidden]{display:none!important}
.ja-product-page .ja-menu-toggle,.ja-cart-page .ja-menu-toggle{display:none!important}
.ja-product-page .ja-product-submit svg{width:21px;height:21px;flex:none;stroke:currentColor;stroke-width:1.8;fill:none;transition:transform var(--ja-feedback) var(--ja-ease)}
.ja-toc h3{font:650 24px/1.3 var(--ja-font-body);margin:16px 0 12px}
@media(hover:hover) and (pointer:fine){.ja-product-submit:hover svg{transform:translateX(5px)}}
@media(max-width:1100px){.ja-product-page .ja-menu-toggle,.ja-cart-page .ja-menu-toggle{display:inline-flex!important}}
.ja-cart-page main{padding-block:32px 64px;min-height:50vh}.ja-cart-page h1{font-size:var(--ja-type-section)}.ja-cart-page .woocommerce :is(.button,button,input){border-radius:0;font-family:var(--ja-font-body)}.ja-cart-page .woocommerce :is(.button,button){background:var(--ja-navy);color:white}.ja-cart-page .woocommerce table{font-size:var(--ja-type-small)}
.ja-product-width{width:min(100% - 2*var(--ja-gutter),var(--ja-container));margin-inline:auto}
.ja-product-breadcrumb{display:flex;flex-wrap:wrap;gap:12px;padding:24px 0;font-size:var(--ja-type-small);line-height:1.5;overflow-wrap:anywhere}
.ja-product-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.ja-product-buy{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:48px;align-items:start;padding:8px 0 48px}
.ja-product-cover{background:rgb(248 247 244 / .25);display:flex;align-items:center;justify-content:center;padding:32px;min-height:480px}
.ja-product-cover img{display:block;max-width:80%;width:auto;height:auto;max-height:440px;object-fit:contain;filter:drop-shadow(4px 7px 7px #172b4120)}
.ja-product-copy{min-width:0;padding-top:12px}
.ja-product-copy h1{font:750 clamp(32px,3.6vw,48px)/1.1 var(--ja-font-body);text-transform:none;letter-spacing:-.02em;margin:0;text-wrap:balance;overflow-wrap:anywhere}
.ja-product-author{font-size:var(--ja-type-small);margin:16px 0 24px}.ja-product-author a{text-decoration:underline;text-underline-offset:4px}
.ja-product-intro{font-size:var(--ja-type-body);line-height:var(--ja-body-leading);max-width:65ch}.ja-product-intro p{margin:0}
.ja-product-offer{border-top:1px solid var(--ja-line);margin-top:24px;padding-top:20px}
.ja-product-label{font-size:var(--ja-type-small);color:var(--ja-muted);margin:0 0 8px}
.ja-product-formats{display:flex;flex-wrap:wrap;gap:12px}
.ja-product-formats a{font-size:var(--ja-type-action);font-weight:650;line-height:1.25;border:1px solid var(--ja-border);padding:14px 24px;min-width:120px;min-height:52px;text-align:center;text-decoration:none;background:white;transition:background-color var(--ja-feedback) var(--ja-ease),color var(--ja-feedback) var(--ja-ease)}
.ja-product-formats a.is-active{background:var(--ja-navy);color:white;border-color:var(--ja-navy)}
.ja-product-price{font:750 40px/1.2 var(--ja-font-body);font-variant-numeric:tabular-nums;margin:24px 0}.ja-product-price del{font-size:22px;color:var(--ja-muted)}.ja-product-price ins{text-decoration:none}
.ja-product-cart{display:flex;gap:16px;align-items:end;flex-wrap:wrap}
.ja-product-quantity label{display:block;font-size:var(--ja-type-small);margin-bottom:8px}
.ja-product-quantity>div{display:flex;align-items:stretch;border:1px solid var(--ja-line);height:56px}
.ja-product-quantity button{border:0;background:var(--ja-white);color:var(--ja-navy);width:44px;padding:0;font-size:24px;cursor:pointer}
.ja-product-quantity button:disabled{color:var(--ja-muted);cursor:default}
.ja-product-quantity input{border:0;border-inline:1px solid var(--ja-line);width:60px;text-align:center;padding:8px;font:650 20px var(--ja-font-body);color:var(--ja-navy);border-radius:0;appearance:textfield}
.ja-product-quantity input::-webkit-inner-spin-button{appearance:none}
.ja-product-submit{background:var(--ja-orange);color:var(--ja-navy);border:1px solid var(--ja-orange);padding:16px 24px;min-height:56px;font:650 var(--ja-type-action)/1.25 var(--ja-font-body);display:inline-flex;justify-content:center;align-items:center;gap:24px;cursor:pointer;transition:background-color var(--ja-feedback) var(--ja-ease)}
.ja-product-submit:hover{background:var(--ja-orange-hover)}.ja-product-submit:disabled{cursor:wait;opacity:.75}
.ja-product-stock{font-size:var(--ja-type-action);margin:16px 0}
.ja-product-sections-nav{display:flex;gap:32px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--ja-line)}
.ja-product-sections-nav a{font-size:var(--ja-type-action);font-weight:650;text-underline-offset:6px;min-height:44px;display:flex;align-items:center}
.ja-product-section{padding:48px 0;border-bottom:1px solid var(--ja-line);scroll-margin-top:64px;container-type:inline-size}
.ja-product-section:last-child{border-bottom:0;padding-bottom:64px}
.ja-product-section h2{font:700 var(--ja-type-section)/var(--ja-section-leading) var(--ja-font-display);text-transform:uppercase;margin:0 0 24px}
.ja-product-prose,.ja-toc{font-size:var(--ja-type-body);line-height:var(--ja-body-leading);max-width:72ch;overflow-wrap:anywhere}.ja-product-prose p{margin:0 0 16px}.ja-product-prose p:last-child{margin-bottom:0}
.ja-product-facts{max-width:760px;margin:0;font-size:var(--ja-type-body);line-height:1.5}.ja-product-facts>div{display:grid;grid-template-columns:minmax(120px,.65fr) minmax(0,1fr);gap:24px;padding:12px 0;border-bottom:1px solid var(--ja-line)}.ja-product-facts dt{font-weight:650}.ja-product-facts dd{margin:0;overflow-wrap:anywhere}
.ja-toc{margin:0;padding-left:24px}.ja-toc>li{padding:4px 0 12px}.ja-toc ul{padding-left:24px;margin:8px 0 0}
.ja-product-page :is(button,input,a){border-radius:0}.ja-product-page :focus-visible{outline:2px solid var(--ja-navy);outline-offset:4px}
@media(max-width:1024px){.ja-product-buy{gap:32px}.ja-product-cover{min-height:400px;padding:24px}.ja-product-cover img{max-height:360px}.ja-product-submit{flex:1}}
@media(max-width:700px){.ja-product-buy{grid-template-columns:1fr;gap:24px;padding-bottom:32px}.ja-product-cover{min-height:0;padding:20px}.ja-product-cover img{max-height:220px;max-width:70%}.ja-product-copy{padding-top:0}.ja-product-copy h1{font-size:32px}.ja-product-price{font-size:32px}.ja-product-author{margin:12px 0 20px}.ja-product-cart{gap:12px}.ja-product-submit{padding:16px;gap:12px}.ja-product-sections-nav{gap:8px 24px}.ja-product-section{padding:32px 0}.ja-product-section h2{margin-bottom:20px}}
@media(max-width:360px){.ja-product-submit{flex-basis:100%}.ja-product-quantity input{width:68px}}
/* The supplementary CTA submits the same native form and has no duplicate quantity. */
.ja-product-document{scroll-padding-bottom:calc(var(--ja-purchase-space,140px) + 16px)}
.ja-product-has-dock{padding-bottom:var(--ja-purchase-space,92px)}
.ja-product-purchase-dock{position:fixed;inset:auto 0 0;z-index:30;background:var(--ja-white);border-top:1px solid var(--ja-line);padding:16px 0 calc(16px + env(safe-area-inset-bottom,0px));opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity 180ms var(--ja-ease),transform 180ms var(--ja-ease)}
.ja-product-purchase-dock.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
.ja-product-dock-content{width:min(100% - 2*var(--ja-gutter),var(--ja-container));margin:0 auto;display:flex;align-items:center;gap:24px}
.ja-product-dock-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;flex:1;min-width:0}
.ja-product-dock-summary>div{min-width:0}
.ja-product-dock-title{display:block;font:650 var(--ja-type-action)/1.25 var(--ja-font-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ja-product-dock-format{display:block;font-size:var(--ja-type-small);line-height:1.5;color:var(--ja-muted)}
.ja-product-dock-price{font:750 var(--ja-type-card-title,25px)/1.2 var(--ja-font-body);font-variant-numeric:tabular-nums;white-space:nowrap}
.ja-product-dock-price del{font-size:var(--ja-type-small);color:var(--ja-muted)}.ja-product-dock-price ins{text-decoration:none}
.ja-product-quantity{flex:none}.ja-product-quantity>div{width:150px}
.ja-product-quantity button{flex:none;min-width:44px}
.ja-product-page .ja-product-quantity button:disabled{color:var(--ja-muted)!important}
.ja-product-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
body.ja-product-page button.ja-product-submit{background:var(--ja-orange);color:var(--ja-navy);flex:none;transition:background-color var(--ja-feedback) var(--ja-ease),transform 120ms var(--ja-ease)}
body.ja-product-page button.ja-product-submit:hover,body.ja-product-page button.ja-product-submit:focus{background:var(--ja-orange-hover);color:var(--ja-navy);border-color:var(--ja-orange-hover)}
body.ja-product-page button.ja-product-submit:active{background:var(--ja-orange-hover);color:var(--ja-navy);transform:scale(.98)}
body.ja-product-page button.ja-product-submit:disabled{background:var(--ja-surface,#f0efeb);color:var(--ja-muted);border-color:var(--ja-line);opacity:1;cursor:wait;transform:none}
.ja-product-facts.has-many{display:grid;gap:0 48px;max-width:none}
@container(min-width:720px){.ja-product-facts.has-many{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ja-toc-preview{--ja-toc-limit:480px}
.ja-toc-preview.is-collapsible:not(.is-expanded){max-block-size:var(--ja-toc-limit);overflow:hidden}
body.ja-product-page button.ja-toc-toggle{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:24px;padding:0;background:transparent;color:var(--ja-navy);border:0;font:650 var(--ja-type-action)/1.25 var(--ja-font-body);text-align:left;cursor:pointer}
body.ja-product-page button.ja-toc-toggle:is(:hover,:focus,:active){background:transparent;color:var(--ja-navy-hover)}
.ja-toc-toggle span{text-decoration:underline;text-underline-offset:4px}.ja-toc-toggle svg{width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;transform:rotate(90deg)}.ja-toc-toggle[aria-expanded="true"] svg{transform:rotate(-90deg)}
.ja-toc-toggle{scroll-margin-bottom:calc(var(--ja-purchase-space,140px) + 24px)}
@media(max-width:700px){
 .ja-product-has-dock{padding-bottom:var(--ja-purchase-space,140px)}
 .ja-product-purchase-dock{padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px))}
 .ja-product-dock-content{gap:12px}.ja-product-dock-summary{display:block}.ja-product-dock-title{display:none}.ja-product-dock-format{font-size:var(--ja-type-small)}
 .ja-product-quantity>div{width:134px}body.ja-product-page .ja-product-quantity input{width:44px;flex:none}
 body.ja-product-page button.ja-product-submit{width:100%;min-width:0;padding:12px;gap:8px;min-height:56px;align-self:stretch}
 body.ja-product-page button.ja-product-sticky-submit{width:clamp(150px,44vw,170px);flex:none}
 .ja-product-submit span{min-width:0;text-wrap:balance}.ja-product-page .ja-product-submit svg{width:18px;height:18px}
 .ja-toc-preview{--ja-toc-limit:320px}
}
@media(max-width:360px){body.ja-product-page button.ja-product-sticky-submit{font-size:16px}}
@media(prefers-reduced-motion:reduce){.ja-product-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Section anchors follow the purchase content without a viewport-height spacer. */
.ja-product-opening{--ja-product-top-space:190px}
.ja-product-opening .ja-product-buy{padding-bottom:24px}
.ja-product-opening .ja-product-cover{min-height:0;padding:24px}
.ja-product-opening .ja-product-cover img{max-height:clamp(220px,calc(100svh - var(--ja-product-top-space) - 156px),380px)}
.ja-product-opening .ja-product-sections-nav{margin-top:0;flex-wrap:nowrap;gap:clamp(12px,3vw,32px)}
.ja-product-sections-nav a{white-space:nowrap}
.ja-product-cart>.ja-product-price{flex-basis:100%;margin:16px 0 8px}
@media(max-width:700px){
 .ja-product-breadcrumb{font-size:14px;gap:6px 8px;padding:12px 0;line-height:1.45}
 .ja-product-opening{--ja-product-top-space:150px}
 .ja-product-opening .ja-product-buy{gap:12px;padding:4px 0 16px}
 .ja-product-opening .ja-product-cover{padding:8px}
 .ja-product-opening .ja-product-cover img{max-height:clamp(100px,calc(100svh - 650px),180px);max-width:70%}
 .ja-product-copy h1{font-size:28px;line-height:1.1}
 .ja-product-author{font-size:14px;margin:8px 0 10px}
 .ja-product-intro{font-size:16px;line-height:1.45}
 .ja-product-offer{--ja-product-control-gap:12px;--ja-product-control-width:min(100%,280px);margin-top:12px;padding-top:12px}
 .ja-product-formats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ja-product-control-gap);width:var(--ja-product-control-width)}
 .ja-product-formats a{box-sizing:border-box;min-width:0;width:100%;min-height:44px;padding:11px 16px;font-size:16px}
 .ja-product-cart{display:flex;flex-wrap:wrap;gap:var(--ja-product-control-gap);align-items:center;margin-top:var(--ja-product-control-gap)}
 .ja-product-cart>.ja-product-price{font-size:32px;margin:0;min-width:0;min-height:44px;display:flex;align-items:center;flex:0 0 calc((var(--ja-product-control-width) - var(--ja-product-control-gap))/2)}
 .ja-product-quantity{min-width:0;flex:0 0 calc((var(--ja-product-control-width) - var(--ja-product-control-gap))/2)}
 .ja-product-quantity>div{box-sizing:border-box;width:100%;height:44px}
 body.ja-product-page .ja-product-quantity input[type="number"]{width:0;min-width:0;flex:1;padding:0 4px;font-size:18px}
 .ja-product-primary-submit{grid-column:1/-1}
 body.ja-product-page button.ja-product-primary-submit{min-height:48px;font-size:18px;padding:12px}
 .ja-product-opening .ja-product-sections-nav{gap:6px;padding:6px 0;justify-content:space-between}
 .ja-product-sections-nav a{font-size:clamp(12px,3.5vw,16px);line-height:1.25;letter-spacing:-.01em}
 .ja-product-dock-content{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}
 .ja-product-dock-summary{display:contents}
 .ja-product-dock-summary>div{display:contents}
 .ja-product-dock-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-column:1/-1;overflow:hidden;white-space:normal;font-size:16px;line-height:1.25}
 .ja-product-dock-format{grid-column:1;grid-row:2;font-size:14px;line-height:1.25;align-self:end}
 .ja-product-dock-price{grid-column:1;grid-row:3;font-size:24px}
 body.ja-product-page button.ja-product-sticky-submit{grid-column:2;grid-row:2/4;width:clamp(150px,44vw,170px);font-size:16px}
}
/* Short phones retain all buying information, with a small cover beside the title. */
@media(max-width:700px) and (max-height:700px){
 .ja-product-opening .ja-product-buy{grid-template-columns:76px minmax(0,1fr);gap:6px 12px;padding-bottom:12px}
 .ja-product-copy{display:contents}
 .ja-product-opening .ja-product-cover{grid-column:1;grid-row:1/3;padding:4px;align-self:start}
 .ja-product-opening .ja-product-cover img{max-width:100%;max-height:92px}
 .ja-product-copy h1{grid-column:2;grid-row:1;font-size:24px;align-self:end}
 .ja-product-author{grid-column:2;grid-row:2;margin:0;align-self:start}
 .ja-product-intro,.ja-product-offer{grid-column:1/-1}
 .ja-product-offer{--ja-product-control-gap:8px;margin-top:0;padding-top:8px}
}

.ja-product-offer .ja-sale-badge{display:inline-block;margin:14px 0 0;padding:5px 10px;background:var(--ja-orange);color:var(--ja-navy);font-size:15px;font-weight:700;border-radius:0}.ja-product-price del,.ja-product-dock-price del{font-size:.6em;font-weight:400}.ja-product-price ins,.ja-product-dock-price ins{text-decoration:none}.ja-product-cart .ja-sale-badge{grid-column:1/-1}.ja-product-cart:has(.ja-sale-badge){row-gap:10px}

@media(max-width:700px){.ja-product-cart>.ja-product-price:has(del){flex-direction:column;align-items:flex-start;justify-content:center;gap:0;min-height:60px}.ja-product-cart:has(.ja-product-price del) .ja-product-quantity>div{height:60px}}
