/* Custom orthotics extends the approved shoe / Conforma PDP components. */
.pdp-custom .product-page { background: #fafafa; }
.pdp-custom .product-layout { scroll-margin-top: 140px; }
.pdp-custom .product-buy__name { text-transform: uppercase; }
/* This product has one catalog image; a thumbnail rail adds no navigation. */
body.pdp-custom .product-images { display: block; background: #f8f8f8; isolation: isolate; }
.pdp-custom .product-images__hero { background: transparent; mix-blend-mode: darken; }   /* darken, not multiply — see "Product photography" in shop.css */
body.pdp-custom .product-thumbs { display: none; }
body.pdp-custom #pdp-desc { display: block; margin-top: 22px; }
.pdp-custom .product-trust { flex-wrap: wrap; gap: 8px 18px; font-size: 12px; }
.pdp-custom #pdp-options { scroll-margin-top: 140px; }
.pdp-custom .opt-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pdp-custom .opt-btn { min-width: 0; min-height: 48px; padding: 10px 8px; white-space: normal; }
.pdp-custom .pdp-block__head, .insole-story .pdp-block__head { font-size: clamp(34px, 4vw, 54px); }
.pdp-custom .pdp-block__body a, .orthotic-steps a, .orthotic-order .pdp-block__body a { color: #005ea8; text-decoration: underline; text-underline-offset: 3px; }
.orthotic-process .pdp-block__eyebrow, .orthotic-order .pdp-block__eyebrow, .orthotic-next .pdp-block__eyebrow { color: #b40000; }
.orthotic-proof { max-width: 1320px; margin: 48px auto 0; padding: 26px 24px; border-block: 1px solid var(--grey-300); display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; }
.orthotic-proof p { margin: 0; padding: 0 16px; font-size: 13px; line-height: 1.5; }
.orthotic-proof p + p { border-left: 1px solid var(--grey-300); }
.orthotic-proof strong { display: block; font-family: var(--font-display); font-size: 34px; line-height: 1.15; text-transform: uppercase; margin-bottom: 4px; color: var(--black); }
.co-fab__media { aspect-ratio: 960 / 642; background: #fff; }
.co-fab__media .orthotic-film:focus-visible { outline-offset: -4px; }
.orthotic-steps { counter-reset: step; list-style: none; padding: 0; margin: 0; }
.orthotic-steps li { counter-increment: step; position: relative; padding: 18px 0 18px 42px; border-top: 1px solid var(--grey-300); font-size: 16px; line-height: 1.6; color: var(--grey-90); }
.orthotic-steps li::before { content: '0' counter(step); position: absolute; left: 0; top: 18px; color: var(--red-text); font-weight: 600; font-size: 13px; }
.orthotic-steps strong { display: block; color: var(--black); }
.orthotic-process .pdp-block__media img { aspect-ratio: 1400 / 1183; }
.pdp-block.orthotic-guarantee { background: var(--black); color: #fff; padding: 80px max(24px, calc((100% - 1200px) / 2)); gap: 80px; align-items: center; }
.orthotic-guarantee .pdp-block__copy { text-align: center; }
.pdp-custom .orthotic-guarantee .pdp-block__head, .insole-story .orthotic-guarantee .pdp-block__head { font-size: clamp(52px, 6.4vw, 88px); line-height: .98; max-width: none; margin: 0; }
.orthotic-guarantee .pdp-block__body { font-size: 17px; line-height: 1.75; }
.orthotic-guarantee .pdp-block__eyebrow { color: #ff7171; }
.orthotic-guarantee .pdp-block__head, .orthotic-guarantee .pdp-block__body { color: #fff; }
.orthotic-guarantee .pdp-block__body p { max-width: 62ch; }
.orthotic-guarantee .pdp-block__body p + p { margin-top: 20px; }
.orthotic-guarantee .pdp-block__body a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.orthotic-guarantee, .orthotic-order { scroll-margin-top: 140px; }
.insole-story .pdp-block--band { margin-top: 0; }
.insole-story .orthotic-guarantee { background: var(--light-grey); }
.insole-story .orthotic-guarantee .pdp-block__eyebrow { color: #b40000; }
.insole-story .orthotic-guarantee .pdp-block__head, .insole-story .orthotic-guarantee .pdp-block__body { color: var(--black); }
.insole-story .orthotic-guarantee .pdp-block__body a { color: #005ea8; }
.orthotic-activities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.orthotic-activities a { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 22px 20px; background: #fff; color: var(--black); border: 1px solid var(--grey-300); text-decoration: none; }
.orthotic-activities a:hover { border-color: var(--red); }
.orthotic-activities strong { display: block; font: 400 28px/1 var(--font-display); text-transform: uppercase; margin-bottom: 8px; }
.orthotic-activities a span span { display: block; font-size: 12px; line-height: 1.5; color: #555; }
.orthotic-activities__arrow { color: var(--red-text); font-size: 24px; }
.pdp-custom .pdp-block__body .orthotic-process-link { color: #b40000; font-size: 13px; text-decoration: none; line-height: 1.4; }
.pdp-custom .pdp-block__body .orthotic-process-link:hover { color: #fff; }
@media (max-width: 800px) {
  .orthotic-proof { margin-top: 32px; padding-inline: 12px; }
  .orthotic-proof p { padding-inline: 8px; font-size: 12px; }
  .orthotic-proof strong { font-size: 26px; }
  .pdp-custom .pdp-block { gap: 28px; margin-top: 56px; }
  .pdp-custom .pdp-block__copy { order: 1; }
  .pdp-custom .pdp-block__media { order: 2; }
  .pdp-custom .orthotic-guarantee .pdp-block__body { order: 2; }
  .pdp-block.orthotic-guarantee { padding: 56px 24px; gap: 32px; }
  .orthotic-activities a { padding: 18px 14px; }
}
@media (max-width: 360px) {
  .orthotic-proof { grid-template-columns: 1fr; gap: 16px; }
  .orthotic-proof p + p { border-left: 0; }
  .pdp-custom .opt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .orthotic-activities { grid-template-columns: 1fr; }
}
