/* Insole stories use the established guide, PDP and related-card patterns. */
.insole-comparison { max-width:900px; margin:28px 0; line-height:1.65; }
.insole-comparison th,.insole-comparison td { padding:16px 12px; vertical-align:top; overflow-wrap:anywhere; }
.insole-comparison thead th { color:#555; }
.insole-guide-page .bp-tile__eyebrow,.insole-guide-page .bp-tile__title,.insole-guide-page .bp-tile__text { display:block; }
.insole-guide-page .bp-intro__copy a { color:#005ea8; }
.insole-guide-page .bp-faq a,.insole-story .pdp-faq a,.pdp-custom .pdp-faq a { color:#005ea8; text-decoration:underline; text-underline-offset:3px; }
.insole-story .pdp-faq,.pdp-custom .pdp-faq { max-width:1000px; }
.insole-story .pdp-faq { padding:88px 24px; margin:0 auto; }
.insole-story .pdp-faq .pdp-block__head { font-size:clamp(34px,4vw,54px); }
.insole-story .pdp-faq__q summary,.pdp-custom .pdp-faq__q summary { min-height:44px; }
.insole-guide-page .bp-hero__title { font-size:clamp(44px,5.5vw,80px); line-height:1.02; }
.insole-guide-page .bp-hero__media--product .bp-hero__bg { object-fit:contain; background:#fff; }
.insole-custom #pdp-desc { display:block; color:#444; font:400 16px/1.65 'Commissioner',sans-serif; }
.insole-custom .product-buy__lede { margin:14px 0 22px; font:400 17px/1.6 'Commissioner',sans-serif; }
.insole-custom .product-trust a { color:#005ea8; text-decoration:underline; }
.insole-custom .product-page { padding-bottom:0; }
.cf-intro__label,.cf-models__eyebrow,.co-bens__eyebrow,.co-ben__cta,.co-cred__eyebrow,.co-fab__eyebrow,.co-fab__cta,.co-reorder__label { color:#ff7171; }
.co-ben__cta,.co-fab__cta { text-decoration:underline; text-underline-offset:4px; }
.co-fab__eyebrow,.co-fab__cta { color:#b40000; }
.insole-custom #pdp-eyebrow,.insole-custom .custom-way__num { color:#b40000; }
.insole-custom .custom-way a,.insole-custom .custom-scancheck__toggle,.insole-custom #pdp-desc a { color:#005ea8; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:700px) {
  .insole-comparison td,.insole-comparison th { padding:12px 6px; font-size:14px; }
  .insole-story .pdp-faq { padding-block:64px; }
}

/* Reuse the Shoes story's "Two ways" cards for the standalone insole choice. */
.insole-story .sh-ways { background:#000; color:#fff; padding:96px 40px 100px; }
.insole-story .sh-ways__inner { max-width:1180px; margin:0 auto; text-align:center; }
.insole-story .sh-ways__eyebrow { font:600 12px var(--font-body); letter-spacing:.26em; text-transform:uppercase; color:#ff7171; margin:0 0 22px; }
.insole-story .sh-ways__title { font:400 clamp(48px,5.5vw,84px)/.95 var(--font-display); text-transform:uppercase; margin:0 0 14px; }
.insole-story .sh-ways__sub { font:300 17px/1.6 var(--font-body); color:#bfbfbf; max-width:560px; margin:0 auto 56px; }
.insole-story .sh-ways__grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; text-align:left; }
.insole-story .sh-ways__card { background:#191919; border:1px solid rgba(255,255,255,.07); border-top:2px solid var(--red); display:flex; flex-direction:column; }
.insole-story .sh-ways__media { aspect-ratio:3/2; background:#fff; overflow:hidden; }
.insole-story .sh-ways__media img { display:block; width:100%; height:100%; object-fit:contain; }
.insole-story .sh-ways__head { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:24px 26px 0; }
.insole-story .sh-ways__name { font:400 30px/1 var(--font-display); text-transform:uppercase; margin:0; color:#fff; }
.insole-story .sh-ways__price { font:600 15px var(--font-body); color:#fff; margin:0; white-space:nowrap; }
.insole-story .sh-ways__body { font:400 15px/1.6 var(--font-body); color:#bfbfbf; margin:0; padding:14px 26px 24px; }
.insole-story .sh-ways__action { align-self:flex-start; margin:auto 26px 26px; font-size:13px; line-height:1.4; text-decoration:none; }
.insole-story .sh-ways__action span { margin-left:8px; }
@media(max-width:768px) {
  .insole-story .sh-ways { padding:64px 24px; }
  .insole-story .sh-ways__grid { grid-template-columns:1fr; gap:24px; }
  .insole-story .sh-ways__sub { margin-bottom:32px; }
}

/* Shared motion frame; the source remains in data-* until needed. */
.orthotic-film { display:block; width:100%; padding:0; border:0; background:#fff; cursor:pointer; }
.orthotic-film:disabled { cursor:default; }
.orthotic-film:focus-visible { outline:3px solid #005ea8; outline-offset:5px; }
.orthotic-film video { display:block; width:100%; height:auto; aspect-ratio:960 / 642; object-fit:contain; }
.insole-story .sh-ways__media .orthotic-film { height:100%; }
.insole-story .sh-ways__media video { height:100%; }
.insole-story .sh-ways__media .orthotic-film:focus-visible { outline-offset:-4px; }
.insole-story .conforma-story-construction { margin:0 auto; padding:88px 24px; }
.conforma-story-construction .conforma-construction__head { text-align:center; }
.conforma-story-construction .conforma-construction__head > p:last-child { margin:0 auto; }
.conforma-story-construction .pdp-block__head { font-size:clamp(40px,4.6vw,68px); }
/* Match the guides' Keep browsing cards for onward links on shop and story pages. */
.insole-related { background:var(--light-grey); padding:64px 24px; border-top:1px solid rgba(0,0,0,.06); }
.insole-related__inner { max-width:1160px; margin:auto; }
.insole-related__title { font:400 clamp(34px,3.6vw,52px)/.98 var(--font-display); text-transform:uppercase; margin:0 0 28px; }
.insole-related__grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.insole-related__card { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; height:100%; padding:24px 22px 22px; background:#fff; border:1px solid var(--grey-300); color:var(--black); text-decoration:none; }
.insole-related__card:hover { border-color:var(--red); }
.insole-related__card:focus-visible { outline:3px solid #005ea8; outline-offset:3px; }
.insole-related__eyebrow { display:block; font:700 11px/1.4 var(--font-body); letter-spacing:.18em; text-transform:uppercase; color:#555; margin-bottom:8px; }
.insole-related__name { display:block; font:400 26px/1 var(--font-display); text-transform:uppercase; margin-bottom:8px; }
.insole-related__text { display:block; font:400 14px/1.5 var(--font-body); color:#555; }
.insole-related__arrow { flex-shrink:0; color:#b40000; font:400 30px/1 var(--font-display); }
.insole-related--compact { padding:36px 0 0; margin:48px 0; background:transparent; }
.insole-related--compact .insole-related__inner { max-width:none; }
.insole-length-note { font-size:13px; line-height:1.7; color:#555; margin:24px 0 0; scroll-margin-top:120px; }
.insole-length-note a { color:#005ea8; text-decoration:underline; text-underline-offset:3px; }
.insole-shop-links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 24px; }
.insole-arch-button { min-height:44px; margin-top:14px; padding:10px 16px; font-size:12px; line-height:1.5; color:#b40000; scroll-margin-top:140px; }
.insole-arch-button span { margin-left:8px; }
.cso-step__photo { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; margin-bottom:24px; }
.cso-step .cso-step__num { font:600 12px/1.4 var(--font-body); letter-spacing:.12em; color:#b40000; margin-bottom:10px; }
@media(max-width:800px) {
  .insole-related__grid { grid-template-columns:1fr; }
  .insole-related { padding:48px 24px; }
  .insole-related--compact { padding:28px 0 0; margin:36px 0; }
  .insole-story .conforma-story-construction { padding-block:64px; }
}
