/* Product-specific source styles, restored from the original product template. */
.ss-product-file{border-block:1px solid var(--ss-line);background:var(--ss-white)}
.ss-product-file__header{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);align-items:end;gap:64px;padding-bottom:clamp(42px,6vw,76px)}
.ss-product-file__header h2{max-width:11ch;margin:14px 0 0;color:var(--ss-ink);font-family:var(--font-heading--family);font-size:clamp(2.6rem,4.7vw,5rem);font-weight:650;letter-spacing:-.06em;line-height:.94;text-wrap:balance}
.ss-product-file__header>p{max-width:42ch;margin:0;color:var(--ss-muted);font-size:.92rem;line-height:1.65}
.ss-product-file__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));border-block:1px solid var(--ss-ink)}
.ss-product-file__fact{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;min-height:126px;padding:20px 20px 22px 0;border-right:1px solid var(--ss-line)}
.ss-product-file__fact:last-child{border-right:0}
.ss-product-file__fact>span,.ss-product-file__label>span,.ss-product-file__disclosures summary>span{color:var(--ss-signal);font-size:.58rem;font-weight:800;letter-spacing:.12em}
.ss-product-file__fact dl,.ss-product-file__specs dl{margin:0}
.ss-product-file__fact dt{color:var(--ss-muted);font-size:.62rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.ss-product-file__fact dd{margin:25px 0 0;color:var(--ss-ink);font-family:var(--font-heading--family);font-size:clamp(1.15rem,1.7vw,1.55rem);font-weight:650;letter-spacing:-.035em;line-height:1.08}
.ss-product-file__content{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:clamp(48px,8vw,120px);padding-top:clamp(50px,7vw,88px)}
.ss-product-file__content--single{grid-template-columns:minmax(0,1fr)}
.ss-product-file__content--single>*{width:min(100%,760px)}
.ss-product-file__label{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding-bottom:18px;border-bottom:1px solid var(--ss-ink)}
.ss-product-file__label h3,.ss-product-file__faq-heading h3{margin:0;color:var(--ss-ink);font-family:var(--font-heading--family);font-size:clamp(1.55rem,2.5vw,2.4rem);font-weight:650;letter-spacing:-.05em;line-height:1}
.ss-product-file__specs dl>div{display:grid;grid-template-columns:minmax(120px,.65fr) minmax(0,1fr);gap:22px;padding:16px 0;border-bottom:1px solid var(--ss-line)}
.ss-product-file__specs dt,.ss-product-file__specs dd{font-size:.78rem;line-height:1.45}
.ss-product-file__specs dt{color:var(--ss-muted)}
.ss-product-file__specs dd{margin:0;color:var(--ss-ink);font-weight:700}
.ss-product-file__disclosures,.ss-product-file__faq-list{border-top:1px solid var(--ss-ink)}
.ss-product-file__disclosures:empty{display:none}
.ss-product-file details{border-bottom:1px solid var(--ss-line)}
.ss-product-file summary{display:grid;grid-template-columns:34px minmax(0,1fr) 20px;align-items:center;gap:12px;min-height:76px;color:var(--ss-ink);cursor:pointer;list-style:none}
.ss-product-file summary::-webkit-details-marker{display:none}
.ss-product-file summary strong{font-family:var(--font-heading--family);font-size:clamp(1.05rem,1.5vw,1.3rem);font-weight:650;letter-spacing:-.025em}
.ss-product-file summary i{position:relative;display:block;width:18px;height:18px}
.ss-product-file summary i:before,.ss-product-file summary i:after{position:absolute;top:50%;left:50%;width:12px;height:1px;background:currentColor;content:"";transform:translate(-50%,-50%);transition:transform .18s ease}
.ss-product-file summary i:after{transform:translate(-50%,-50%) rotate(90deg)}
.ss-product-file details[open] summary i:after{transform:translate(-50%,-50%) rotate(0)}
.ss-product-file__answer{padding:0 30px 26px 46px;color:var(--ss-muted);font-size:.82rem;line-height:1.65}
.ss-product-file__answer ul,.ss-product-file__answer ol{display:grid;gap:12px;margin:0;padding-left:18px}
.ss-product-file__answer li{padding-left:5px}
.ss-product-file__answer li strong{display:block;margin-bottom:2px;color:var(--ss-ink)}
.ss-product-file__answer p{max-width:66ch;margin:0}
.ss-product-file__faq{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);gap:clamp(48px,8vw,120px);margin-top:clamp(64px,9vw,116px);padding-top:clamp(42px,6vw,72px);border-top:1px solid var(--ss-line)}
.ss-product-file__faq-heading h3{max-width:8ch;margin-top:14px}
.ss-product-file__faq-list summary{grid-template-columns:minmax(0,1fr) 20px}
.ss-product-file__faq-list .ss-product-file__answer{padding-left:0}
@media(hover:hover){.ss-product-file summary:hover strong{color:var(--ss-signal-deep)}}
@media(max-width:989px){.ss-product-file__header,.ss-product-file__content,.ss-product-file__faq{grid-template-columns:1fr}
.ss-product-file__header,.ss-product-file__content,.ss-product-file__faq{gap:36px}
.ss-product-file__facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.ss-product-file__fact:nth-child(2n){border-right:0}
.ss-product-file__fact:nth-child(n+3){border-top:1px solid var(--ss-line)}}
@media(max-width:749px){.ss-product-file__header h2{font-size:clamp(2.45rem,11vw,3.5rem)}
.ss-product-file__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:auto;overflow:visible}
.ss-product-file__fact{min-width:0;border-right:1px solid var(--ss-line)}
.ss-product-file__fact:nth-child(2n){border-right:0}
.ss-product-file__fact:nth-child(n+3){border-top:1px solid var(--ss-line)}
.ss-product-file__content{padding-top:56px}
.ss-product-file__specs dl>div{grid-template-columns:minmax(105px,.58fr) minmax(0,1fr);gap:16px}
.ss-product-file summary{min-height:70px}
.ss-product-file__answer{padding-right:8px}
.ss-product-file__faq{margin-top:72px}}
@media(max-width:479px){.ss-product-file__facts{grid-template-columns:minmax(0,1fr)}
.ss-product-file__fact,.ss-product-file__fact:nth-child(2n){border-right:0}
.ss-product-file__fact:nth-child(n+2){border-top:1px solid var(--ss-line)}}
@media(prefers-reduced-motion:reduce){.ss-product-file summary i:before,.ss-product-file summary i:after{transition:none}}

