/* Product page editorial refinement: scoped to avoid cross-template leakage. */
.itemPage{max-width:1180px}
.itemPage>.section{padding-top:88px;padding-bottom:96px}
.itemPage>.section>h1{max-width:16ch;margin-bottom:8px;font-size:clamp(34px,4.2vw,58px);line-height:1.35;letter-spacing:.08em}
.itemPage>.section>.secLead{font-family:var(--label);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.itemPage .feature{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:clamp(36px,6vw,84px);margin-top:48px}
.itemPage .fMedia{padding:clamp(26px,4vw,54px);background:#FCFAF5;box-shadow:none;border-color:var(--line)}
.itemPage .fMedia img{object-fit:contain;image-rendering:auto}
.itemPage .fBody{min-width:0}
.itemPage .fBody>.kicker{margin-bottom:18px;color:var(--accent2)}
.itemPage .fBody>h2{margin-top:42px;padding-top:18px;border-top:1px solid var(--line);font-size:clamp(22px,2.3vw,30px);line-height:1.5;letter-spacing:.08em}
.itemPage .fBody>.kicker+h2{margin-top:0}
.itemPage .fBody>p{max-width:44em;color:var(--text);font-size:15px;line-height:2.05}
.itemPage .fBody .cta{margin-top:22px}
.itemPage .spec{margin-top:30px}
.itemPage .spec dl{grid-template-columns:minmax(110px,.34fr) 1fr}
.itemPage .spec dt,.itemPage .spec dd{padding:13px 0}
.itemPage .priceCompare{margin:38px 0 44px;padding:0;background:var(--accent);border-color:var(--accent);box-shadow:none}
.itemPage .priceCompare>.compareTitle{padding:26px 28px 0;font-family:var(--serif);font-size:clamp(22px,2.4vw,30px);letter-spacing:.08em}
.itemPage .priceCompare>.compareLead{padding:4px 28px 25px;max-width:55em}
.itemPage .compareGrid{border-width:1px 0 0;gap:0}
.itemPage .compareCard{min-height:196px;padding:24px 22px;background:transparent;border:0;border-left:1px solid rgba(255,253,248,.24);border-radius:0;box-shadow:none}
.itemPage .compareCard:first-child{border-left:0}
.itemPage .compareMall{font-family:var(--label);font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.itemPage .comparePrice{font-family:var(--serif);font-size:28px;letter-spacing:.04em}
.itemPage .compareButton{width:100%;min-height:44px;margin-top:18px;border-radius:0;background:#FFFDF8;color:var(--accent);border-color:#FFFDF8}
.itemPage .compareButton--primary{background:#FFFDF8;color:var(--accent)}
.itemPage .compareButton--sub{background:transparent;color:#FFFDF8;border-color:rgba(255,253,248,.7)}
.itemPage .purchaseSupport{margin:46px 0;padding:30px 32px;background:#FCFAF5;border-left:3px solid var(--accent);box-shadow:none}
.itemPage .purchaseSupport h2{font-size:clamp(22px,2.4vw,30px);letter-spacing:.08em}
.itemPage .purchaseCheckList{margin-top:20px}
.itemPage .purchaseCheckList li{padding:15px 0;border-top:1px solid var(--line);color:var(--text)}
.itemPage .purchaseCheckList b{display:inline-block;min-width:9em;color:var(--accent);font-family:var(--label);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.itemPage .supportNote{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.itemPage .genre-related{margin-top:42px;padding-top:18px;border-top:1px solid var(--line)}
.itemPage .genre-related a{font-family:var(--label);font-size:12px;letter-spacing:.1em}
@media(max-width:820px){
  .itemPage{padding:0 20px}
  .itemPage>.section{padding-top:56px;padding-bottom:66px}
  .itemPage>.section>h1{max-width:100%;font-size:clamp(30px,9vw,40px);line-height:1.4}
  .itemPage .feature{grid-template-columns:1fr;gap:30px;margin-top:34px}
  .itemPage .fMedia{aspect-ratio:1/1;padding:26px}
  .itemPage .fBody>h2{margin-top:32px}
  .itemPage .priceCompare>.compareTitle{padding:22px 20px 0}
  .itemPage .priceCompare>.compareLead{padding:4px 20px 20px}
  .itemPage .compareCard{min-height:0;border-left:0;border-top:1px solid rgba(255,253,248,.24)}
  .itemPage .compareCard:first-child{border-top:0}
  .itemPage .purchaseSupport{padding:24px 20px}
  .itemPage .purchaseCheckList b{display:block;margin-bottom:4px}
}
