/* Standalone product pages. All selectors are scoped to avoid changing the home and category pages. */
.product-page-main{overflow:hidden}
.product-page-breadcrumb{display:flex;align-items:center;gap:10px;padding-block:22px;color:var(--muted);font-size:13px;line-height:1.5}
.product-page-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.product-page-breadcrumb a:hover{color:var(--action)}
.product-page-breadcrumb span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-page-hero{display:grid;grid-template-columns:minmax(0,.86fr) minmax(440px,1.14fr);grid-template-areas:"heading gallery" "summary gallery";column-gap:clamp(48px,6vw,92px);row-gap:24px;align-items:start;padding:32px 0 90px}
.product-page-heading{grid-area:heading;align-self:end;max-width:590px;min-width:0}
.product-page-summary{grid-area:summary;align-self:start;min-width:0}
.product-page-hero h1{max-width:720px;margin-top:21px;font-size:clamp(45px,5.2vw,72px);line-height:1.01;letter-spacing:-2.8px}
.product-page-lead{max-width:590px;margin-top:0;color:var(--muted);font-size:17px;line-height:1.7}
.product-page-quick-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0 0;border-block:1px solid var(--line);padding:18px 0;gap:16px}
.product-page-quick-facts div{min-width:0}
.product-page-quick-facts dt{color:var(--muted);font-size:12px;line-height:1.5}
.product-page-quick-facts dd{margin:7px 0 0;font-weight:650;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.product-page-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}
.product-page-service{max-width:590px;margin-top:20px;color:var(--muted);font-size:14px;line-height:1.7}
.product-page-gallery{grid-area:gallery;align-self:center;display:grid;grid-template-columns:1fr;gap:14px;min-width:0}
.product-page-gallery figure{position:relative;margin:0;border:1px solid var(--line);background:#e9e9e2;overflow:hidden}
.product-page-primary-photo{aspect-ratio:1/1}
.product-page-gallery img{width:100%;height:100%;object-fit:contain;object-position:center}
.product-page-gallery figcaption{position:absolute;left:16px;bottom:16px;padding:8px 10px;background:#252a2de0;color:#fff;font-size:10px;font-weight:650;letter-spacing:1px;text-transform:uppercase}
.product-page-secondary-photo{width:42%;aspect-ratio:1;justify-self:end;border:8px solid var(--paper)!important;box-shadow:0 16px 35px #252a2d24}

.product-page-comparison{padding-block:42px 52px;border-top:1px solid var(--line)}
.product-page-comparison-heading{display:grid;grid-template-columns:minmax(220px,.6fr) minmax(300px,1fr);gap:18px 48px;align-items:end}
.product-page-comparison-heading .eyebrow{grid-column:1/-1}
.product-page-comparison-heading h2{font-size:clamp(30px,3.5vw,46px);line-height:1.08;letter-spacing:-.04em}
.product-page-comparison-heading>p:last-child{max-width:620px;color:var(--muted);font-size:15px;line-height:1.7}
.product-page-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}
.product-page-comparison-card{padding:22px;border:1px solid var(--line);background:var(--white)}
.product-page-comparison-card.is-current{border-color:var(--ink)}
.product-page-comparison-card>p{display:flex;align-items:center;gap:12px;font-family:var(--display);font-size:22px;line-height:1.2}
.product-page-comparison-card>p span{color:var(--orange);font-family:var(--body);font-size:11px}
.product-page-comparison-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}
.product-page-comparison-card dl div{min-width:0;border-top:1px solid var(--line);padding-top:11px}
.product-page-comparison-card dt{color:var(--muted);font-size:12px;line-height:1.5}
.product-page-comparison-card dd{margin:5px 0 0;font-size:14px;font-weight:650;line-height:1.5}
.product-page-comparison-card>a,.product-page-comparison-current{display:inline-flex;min-height:35px;align-items:center;gap:10px;font-size:13px;font-weight:650}
.product-page-comparison-card>a{color:var(--action);text-decoration:underline;text-underline-offset:4px}
.product-page-comparison-current{color:var(--muted)}
.product-page-comparison-note{max-width:850px;margin-top:18px;color:var(--muted);font-size:13px;line-height:1.65}

/* Product diagrams stay uncropped, with full-size links for small screens. */
.product-page-details{padding-block:80px;border-top:1px solid var(--line)}
.product-page-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:32px;align-items:start}
.product-page-detail-figure{margin:0;min-width:0}
.product-page-detail-link{display:block;border:1px solid var(--line);background:var(--white)}
.product-page-detail-link img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.product-page-detail-zoom{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:10px 16px;border-top:1px solid var(--line);font-size:14px;font-weight:600;line-height:1.5}
.product-page-detail-link:hover .product-page-detail-zoom{color:var(--action)}
.product-page-detail-figure figcaption{padding-top:20px}
.product-page-detail-figure h3{font-size:23px;line-height:1.25;letter-spacing:-.4px}
.product-page-detail-figure figcaption p{margin-top:10px;color:var(--muted);font-size:15px;line-height:1.75}
@media(max-width:760px){
 .product-page-details{padding-block:60px}
 .product-page-details-grid{grid-template-columns:minmax(0,1fr);gap:34px;margin-top:26px}
}

