body:has(.yogaspace-product-main) .reputon-sticky-video, body:has(.yogaspace-product-main) shopify-forms-embed { display: none!important; }
.yogaspace-product-main { padding-bottom: 4.5rem; }
.yogaspace-product-main .product__info-container { max-width: 58rem; }
.yogaspace-product-main .product__title { margin-bottom: 1.2rem; }
.yogaspace-product-main .product__title h1 { font-size: clamp(3.2rem, 3vw, 4.4rem); line-height: 1.12; letter-spacing: -.035em; }
.ys-product-subtitle { letter-spacing: -.025em; margin: .8rem 0 0; color: #625d67; font-size: clamp(2.3rem, 1.9vw, 2.8rem); line-height: 1.25; }
.ys-product-subtitle__accent { color: #79bba2; }
.ys-selected-price { margin: .6rem 0 1.4rem; }
.ys-selected-price .price__container, .ys-selected-price .price__badge-sale, .ys-selected-price .price__badge-sold-out { display: none!important; }
.ys-plan-picker { scroll-margin-top: 3rem; }
.yogaspace-product-main .product-form__input { display: block; max-width: none; min-width: 0; margin-bottom: 1.8rem; }
.yogaspace-product-main .product-form__input .form__label { margin-bottom: .8rem; color: #5b7068; font-size: 1.2rem; }
.yogaspace-product-main .product-form__input input[type='radio'] + label {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  width: 100%; min-height: 6.6rem; margin: 0 0 .8rem; padding: 1.1rem 1.5rem;
  border: 1px solid #d7e2de; border-radius: .8rem; background: #fff; color: #242e2a;
  font-size: 1.4rem; letter-spacing: 0; line-height: 1.2; text-align: left;
}
.yogaspace-product-main .product-form__input input[type='radio'] + label:hover { border-color: #54b791; }
.yogaspace-product-main .product-form__input input[type='radio']:checked + label { border: 2px solid #40aa81; background: #f1fcf8; color: #242e2a; padding: 1rem 1.4rem; }
.yogaspace-product-main .product-form__input input[type='radio']:focus-visible + label { outline: 3px solid #83d1b3; outline-offset: 2px; }
.ys-plan-copy { display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.ys-plan-copy strong { font-size: 1.55rem; font-weight: 700; }
.ys-plan-copy small { color: #6a6370; font-size: 1.15rem; line-height: 1.25; }
.ys-plan-pricing { display: flex; flex-direction: column; align-items: flex-end; gap: .25rem; flex: none; }
.ys-plan-annual { color: #817a88; font-size: 1.05rem; white-space: nowrap; }
.ys-plan-price { color: #2a6951; font-size: 1.8rem; font-weight: 700; white-space: nowrap; }
.ys-plan-price small { font-size: 1.05rem; font-weight: 600; }
.yogaspace-product-main .product-form__submit.button--primary { min-height: 5.2rem; border: 0; background-color: #51d4a2; color: #fff; }
.yogaspace-product-main .product-form__submit.button--primary:hover { background-color: #35bd89; }
.yogaspace-product-main .product-form__submit.button--primary:before, .yogaspace-product-main .product-form__submit.button--primary:after { display: none; }
.ys-product-description { margin: 1.8rem 0 0; color: #625d67; font-size: 1.45rem; line-height: 1.6; }
.ys-access-timeline { margin-top: 1.7rem; }
.ys-access-timeline__track { height: .6rem; overflow: hidden; border-radius: 999px; background: #e2f3ec; }
.ys-access-timeline__track span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #91e4c4 0%, #51d4a2 100%); }
.ys-access-timeline__labels { display: flex; justify-content: flex-end; gap: 1rem; margin-top: .65rem; font-style: italic; color: #625d67; font-size: 1.1rem; line-height: 1.4; }
.ys-access-timeline__labels span:last-child { text-align: right; }
.ys-digital-note { margin: 0 0 .8rem; color: #625d67; font-size: 1.1rem; line-height: 1.4; }
.ys-terms { margin-top: 2.1rem; border-top: 1px solid #e2e9e6; }
.ys-terms details { border-bottom: 1px solid #e2e9e6; }
.ys-terms summary { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.35rem 0; color: #303a36; font-size: 1.25rem; font-weight: 600; cursor: pointer; list-style: none; }
.ys-terms summary::-webkit-details-marker { display: none; }
.ys-terms summary:after { content: '+'; color: #56b490; font-size: 2rem; font-weight: 400; line-height: 1; }
.ys-terms details[open] summary:after { content: '−'; }
.ys-terms details p { margin: 0 0 1.4rem; color: #625d67; font-size: 1.2rem; line-height: 1.55; }
.ys-gallery { max-width: 100%; }
.ys-gallery-stage { position: relative; overflow: hidden; aspect-ratio: 1 / 1; background: #eafaf4; }
.ys-gallery-slide { width: 100%; height: 100%; margin: 0; }
.ys-gallery-slide[hidden] { display: none; }
.ys-gallery-slide img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ys-gallery-slide:nth-child(-n+2) img { object-fit: cover; }
.ys-gallery-slide--cues { background: #e7dfd3; }
.ys-cue-stack { position: relative; display: block; width: 100%; height: 100%; }
.ys-cue-stack .ys-cue-layer { position: absolute; inset: 0; pointer-events: none; }
.ys-cue-layer--upper { clip-path: inset(0 0 14% 0); }
.ys-cue-layer--lower-left { clip-path: inset(86% 60% 0 0); }
.ys-cue-layer--feet { clip-path: inset(86% 40.1% 5.5% 39.9%); transform: translateX(12.2%); }
.ys-gallery-thumbs { display: grid; grid-template-columns: repeat(var(--ys-gallery-count),minmax(0,1fr)); gap: .9rem; margin-top: 1.1rem; }
.ys-gallery-thumb { position: relative; overflow: hidden; aspect-ratio: 1; padding: 0; border: 1px solid #d6e6e0; border-radius: .3rem; background: #f3faf7; cursor: pointer; }
.ys-gallery-thumb.is-active { border: 2px solid #44ae85; }
.ys-gallery-thumb:focus-visible { outline: 3px solid #83d1b3; outline-offset: 2px; }
.ys-gallery-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ys-gallery-thumb--cues { background: #e7dfd3; }
.ys-gallery-thumb--cues img { object-fit: contain; }
.ys-gallery-thumb--cues .ys-cue-layer { position: absolute; inset: 0; pointer-events: none; }
.ys-cue-bg-purple .ys-gallery-slide--cues, .ys-cue-bg-purple .ys-gallery-thumb--cues { background: #eafaf4; }

.ys-highlights { background: #f9fdfb; color: #29322f; }
.ys-highlights-inner { width: min(1160px,calc(100% - 4rem)); margin: 0 auto; padding: 3rem 0 7rem; }
.ys-highlights h2 { margin: 0; color: #242e2a; letter-spacing: -.04em; }
.ys-feature { display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: clamp(4rem,7vw,10rem); min-height: 47rem; padding: 4rem 5.5rem; }
.ys-feature--library { grid-template-columns: 1.12fr .88fr; }
.ys-feature--library .ys-feature-copy { grid-column: 2; grid-row: 1; }
.ys-feature--library .ys-feature-visual { grid-column: 1; grid-row: 1; }
.ys-feature-copy { max-width: 41rem; }
.ys-feature h2 { font-size: clamp(3.1rem,3.4vw,4.4rem); line-height: 1.15; }
.ys-feature-copy>p { margin: 1.8rem 0 0; color: #625d67; font-size: 1.55rem; line-height: 1.7; }
.ys-feature-visual { overflow: hidden; height: 38rem; margin: 0; background: #e7f7f1; }
.ys-feature-visual--practice { position: relative; height: auto; aspect-ratio: 1122 / 1402; background: #f5f0e9; transform: translate3d(0, var(--ys-practice-shift, 0px), 0); }
.ys-feature-visual--practice img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ys-feature-visual--practice .ys-practice-cues { position: absolute; inset: 0; opacity: var(--ys-practice-progress, 0); pointer-events: none; }
.ys-feature-visual--practice.ys-practice-gallery-cues { aspect-ratio: 1 / 1; background: #e7dfd3; }
.ys-practice-gallery-cues > .ys-practice-background { position:absolute; inset:0; object-fit:cover; pointer-events:none; z-index:1; mask-image:linear-gradient(to right,#000 0 9.9857%,transparent 12% 88%,#000 90.0143% 100%); }
.ys-practice-gallery-cues > .ys-cue-stack { position: absolute; inset: 0; }
.ys-practice-gallery-cues .ys-cue-layer { opacity: var(--ys-practice-progress, 1); }
.ys-feature-visual--library { overflow: visible; height: auto; padding: 0; background: transparent; }
.ys-library-preview { position: relative; padding: 1.8rem; border-radius: 1.8rem; background: #fff; box-shadow: 0 .8rem 3.2rem #26363012, 0 .1rem .4rem #26363006; }
.ys-library-header { position: relative; z-index: 1; padding-bottom: 1.5rem; background: #fff; }
.ys-library-window { overflow: clip; }
.ys-library-preview.is-scroll-ready .ys-library-window { height: var(--ys-library-window-height); }
.ys-library-preview.is-scroll-ready .ys-library-grid { transform: translate3d(0, var(--ys-library-shift, 0px), 0); will-change: transform; }
.ys-library-search { display: flex; align-items: center; gap: 1rem; min-height: 5.4rem; padding: 1rem 1.4rem; border: 1px solid #dce8e3; border-radius: 3rem; color: #686174; font-size: 1.4rem; }
.ys-library-search svg { width: 2rem; height: 2rem; flex: none; }
.ys-library-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.ys-library-filters span, .ys-library-more-tags { padding: .45rem .8rem; border: 1px solid #dfeae6; border-radius: 2rem; color: #665f6b; font-size: 1rem; line-height: 1.2; }
.ys-library-filters:not(.ys-library-extra-tags) span:first-child { border-color: #d5f5e9; background: #e5f8f1; color: #357c61; }
.ys-library-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.1rem .9rem; margin: 0; }
.ys-library-card { min-width: 0; }
.ys-library-card img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: contain; background: #f7f3ee; }
.ys-library-card:nth-child(-n+2) img, .ys-library-card:nth-child(n+5) img { aspect-ratio: 1; object-fit: cover; background: #fff; }
.ys-library-card span { display: block; margin-top: .45rem; color: #2b3531; font-size: 1.2rem; font-weight: 600; line-height: 1.25; }
.ys-builder { width: 100%; max-width: 50rem; margin: 0; padding: 2.4rem; border-radius: 1.8rem; background: #fff; box-shadow: 0 .8rem 3.2rem #26363012, 0 .1rem .4rem #26363006; }
.ys-builder-title { margin-bottom: 2rem; }
.ys-builder-title h3 { margin: 0; color: #242e2a; font-size: clamp(2.2rem,2.4vw,2.8rem); letter-spacing: -.035em; line-height: 1.2; }
.ys-builder-title p { margin: .7rem 0 0; color: #6b837a; font-size: 1.3rem; line-height: 1.4; }
.ys-builder-steps { display: grid; gap: 1.2rem; margin: 0; padding: 0; list-style: none; }
.ys-builder-steps li { display: grid; grid-template-columns: 9rem minmax(0,1fr) auto; align-items: center; gap: 1.5rem; }
.ys-builder-steps img { display: block; width: 9rem; height: 10rem; object-fit: contain; border-radius: .8rem; background: #f1ebe2; }
.ys-builder-pose { display: flex; flex-direction: column; gap: .4rem; }
.ys-builder-order { color: #6ba68f; font-size: 1.05rem; font-weight: 500; letter-spacing: .04em; }
.ys-builder-pose strong { color: #2b3531; font-size: 1.5rem; line-height: 1.3; font-weight: 600; }
.ys-builder-duration { color: #637971; font-size: 1.2rem; white-space: nowrap; }
@media(max-width: 989px) {
  .ys-feature { gap: 3rem; padding-inline: 2rem; }
}
@media(max-width: 749px) {
  .yogaspace-product-main { padding-top: 2.5rem; padding-bottom: 3rem; }
  .yogaspace-product-main .product__info-wrapper { padding-top: 1.8rem; }
  .yogaspace-product-main .product__title h1 { font-size: 3.4rem; }
  .ys-gallery-thumbs { gap: .6rem; }
  .ys-highlights-inner { width: min(100% - 2.4rem,56rem); padding: 1rem 0 4rem; }
  .ys-feature, .ys-feature--library { display: flex; flex-direction: column; align-items: stretch; gap: 2.5rem; min-height: 0; padding: 3.2rem 0; }
  .ys-feature--library .ys-feature-copy, .ys-feature--library .ys-feature-visual { grid-column: auto; grid-row: auto; }
  .ys-feature h2 { font-size: 3rem; }
  .ys-feature-copy>p { margin-top: 1.2rem; font-size: 1.4rem; }
  .ys-feature-visual { height: 30rem; }
  .ys-feature-visual--practice, .ys-feature-visual--library { height: auto; }
  .ys-feature-visual--library { padding: 0; }
  .ys-builder { max-width: none; }
}
@media(max-width: 390px) {
  .ys-builder { padding: 2rem; }
  .ys-builder-steps li { grid-template-columns: 7.8rem minmax(0,1fr) auto; gap: 1.2rem; }
  .ys-builder-steps img { width: 7.8rem; height: 8.8rem; }
  .ys-builder-pose strong { font-size: 1.4rem; }
}
@media (prefers-reduced-motion: reduce) {
  .ys-library-preview.is-scroll-ready .ys-library-window { height: auto; }
  .ys-library-preview.is-scroll-ready .ys-library-grid { transform: none; will-change: auto; }
  .ys-feature-visual--practice { transform: none; }
  .ys-feature-visual--practice .ys-practice-cues, .ys-practice-gallery-cues .ys-cue-layer { opacity: 1; }
}

.ys-plan-comparison { max-width: 94rem; margin: 5rem auto 0; padding: 4rem 0 0; }
.ys-plan-comparison table { width: 100%; table-layout: fixed; border-collapse: collapse; box-shadow: none; }
.ys-plan-comparison caption { padding: 0 0 3rem; color: #242e2a; font-size: clamp(3rem,3.4vw,4.4rem); line-height: 1.15; letter-spacing: -.04em; text-align: left; font-weight: 500; }
.ys-plan-comparison th, .ys-plan-comparison td { border: 0; padding: 1.6rem 1.8rem; }
.ys-plan-comparison thead td { width: 46%; }
.ys-plan-comparison thead th { width: 27%; vertical-align: top; text-align: center; }
.ys-plan-comparison thead strong, .ys-plan-comparison thead span, .ys-plan-comparison thead b { display: block; }
.ys-plan-comparison thead strong { color: #2b3531; font-size: 2rem; font-weight: 600; }
.ys-plan-comparison thead th > span { margin-top: .3rem; color: #736b7b; font-size: 1.2rem; font-weight: 400; }
.ys-plan-comparison thead b { margin-top: 1rem; color: #386f5a; font-size: 2.8rem; font-weight: 500; }
.ys-plan-comparison tbody tr { border-top: 1px solid #e2ece8; }
.ys-plan-comparison tbody th { color: #495852; font-size: 1.4rem; line-height: 1.45; text-align: left; font-weight: 400; }
.ys-plan-comparison tbody td { color: #49a17f; font-size: 2rem; text-align: center; }
.ys-plan-unavailable { color: #a39ba9; }
.ys-plan-comparison-note { margin: 2rem 0 0; color: #736b7b; font-size: 1.3rem; text-align: right; }
@media(max-width: 749px) {
  .ys-plan-comparison { margin-top: 2rem; padding-top: 3rem; }
  .ys-plan-comparison caption { padding-bottom: 1.5rem; font-size: 3rem; }
  .ys-plan-comparison th, .ys-plan-comparison td { padding: 1.3rem .6rem; }
  .ys-plan-comparison thead td { width: 46%; }
  .ys-plan-comparison thead strong { font-size: 1.6rem; }
  .ys-plan-comparison thead th > span { font-size: 1rem; }
  .ys-plan-comparison thead b { font-size: 2.2rem; }
  .ys-plan-comparison tbody th { font-size: 1.2rem; }
  .ys-plan-comparison-note { font-size: 1.1rem; text-align: left; }
}

.ys-product-description > :first-child { margin-top: 0; }
.ys-product-description > :last-child { margin-bottom: 0; }
.ys-product-description h2 { margin: 2.4rem 0 1rem; font-size: 2rem; line-height: 1.35; letter-spacing: -.025em; }
.ys-product-description h3 { margin: 1.8rem 0 .8rem; font-size: 1.7rem; line-height: 1.35; }
.ys-product-description p { margin: 0 0 1.3rem; }
.ys-product-description ul, .ys-product-description ol { margin: 1rem 0 1.8rem; padding-left: 2rem; }
.ys-product-description li { margin: .45rem 0; }

.ys-access-timeline.is-ready [data-ys-access-fill] { transform-origin: left; animation: ys-access-reveal 1.4s ease-out both; }
@keyframes ys-access-reveal { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) {
  .ys-access-timeline.is-ready [data-ys-access-fill] { animation: none; }
}

/* Saved-flow metadata and illustrative class rhythm. */
.ys-builder-header {display:grid;grid-template-columns:minmax(0,1fr) 12rem;align-items:start;gap:1.6rem;margin-bottom:1.8rem;}
.ys-builder-header .ys-builder-title {margin:0;}
.ys-builder-stats {display:flex;flex-wrap:wrap;gap:.6rem 1.1rem;margin-top:1rem;color:#6b837a;font-size:1.15rem;line-height:1.5;}
.ys-builder-stats span {display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;}
.ys-builder-stats svg,.ys-builder-details svg {width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none;}
.ys-builder-curve {padding-top:.2rem;color:#709486;font-size:1rem;line-height:1.3;}
.ys-builder-curve>span {display:block;text-align:right;}
.ys-builder-curve>svg {display:block;width:100%;height:auto;overflow:visible;fill:none;stroke:#77b69e;stroke-width:2.5;stroke-linecap:round;}
.ys-builder-curve .ys-builder-curve-fill {fill:#eff9f5;stroke:none;}
.ys-builder-curve>div {display:flex;justify-content:space-between;margin-top:.3rem;font-size:.9rem;color:#879e95;}
.ys-builder-details {display:grid;grid-template-columns:1fr 1.2fr;gap:1.5rem;margin:0 0 2rem;padding:1.4rem 0;border-block:1px solid #e9f1ee;}
.ys-builder-details dt {display:flex;align-items:center;gap:.5rem;font-size:1.05rem;color:#7a9d90;}
.ys-builder-details dd {margin:.5rem 0 0;font-size:1.2rem;line-height:1.45;color:#495e56;}
@media(max-width:480px){.ys-builder-header{grid-template-columns:minmax(0,1fr) 9rem;gap:1rem;}.ys-builder-header h3{font-size:2.1rem;}.ys-builder-stats{font-size:1.05rem;gap:.5rem .8rem;}.ys-builder-details{gap:1rem;}.ys-builder-details dd{font-size:1.1rem;}}
@media(max-width:360px){.ys-builder-header{grid-template-columns:1fr;}.ys-builder-curve{width:100%;max-width:18rem;margin-top:.4rem;}.ys-builder-curve>span{text-align:left;}.ys-builder-curve>svg{height:4rem;}.ys-builder-details{grid-template-columns:1fr;gap:1rem;}}




.ys-library-more-tags { background: #fff; font-family: inherit; cursor: pointer; }
.ys-library-more-tags:hover { border-color: #54b791; color: #357c61; }
.ys-library-more-tags:focus-visible { outline: 2px solid #54b791; outline-offset: 2px; }
.ys-library-extra-tags[hidden] { display: none; }
.ys-library-extra-tags { margin-top: .5rem; }

/* Approved sequence-player artwork; isolated to YogaSpace. */
.ys-feature--player { grid-template-columns: 1.12fr .88fr; }
.ys-feature--player .ys-feature-copy { grid-column: 2; grid-row: 1; }
.ys-player-artwork { grid-column: 1; grid-row: 1; margin: 0; overflow: hidden; border-radius: 2.4rem; }
.ys-player-artwork img { display: block; width: 100%; height: auto; }
@media(max-width: 749px) {
  .ys-feature--player { grid-template-columns: 1fr; }
  .ys-feature--player .ys-feature-copy, .ys-player-artwork { grid-column: auto; grid-row: auto; }
  .ys-player-artwork { border-radius: 1.8rem; }
}

/* Replace the currency label's visual offset with real spacing so its
   unshifted inline box cannot widen the YogaSpace tablet viewport. */
body.product-yogaspace-current .header__icons .pick_currency .mlcurrent {
  display: inline-block;
  right: auto;
  margin-left: -38px;
}

body.product-yogaspace-current .header__icons .pick_currency .nice-select .list {
  left: auto;
  right: 0;
}

/* Shared YogaSpace primary action tokens from src/styles.css. */

.ys-practice-gallery-cues .ys-cue-layer { z-index:2; }

/* Lifetime purchase message beside the plan options. */
.ys-access-timeline__labels.ys-access-value { display: grid; justify-content: start; gap: .45rem; margin-top: 1.3rem; font-style: normal; font-size: 1.4rem; line-height: 1.5; text-align: left; }
.ys-access-value strong { color: #242e2a; font-size: clamp(2rem, 1.7vw, 2.4rem); font-weight: 600; letter-spacing: -.025em; line-height: 1.2; }
.ys-access-value span:last-child { max-width: 44rem; text-align: left; }

/* Alternate the visual side of successive visible desktop features. */
@media(min-width:750px){
  .ys-feature--library>.ys-feature-copy,.ypd-feature>.ypd-copy,.ys-sequence-filmstrips>.ys-feature-copy{grid-column:2!important;grid-row:1!important;order:0!important}
  .ys-feature--library>.ys-feature-visual,.ypd-feature>.ypd-overview,.ys-sequence-filmstrips>.ys-sequence-filmstrips__panel{grid-column:1!important;grid-row:1!important;order:0!important}
  .ys-feature--practice>.ys-feature-copy,.ys-class-builder-showcase>.ys-feature-copy{grid-column:1!important;grid-row:1!important;order:0!important}
  .ys-feature--practice>.ys-feature-visual,.ys-class-builder-showcase>.ycb{grid-column:2!important;grid-row:1!important;order:0!important}
}
@media(min-width:851px){
  [data-swipe-builder]>.ysb-copy{grid-column:1!important;grid-row:1!important;order:0!important}
  [data-swipe-builder]>.ysb-scene{grid-column:2!important;grid-row:1!important;order:0!important}
}
@media(max-width:850px){
  [data-swipe-builder]>.ysb-copy{grid-column:1!important;grid-row:1!important;order:0!important}
  [data-swipe-builder]>.ysb-scene{grid-column:1!important;grid-row:2!important;order:0!important}
}
@media(max-width:749px){.ys-feature--library>.ys-feature-copy,.ypd-feature>.ypd-copy,.ys-sequence-filmstrips>.ys-feature-copy,.ys-feature--practice>.ys-feature-copy,.ys-class-builder-showcase>.ys-feature-copy{grid-column:1!important;grid-row:1!important;order:0!important}.ys-feature--library>.ys-feature-visual,.ypd-feature>.ypd-overview,.ys-sequence-filmstrips>.ys-sequence-filmstrips__panel,.ys-feature--practice>.ys-feature-visual,.ys-class-builder-showcase>.ycb{grid-column:1!important;grid-row:2!important;order:0!important}}

.ys-plan-annual[hidden] {display:none!important}
