.ppv-plan { min-width: 0; color: var(--t-text); }
.ppv-plan [hidden] { display: none !important; }
.ppv-days { display: flex; gap: 8px; overflow-x: auto; padding: 4px 0 8px; margin: 0 0 8px; scrollbar-width: none; }
.ppv-days::-webkit-scrollbar { display: none; }
.ppv-day-tab { flex: 0 0 auto; min-height: 44px; padding: 10px 20px; border: 1px solid var(--t-border); border-radius: 999px; background: var(--t-card); color: var(--t-text-muted); font: inherit; font-weight: 750; cursor: pointer; }
.ppv-day-tab[aria-selected="true"] { border-color: var(--t-accent); background: var(--t-accent); color: var(--t-cta-fg); }
.ppv-day__heading { margin: 8px 0 14px; }
.ppv-day__heading h3 { margin: 0; font-family: Unbounded, system-ui, sans-serif; font-size: clamp(18px, 3vw, 24px); line-height: 1.3; letter-spacing: -.025em; text-wrap: balance; }
.ppv-exercises { display: grid; gap: 14px; list-style: none; margin: 0; padding: 0; }
.ppv-exercises > li { min-width: 0; scroll-margin-top: 100px; }
.ppv-exercise { --ppv-inset: 14px; min-width: 0; overflow: hidden; padding-bottom: var(--ppv-inset); border: 1px solid var(--t-border-strong); border-radius: 16px; background: var(--t-card); }
.ppv-exercise__head { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 12px; align-items: center; padding: var(--ppv-inset); }
.ppv-poster { position: relative; display: block; width: 92px; height: 92px; overflow: hidden; padding: 0; border: 1px solid var(--t-row-border, var(--t-border)); border-radius: 10px; background: var(--t-card); color: var(--t-text-muted); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--t-card) 70%, transparent); }
button.ppv-poster { cursor: pointer; }
.ppv-poster img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ppv-poster--empty { display: grid; place-items: center; }
.ppv-poster .exg-count { position: absolute; right: 4px; bottom: 4px; }
.ppv-exercise__copy { min-width: 0; }
.ppv-exercise__copy h4 { margin: 0; font-size: 1rem; font-weight: 800; line-height: 1.25; overflow-wrap: anywhere; text-wrap: pretty; }
.ppv-exercise__description { max-width: 70ch; margin: 6px 0 0; color: var(--t-text-muted); font-size: .8125rem; line-height: 1.5; overflow-wrap: anywhere; text-wrap: pretty; }
.ppv-exercise__position { margin: 0 0 5px; color: var(--t-text-muted); font-size: .6875rem; font-weight: 750; }
.ppv-exercise__chips { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 8px; }
.ppv-prescription, .ppv-equipment { padding: 4px 8px; border-radius: 8px; font-size: .75rem; font-weight: 650; line-height: 1.3; overflow-wrap: anywhere; }
.ppv-prescription { background: var(--t-primary-tint); color: var(--t-text); }
.ppv-equipment { border: 1px solid var(--t-border-strong); background: var(--t-surface); color: var(--t-text-muted); }
.ppv-rest { margin: 6px 0 0; color: var(--t-text-muted); font-size: .75rem; }
.ppv-video-note { margin: 0 var(--ppv-inset) 10px; color: var(--t-text-muted); font-size: .75rem; }
/* Match the workout card's gallery row and educational tab treatment. */
.ppv-exercise .ppv-gallery { display: flex; width: calc(100% - 2 * var(--ppv-inset)); min-height: 48px; align-items: center; justify-content: space-between; gap: 10px; margin: 0 var(--ppv-inset) 6px; padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--t-primary) 32%, transparent); border-radius: 10px; background: transparent; color: var(--t-text); font: inherit; font-size: .8125rem; font-weight: 700; text-align: left; cursor: pointer; }
.ppv-gallery__label, .ppv-gallery__meta { display: inline-flex; align-items: center; gap: 8px; }
.ppv-gallery__label { min-width: 0; }
.ppv-gallery svg { flex: 0 0 auto; color: var(--t-primary-light); }
.ppv-gallery__meta { flex: 0 0 auto; color: var(--t-text-muted); font-size: .75rem; }
.ppv-actions { display: flex; gap: 6px; padding: 0 var(--ppv-inset); }
.ppv-actions > button { display: flex; flex: 1 1 0; flex-direction: column; min-width: 0; min-height: 52px; align-items: center; justify-content: center; gap: 3px; padding: 8px 2px; border: 1px solid color-mix(in srgb, var(--t-primary) 32%, transparent); border-radius: 10px; background: transparent; color: var(--t-primary-light); font: inherit; font-size: .6875rem; font-weight: 700; line-height: 1.15; text-align: center; cursor: pointer; }
.ppv-actions > button svg { flex: 0 0 auto; }
.ppv-actions > button[aria-expanded="true"] { border-color: color-mix(in srgb, var(--t-primary) 62%, transparent); background: color-mix(in srgb, var(--t-primary) 12%, transparent); }
.ppv-actions > button:active, .ppv-gallery:active { background: var(--t-primary-tint); }
.ppv-material { margin: 6px var(--ppv-inset) 0; overflow: hidden; border: 1px dashed var(--t-border-strong); border-radius: 10px; }
.ppv-video { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; max-height: 65dvh; background: var(--t-surface); }
.ppv-technique { font-size: .875rem; line-height: 1.55; }
.ppv-technique ul { margin: 0; padding: 0; list-style: none; }
.ppv-technique li { display: flex; gap: 8px; padding: 10px 12px; }
.ppv-technique li + li { border-top: 1px solid var(--t-border); }
.ppv-technique li svg { flex: 0 0 auto; margin-top: 3px; color: var(--t-primary-light); }
.ppv-technique p { padding: 0 12px; }
.ppv-technique a { display: inline-block; margin: 12px; color: var(--t-primary-light); text-underline-offset: 3px; }
.ppv-muscles { padding: 12px; }
.ppv-muscles__map { display: flex; justify-content: center; }
.ppv-muscles__map .mm { max-width: 100%; }
.ppv-muscles__map .mm__view { max-width: 100%; width: 260px; }
.ppv-muscles ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.ppv-muscles li { padding: 7px 11px; border-radius: 999px; background: var(--t-primary-tint); font-size: .8125rem; }
.ppv-media-error { margin: 12px; color: var(--t-text-muted); font-size: .875rem; }
.ppv-cta { display: grid; min-width: 0; overflow: hidden; margin: 14px 0; border: 1px solid color-mix(in srgb, var(--t-accent) 50%, var(--t-border)); border-radius: 20px; background: radial-gradient(ellipse at top right, var(--t-primary-tint), transparent 70%), var(--t-card); color: var(--t-text); }
.ppv-cta__art { min-width: 0; align-self: center; }
.ppv-cta__art img { display: block; width: 100%; height: auto; }
.ppv-cta__copy { min-width: 0; padding: 20px; }
.ppv-cta p { margin: 0; font-size: .9375rem; line-height: 1.55; text-wrap: pretty; }
.ppv-cta .ppv-cta__eyebrow { color: var(--t-accent); font-size: .6875rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.ppv-cta h2, .ppv-cta h3 { margin: 8px 0 10px; font-family: Unbounded, system-ui, sans-serif; font-size: clamp(1.15rem, 2.4vw, 1.45rem); line-height: 1.25; letter-spacing: -.025em; overflow-wrap: anywhere; text-wrap: balance; }
.ppv-cta .ppv-cta__button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; margin-top: 16px; padding: 12px 18px; border: 1px solid var(--t-cta-bg); border-radius: 14px; background: var(--t-cta-bg); color: var(--t-cta-fg); font: inherit; font-size: .9375rem; font-weight: 750; line-height: 1.3; text-align: center; text-decoration: none; }
.ppv-cta__button svg { flex: 0 0 auto; }
.ppv-cta__button:active { filter: brightness(.94); }
.ppv-cta .ppv-cta__hint { margin-top: 8px; color: var(--t-text-muted); font-size: .75rem; }
.ppv-cta__features { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.ppv-cta__features li { display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px; border: 1px solid var(--t-border-strong); border-radius: 8px; color: var(--t-text); font-size: .75rem; font-weight: 600; }
.ppv-cta__features svg { flex: 0 0 auto; color: var(--t-primary-light); }
.ppv-cta--finish { margin-top: 24px; }
.ppv-cta__stores { grid-column: 1 / -1; min-width: 0; padding: 12px 20px; border-top: 1px solid var(--t-border); }
.ppv-cta__stores .store-badges { justify-content: center; width: 100%; margin: 0; padding: 0; }
.ppv-cta__stores .store-badge { max-width: 100%; }
@media (min-width: 600px) {
  .ppv-exercise { --ppv-inset: 18px; }
  .ppv-exercise__head { grid-template-columns: 112px minmax(0, 1fr); gap: 16px; }
  .ppv-poster { width: 112px; height: 112px; }
  .ppv-exercise__copy h4 { font-size: 1.125rem; }
  .ppv-actions > button { min-height: 58px; font-size: .75rem; }
  .ppv-gallery { font-size: .875rem; }
  .ppv-video { max-width: 560px; margin-inline: auto; }
  .ppv-cta { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .ppv-cta__copy { padding: 24px; }
  .ppv-cta--finish .ppv-cta__copy { padding: 20px 24px; }
  .ppv-cta--finish h2 { margin-block: 6px 8px; font-size: clamp(1.2rem, 2.5vw, 1.5rem); }
  .ppv-cta--finish .ppv-cta__features { margin-top: 10px; }
  .ppv-cta--finish .ppv-cta__button { margin-top: 12px; }
  .ppv-cta--finish .ppv-cta__hint { margin-top: 6px; }
  .ppv-cta__stores .store-badges { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .ppv-cta__stores .store-badge { justify-content: center; width: 100%; }
}
@media (max-width: 599px) {
  .ppv-cta__button { width: 100%; }
}
@media (max-width: 360px) {
  .ppv-exercise { --ppv-inset: 10px; }
  .ppv-exercise__head { grid-template-columns: 80px minmax(0, 1fr); gap: 10px; }
  .ppv-poster { width: 80px; height: 80px; }
  .ppv-day-tab { padding-inline: 16px; }
}