.product-page-section-heading{max-width:630px}
.product-page-section-heading h2{margin-top:17px}
.product-page-section-heading>p:last-child{margin-top:20px;color:var(--muted);font-size:16px;line-height:1.75}
.product-page-specs{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:clamp(44px,8vw,118px);padding-block:85px;border-top:1px solid var(--line)}
.product-page-specs dl{margin:0;border-top:1px solid var(--ink)}
.product-page-specs dl>div{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(190px,1.2fr);gap:22px;padding:19px 0;border-bottom:1px solid var(--line)}
.product-page-specs dt{color:var(--muted);font-size:14px;line-height:1.55}
.product-page-specs dd{margin:0;font-size:15px;font-weight:600;line-height:1.55}

.product-page-guide{background:var(--ink);color:var(--paper)}
.product-page-guide>.container{display:grid;grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr);gap:clamp(44px,8vw,118px);padding-block:84px}
.product-page-guide .eyebrow,.product-page-guide .product-page-section-heading>p:last-child{color:#c8cbc6}
.product-page-guide ol{margin:0;padding:0;list-style:none;border-top:1px solid #ffffff4a}
.product-page-guide li{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;padding:20px 0;border-bottom:1px solid #ffffff2b}
.product-page-guide li span{color:#f47843;font-family:var(--display);font-size:21px}
.product-page-guide li p{font-size:16px;line-height:1.65}
.product-page-guide-action{grid-column:2;padding-top:3px}
.product-page-guide-action>p{max-width:560px;color:#c8cbc6;font-size:15px;line-height:1.7}
.product-page-guide-action .text-link{margin-top:14px;color:#fff;border-bottom-color:#ffffff70}

.product-page-delivery{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:clamp(44px,8vw,118px);padding-block:90px;border-bottom:1px solid var(--line)}
.product-page-delivery h2{max-width:550px;margin-top:17px}
.product-page-delivery>div:last-child>p{max-width:620px;color:var(--muted);font-size:17px;line-height:1.75}
.product-page-delivery ul{display:grid;gap:10px;margin:24px 0 28px;padding:0;list-style:none}
.product-page-delivery li{display:flex;align-items:center;gap:13px;font-size:15px;line-height:1.5}
.product-page-delivery li:before{content:"";width:7px;height:7px;background:var(--orange);flex:none}
.product-page-delivery-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px}
.product-page-delivery-link{min-height:50px}

.product-page-faq{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:clamp(44px,8vw,118px);padding-block:88px}
.product-page-faq-items{border-top:1px solid var(--ink)}
.product-page-faq details{border-bottom:1px solid var(--line)}
.product-page-faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;padding:18px 0;list-style:none;font-size:17px;font-weight:600;line-height:1.5;cursor:pointer}
.product-page-faq summary::-webkit-details-marker{display:none}
.product-page-faq summary span{position:relative;width:18px;height:18px;flex:none}
.product-page-faq summary span:before,.product-page-faq summary span:after{content:"";position:absolute;top:8px;left:1px;width:16px;height:2px;background:currentColor}
.product-page-faq summary span:after{transform:rotate(90deg)}
.product-page-faq details[open] summary span:after{transform:rotate(0)}
.product-page-faq details>p{max-width:64ch;margin:0 0 23px;color:var(--muted);font-size:16px;line-height:1.75}

.product-page-related{display:grid;grid-template-columns:minmax(0,.75fr) minmax(420px,1.25fr);gap:clamp(44px,8vw,118px);padding-block:65px 92px;border-top:1px solid var(--line)}
.product-page-related h2{margin-top:17px}
.product-page-related nav{border-top:1px solid var(--ink)}
.product-page-related nav a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:70px;padding:17px 0;border-bottom:1px solid var(--line);font-size:16px;font-weight:600;line-height:1.5}
.product-page-related nav a:hover{color:var(--action)}
.product-page-related nav a span{font-size:21px}
.product-page-related .product-page-category-link{color:var(--action)}

@media(max-width:980px){
  .product-page-hero{grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr);gap:36px}
  .product-page-hero h1{font-size:clamp(43px,5.9vw,58px)}
  .product-page-specs,.product-page-guide>.container,.product-page-delivery,.product-page-faq,.product-page-related{grid-template-columns:1fr;gap:34px}
  .product-page-guide-action{grid-column:auto}
}
@media(max-width:760px){
  .product-page-breadcrumb{padding-block:17px;overflow:hidden}
  .product-page-hero{grid-template-columns:1fr;grid-template-areas:"heading" "gallery" "summary";gap:20px;padding:16px 0 52px}
  .product-page-heading{max-width:none}
  .product-page-hero h1{font-size:clamp(32px,6.5vw,45px);letter-spacing:-1px;line-height:1.1;margin-top:12px}
  .product-page-lead{font-size:16px}
  .product-page-gallery{max-width:620px;width:100%;justify-self:center}
  .product-page-comparison-heading{grid-template-columns:1fr;gap:12px}
  .product-page-comparison-heading .eyebrow{grid-column:auto}
  .product-page-comparison-grid{grid-template-columns:1fr}
  .product-page-specs,.product-page-guide>.container,.product-page-delivery,.product-page-faq,.product-page-related{grid-template-columns:1fr;gap:34px;padding-block:60px}
  .product-page-guide-action{grid-column:auto}
  .product-page-related nav{min-width:0}
}
@media(max-width:650px){
  .product-page-breadcrumb,.product-page-hero,.product-page-comparison,.product-page-specs,.product-page-delivery,.product-page-faq,.product-page-related,.product-page-guide>.container{width:calc(100% - 40px)}
  .product-page-breadcrumb{font-size:12px}
  .product-page-hero{padding-top:18px}
  .product-page-hero h1{font-size:clamp(32px,8.5vw,40px);line-height:1.1}
  .product-page-actions{display:grid;grid-template-columns:1fr}
  .product-page-actions .button{justify-content:space-between;white-space:normal;text-align:left}
  .product-page-primary-photo{aspect-ratio:1}
  .product-page-quick-facts{gap:10px;margin-top:18px}
  .product-page-quick-facts dd{font-size:14px}
  .product-page-secondary-photo{width:48%;border-width:6px!important}
  .product-page-comparison-card dl{grid-template-columns:1fr;gap:9px}
  .product-page-specs dl>div{grid-template-columns:1fr;gap:7px;padding:16px 0}
  .product-page-specs dd{font-size:16px}
  .product-page-section-heading h2,.product-page-delivery h2,.product-page-related h2{font-size:clamp(34px,10vw,45px)}
  .product-page-guide li{grid-template-columns:38px 1fr}
  .product-page-faq summary{font-size:16px}
}
