/* LifeForge v30 — complete class-detail polish: 30 distinct cards, mobile-first. */
.lf16-screen-overlay:has(.lf30-detail-hero){overscroll-behavior:contain;background:#11101c}
.lf16-screen-inner:has(.lf30-detail-hero){max-width:640px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
.lf30-detail-hero{min-height:430px!important;height:clamp(410px,54dvh,590px);border-radius:0;overflow:hidden;background:#242134}
.lf30-hero-backdrop{position:absolute;inset:0;background-image:var(--lf30-hero-bg);background-size:cover;background-position:center;filter:saturate(1.05) contrast(1.02);transform:scale(1.01)}
.lf30-detail-hero:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(18,14,28,.34),transparent 70%),linear-gradient(180deg,rgba(16,13,27,.07) 28%,rgba(19,13,29,.48) 59%,#11101f 100%)}
.lf30-detail-hero:after{background:linear-gradient(180deg,transparent 56%,#11101e 99%)!important;z-index:2}
.lf30-hero-instructor{position:absolute;display:block;right:-3%;bottom:13%;height:77%;width:66%;max-width:none;object-fit:contain;object-position:right bottom;filter:drop-shadow(0 11px 13px rgba(20,11,29,.42));z-index:1}
.lf30-detail-hero[data-lf30-category=breathing] .lf30-hero-instructor,.lf30-detail-hero[data-lf30-category=yoga] .lf30-hero-instructor{right:1%;height:73%}
.lf30-detail-hero .lf16-topbar{top:calc(14px + env(safe-area-inset-top));left:16px;right:16px;z-index:5}
.lf30-detail-hero .lf16-roundbtn{width:49px;height:49px;background:#1e1935d9;border:1px solid #ffffff77;box-shadow:0 6px 15px #0d0a1a42}
.lf30-detail-hero .lf16-hero-label{left:clamp(19px,6vw,34px);right:18px;bottom:19px;z-index:4;text-shadow:0 2px 18px #000b}
.lf30-detail-hero .lf16-hero-label .lf16-eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:9px;color:#ffd1e5}
.lf30-detail-hero .lf16-hero-label h1{font:700 clamp(36px,9vw,50px)/1.015 Georgia,serif!important;letter-spacing:-1.4px;max-width:97%;margin:0 0 8px;color:#fff7f0;overflow-wrap:anywhere}
.lf30-detail-hero .lf16-hero-label .lf16-sub{color:#f2e5f0;font-size:clamp(12px,3.3vw,14px);font-weight:600;line-height:1.35;margin:0 0 10px}
.lf30-detail-hero .lf16-chips{gap:7px;flex-wrap:wrap;max-width:100%;margin:10px 0 0}
.lf30-detail-hero .lf16-chip{font:700 11px/1.2 Arial,sans-serif;background:#1a183bb8;padding:9px 11px;border:1px solid #fff5;border-radius:99px;backdrop-filter:blur(9px);color:#fff7fd;white-space:nowrap}
.lf30-class-list{padding:24px clamp(15px,5vw,28px) 25px!important;background:linear-gradient(180deg,#11101e,#141124)}
.lf30-class-list>.lf16-eyebrow{font-size:11px;letter-spacing:2.1px;margin:0 0 7px}
.lf30-class-list>.lf16-title{font:700 clamp(27px,7vw,36px)/1.1 Georgia,serif!important;letter-spacing:-.9px;margin:0 0 17px;color:#fff4e7}
.lf30-detail-item{position:relative;display:flex;align-items:center;gap:14px;min-height:110px;width:100%;padding:10px 13px 10px 10px!important;border-radius:18px!important;border:1px solid #d3a6dd51!important;background:linear-gradient(105deg,#292033,#20192d 75%)!important;color:#fff4fa;box-shadow:0 7px 15px #0002;margin:0 0 11px!important;text-align:left;overflow:hidden}
.lf30-detail-item[data-current=true]{border-color:#f2b4dfaa!important;background:linear-gradient(110deg,#3c2940,#221e38 95%)!important}
.lf30-thumb{flex:0 0 94px;position:relative;display:block;width:94px;height:94px;border-radius:13px;overflow:hidden;background:#64506b;background-image:linear-gradient(0deg,#1b1b31aa,transparent 58%),var(--lf30-card-bg);background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px #fff3}
.lf30-detail-item .lf30-thumb>img{position:absolute;left:0;top:2px;width:100%!important;height:102%!important;display:block;object-fit:contain!important;object-position:center bottom!important;border:none!important;background:transparent!important;border-radius:0!important;filter:drop-shadow(0 3px 5px #1212227c)}
.lf30-card-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:6px}
.lf30-card-copy strong{font:700 clamp(17px,4.8vw,21px)/1.14 Georgia,serif!important;letter-spacing:-.25px;color:#fff8f6}
.lf30-card-copy small{font:600 12px/1.3 Arial,sans-serif!important;color:#e5cee9!important}
.lf30-card-tag{font:700 10px/1.2 Arial,sans-serif;color:#f5bfe1;letter-spacing:.3px;text-transform:uppercase;font-style:normal}
.lf30-card-chevron{font-size:27px;line-height:1;color:#fce4fc;opacity:.9;flex:0 0 13px}
.lf30-detail-item:focus-visible,.lf30-detail-hero button:focus-visible{outline:3px solid #f9d4ff;outline-offset:3px}
.lf30-detail-action{position:sticky;z-index:10;bottom:0;display:flex;align-items:center;padding:10px 16px max(14px,env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,rgba(17,15,29,0) 0%,#141020ee 17%,#151021 100%)!important;backdrop-filter:blur(12px);border-top:1px solid #f0add52b}
.lf30-detail-action .lf16-mainbutton{font:800 15px/1.2 Arial,sans-serif!important;min-height:56px!important;padding:14px 17px!important;box-shadow:0 9px 20px #140b2766;border-radius:99px}
@media(max-width:360px){.lf30-detail-hero{min-height:390px!important;height:430px}.lf30-detail-hero .lf16-hero-label h1{font-size:34px!important}.lf30-hero-instructor{height:74%}.lf30-detail-hero .lf16-chip{font-size:10px;padding:7px 9px}.lf30-thumb{width:80px;height:82px;flex-basis:80px}.lf30-detail-item{min-height:98px;gap:11px}.lf30-card-copy strong{font-size:17px!important}}
@media(min-width:700px){.lf30-detail-hero{height:560px}.lf30-hero-instructor{height:88%;width:59%;bottom:9%}.lf30-detail-hero .lf16-hero-label{left:38px;bottom:29px}.lf30-class-list{padding-left:32px!important;padding-right:32px!important}.lf30-thumb{width:108px;height:108px;flex-basis:108px}}
@media(prefers-reduced-motion:reduce){.lf30-detail-hero *, .lf30-detail-item{animation:none!important;transition:none!important}}

/* v30 finish: an unobstructed character stage, independent title panel, no floating CTA. */
.lf30-detail-hero{height:auto!important;min-height:0!important;padding-top:clamp(294px,89vw,430px)!important;display:block!important;background:#191625!important}
.lf30-detail-hero .lf30-hero-backdrop{inset:0 0 auto!important;height:clamp(294px,89vw,430px)!important;transform:none!important;background-position:center 55%!important}
.lf30-detail-hero .lf30-hero-instructor,
.lf30-detail-hero[data-lf30-category=breathing] .lf30-hero-instructor,
.lf30-detail-hero[data-lf30-category=yoga] .lf30-hero-instructor{top:12px!important;bottom:auto!important;left:0!important;right:0!important;width:100%!important;height:clamp(275px,84vw,410px)!important;object-fit:contain!important;object-position:center bottom!important;filter:drop-shadow(0 8px 12px rgba(11,12,27,.38))}
.lf30-detail-hero:before{inset:0 0 auto!important;height:clamp(294px,89vw,430px)!important;background:linear-gradient(180deg,#100b231a 0%,transparent 50%,#17112724 96%)!important}
.lf30-detail-hero:after{display:none!important}
.lf30-detail-hero .lf16-hero-label{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;bottom:auto!important;padding:20px clamp(18px,5vw,30px) 24px!important;background:linear-gradient(180deg,#1e152b,#151121)!important;box-shadow:0 -3px 22px #0d0b1a3d;text-shadow:none!important}
.lf30-detail-hero .lf16-hero-label h1{font-size:clamp(32px,8.6vw,44px)!important;line-height:1.04!important;max-width:100%!important}
.lf30-detail-hero .lf16-hero-label .lf16-sub{line-height:1.5!important}
.lf30-detail-hero .lf16-chips{margin-top:13px!important}
.lf30-detail-action{position:relative!important;bottom:auto!important;z-index:2!important;margin-top:0!important;background:#151021!important;backdrop-filter:none!important;padding:10px 16px max(22px,env(safe-area-inset-bottom))!important}
.lf30-class-list{padding-bottom:10px!important}
.lf30-detail-item .lf30-thumb>img{transform:scale(1.07);transform-origin:center bottom}
@media(max-width:360px){.lf30-detail-hero{padding-top:294px!important}.lf30-detail-hero .lf30-hero-backdrop{height:294px!important}.lf30-detail-hero .lf30-hero-instructor{height:280px!important;top:9px!important}.lf30-detail-hero .lf16-hero-label{padding:18px 18px 20px!important}}

/* Hard override legacy v23 fixed-to-viewport CTA. No content obstruction. */
#lf16-overlay.lf16-screen-overlay:has(.lf30-detail-hero) .lf16-screen-inner{width:100%!important;max-width:640px!important;margin-inline:auto!important}
#lf16-overlay.lf16-screen-overlay:has(.lf30-detail-hero) .lf16-detail-action.lf30-detail-action{
 position:relative!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;
 width:100%!important;max-width:100%!important;z-index:2!important;isolation:auto!important;
 margin:0!important;padding:10px 16px max(21px,env(safe-area-inset-bottom))!important;
 background:#151021!important;backdrop-filter:none!important;
}
#lf16-overlay.lf16-screen-overlay:has(.lf30-detail-hero) .lf16-detail-list.lf30-class-list{padding-bottom:9px!important}