/* One shared content edge for the gallery, description, story, guides and related products. */
.single-product { --font-heading--family: Inter, Arial, sans-serif; --font-body--family: Inter, Arial, sans-serif; }
.single-product .product-main > .row,
.single-product .product-footer > .container {
  width: min(1420px, calc(100% - 64px));
  max-width: 1420px;
  margin-inline: auto;
  padding-inline: 0;
}
.single-product .product-main { padding-block: 48px; }
.single-product .product-main > .row > .product-gallery { padding: 0 24px 0 0; }
.single-product .product-main > .row > .product-info { padding: 0 0 0 24px; }
.single-product .product-footer .woocommerce-tabs { max-width: none; padding: 32px 0 0; }
.single-product .product-footer .tab-panels { padding: 32px 0 0; border: 0; background: transparent; }
.single-product .product-footer .panel { margin: 0; }
.single-product .ss-product-file,
.single-product .ss-product-story { margin: 48px 0 0; padding: 48px 0; background: transparent; }
.single-product .ss-product-file > .ss-shell,
.single-product .ss-product-story > .ss-shell { width: 100%; max-width: none; margin: 0; padding: 0; }
.single-product .ss-product-file__header,
.single-product .ss-product-story__intro { gap: 32px; margin: 0 0 40px; padding: 0; }
.single-product .ss-product-file__specs { margin: 0; padding: 0; }
.single-product .ss-product-file__content { gap: 40px; padding-top: 40px; }
.single-product .ss-product-file__faq { gap: 40px; margin-top: 48px; padding-top: 40px; }
.single-product .ss-product-file__fact { padding: 20px 16px; }
.single-product .ss-product-file__fact:first-child { padding-left: 0; }
.single-product .ss-product-file dd { text-transform: none; letter-spacing: normal; }
.single-product .ss-product-file details { margin: 0; }
.single-product .ss-product-file summary > br,
.single-product .ss-product-guides br,
.single-product .ss-product-story__note br { display: none; }
.single-product .ss-product-guides { align-items: start; gap: 40px; margin: 48px 0 0; padding: 40px 0 0; }
.single-product .ss-product-guides h2 { max-width: 13ch; margin: 14px 0 0; line-height: 1.08; }
.single-product .ss-product-guides__links { min-width: 0; margin: 0; }
.single-product .ss-product-guides__links a { grid-template-columns: 28px minmax(0,1fr) 20px; gap: 16px; padding: 20px 0; min-height: 88px; }
.single-product .ss-product-guides__links a > span { grid-column: 1; grid-row: 1; }
.single-product .ss-product-guides__links strong { grid-column: 2; grid-row: 1; min-width: 0; margin: 0; line-height: 1.45; }
.single-product .ss-product-guides__links i { grid-column: 3; grid-row: 1; display: flex; align-items: center; }
.single-product .ss-product-guides__links svg { width: 20px; height: 20px; }
.single-product .ss-product-story__note > p:last-child { flex-shrink: 0; }
.single-product .ss-product-story__note a { display: inline-flex; align-items: center; gap: 8px; }
.single-product .ss-product-story__note a span { display: inline-flex; margin: 0; }
.single-product .related.products { margin: 0; padding-block: 40px 48px; border-top: 1px solid var(--ss-line); }
@media(max-width: 989px) {
  .single-product .ss-product-guides { grid-template-columns: 1fr; gap: 28px; }
  .single-product .ss-product-guides h2 { max-width: 22ch; }
}
@media(max-width: 849px) {
  .single-product .product-main > .row > .product-gallery,
  .single-product .product-main > .row > .product-info { padding: 0; }
  .single-product .product-main > .row > .product-info { margin-top: 32px; }
}
@media(max-width: 749px) {
  .single-product .product-main > .row,
  .single-product .product-footer > .container { width: calc(100% - 28px); }
  .single-product .product-main { padding-block: 28px 36px; }
  .single-product .ss-product-file,
  .single-product .ss-product-story { margin-top: 32px; padding-block: 32px; }
  .single-product .ss-product-file__header,
  .single-product .ss-product-story__intro { gap: 24px; margin-bottom: 32px; }
  .single-product .ss-product-file__content,
  .single-product .ss-product-file__faq { gap: 28px; padding-top: 32px; }
  .single-product .ss-product-file__faq,
  .single-product .ss-product-guides { margin-top: 32px; padding-top: 32px; }
  .single-product .ss-product-guides__links a { gap: 12px; }
  .single-product .ss-product-story__note > p:last-child { flex-shrink: 1; }
}
@media(max-width: 479px) {
  .single-product .ss-product-file__fact { padding-inline: 0; }
}
.single-product #wrapper,
.single-product #main { background: var(--ss-paper, #f5f2eb); }
.single-product .related.products > .product-section-title { text-align: left; margin: 0 0 24px; padding: 0; }
