.class-detail-hero { position: relative; min-height: 510px; overflow: hidden; background: #050708; color: #fff; }
.class-detail-hero__image { position: absolute; inset: 0 0 0 40%; background-position: center; background-size: cover; }
.class-detail-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg,#050708 0%,#050708 36%,rgba(5,7,8,.86) 52%,rgba(5,7,8,.08) 100%); }
.class-detail-hero__inner { position: relative; z-index: 1; padding-top: 42px; padding-bottom: 48px; }
.class-detail-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; font-size: 14px; }
.class-detail-breadcrumb a { color: #fff; text-decoration: none; }
.class-detail-breadcrumb span { color: #ff6600; }
.class-detail-breadcrumb strong { color: #fff; font-weight: 500; }
.class-detail-hero__copy { width: 46%; margin-top: 62px; }
.class-detail-hero h1 { margin: 0 0 28px; padding-bottom: 16px; position: relative; color: #fff; font-size: clamp(40px,5vw,60px); font-weight: 900; text-transform: uppercase; }
.class-detail-hero h1::after,.class-detail-page h2::after { content:''; position:absolute; bottom:0; left:0; width:42px; height:3px; background:#ff6600; }
.class-detail-hero__copy > p { max-width: 580px; margin: 0; color:#f3f3f3; font-size:17px; line-height:1.65; }
.class-detail-stats { margin-top: 45px; display:flex; }
.class-detail-stats > div { min-width:165px; padding:0 26px; display:grid; grid-template-columns:38px minmax(0,1fr); column-gap:14px; border-right:1px solid rgba(255,255,255,.2); }
.class-detail-stats > div:first-child { padding-left:0; }
.class-detail-stats > div:last-child { border-right:0; }
.class-detail-icon { grid-row:1/3; color:#ff6600; font-size:36px; line-height:1; }
.class-detail-stats strong { font-size:22px; line-height:1; }
.class-detail-stats small { margin-top:8px; color:#d1d1d1; font-size:12px; }

.class-detail-page { padding:58px 0 70px; background:#fff; }
.class-detail-top { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(330px,.8fr); gap:72px; }
.class-detail-page section { margin-bottom:56px; }
.class-detail-page h2 { margin:0 0 28px; padding-bottom:14px; position:relative; color:#111; font-size:21px; font-weight:900; text-transform:uppercase; }
.class-detail-richtext { color:#272727; font-size:16px; line-height:1.9; }
.class-detail-richtext p { margin:0 0 20px; }
.class-detail-checks,.class-audience ul { margin:0; padding:0; list-style:none; }
.class-detail-checks li,.class-audience li { position:relative; margin-bottom:16px; padding-left:34px; color:#222; line-height:1.55; }
.class-detail-checks li::before,.class-audience li::before { content:'\f058'; position:absolute; top:1px; left:0; color:#ff6600; font-family:'Font Awesome 5 Free'; font-size:18px; font-weight:900; line-height:1.35; }

.class-info-card,.class-schedule-card { padding:32px 36px; border-radius:10px; background:linear-gradient(135deg,#f8f8f8,#f0f0f0); }
.class-info-card h2,.class-schedule-card h2 { margin-bottom:20px; padding:0; font-size:16px; }
.class-info-card h2::after,.class-schedule-card h2::after { display:none; }
.class-info-card dl { margin:0; }
.class-info-card dl > div { padding:12px 0; display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:start; }
.class-info-card dt { display:flex; gap:13px; font-weight:500; }
.class-info-card dt i { min-width:22px; color:#ff6600; font-size:18px; line-height:1.35; text-align:center; }
.class-info-card dd { margin:0; color:#111; }
.class-info-card .class-info-trainer-row { align-items:center; }
.class-info-trainer { display:flex; align-items:center; gap:11px; }
.class-info-trainer img,.class-info-trainer__fallback { width:48px; height:48px; flex:0 0 48px; border-radius:50%; }
.class-info-trainer img { display:block; object-fit:cover; }
.class-info-trainer__fallback { display:flex; align-items:center; justify-content:center; background:#16191b; color:#ff6600; }
.class-info-trainer__fallback i { min-width:0; color:inherit; font-size:17px; }
.class-info-trainer__copy { min-width:0; display:flex; flex-direction:column; gap:3px; }
.class-info-trainer__copy strong { color:#111; font-size:14px; line-height:1.25; }
.class-info-trainer__copy small { color:#666; font-size:11px; font-weight:500; line-height:1.3; }
.class-schedule-card { background:linear-gradient(135deg,#171a1c,#060708); color:#fff; }
.class-schedule-card h2 { color:#ff6600; }
.class-schedule-card ul { margin:0; padding:0; list-style:none; }
.class-schedule-card li { padding:10px 0; display:flex; justify-content:space-between; gap:25px; border-bottom:1px solid rgba(255,255,255,.09); }
.class-schedule-card li:last-child { border-bottom:0; }
.class-schedule-card li strong { color:#fff; font-size:14px; }
.class-schedule-card li span { color:#d8d8d8; }

.class-detail-lower { padding-top:46px; border-top:1px solid #e4e4e4; }
.class-trainer__profile { display:grid; grid-template-columns:150px 1fr; gap:30px; align-items:center; }
.class-trainer__avatar { width:150px; height:150px; display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:50%; background:linear-gradient(145deg,#202428,#070809); color:#ff6600; text-decoration:none; }
.class-trainer__avatar img { width:100%; height:100%; object-fit:cover; }
.class-trainer__avatar span { font-size:64px; font-weight:900; }
.class-trainer h3 { margin:0 0 8px; font-size:20px; font-weight:900; text-transform:uppercase; }
.class-trainer h3 a { color:#111; text-decoration:none; }
.class-trainer__profile div > strong { color:#ff6600; font-size:14px; }
.class-trainer__profile p { margin:18px 0 0; color:#333; line-height:1.7; }

@media(max-width:950px){
  .class-detail-hero__image{left:30%;opacity:.72}.class-detail-hero__shade{background:linear-gradient(90deg,#050708 0%,rgba(5,7,8,.91) 55%,rgba(5,7,8,.25) 100%)}
  .class-detail-hero__copy{width:65%}.class-detail-top{grid-template-columns:1fr;gap:20px}.class-detail-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:20px}.class-detail-lower{gap:40px}
}
@media(max-width:680px){
  .class-detail-hero{min-height:580px}.class-detail-hero__image{left:0;opacity:.45}.class-detail-hero__shade{background:linear-gradient(90deg,rgba(5,7,8,.96),rgba(5,7,8,.55))}.class-detail-hero__inner{padding-top:28px}.class-detail-hero__copy{width:100%;margin-top:52px}.class-detail-hero h1{font-size:38px}.class-detail-hero__copy>p{font-size:15px}.class-detail-stats{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.class-detail-stats>div{min-width:0;padding:0 9px;grid-template-columns:28px minmax(0,1fr);column-gap:9px}.class-detail-stats>div:first-child{padding-left:0}.class-detail-icon{font-size:26px}.class-detail-stats strong{font-size:17px;white-space:nowrap}.class-detail-stats small{font-size:10px}.class-detail-sidebar{grid-template-columns:1fr}.class-detail-lower{grid-template-columns:1fr;gap:10px}.class-trainer__profile{grid-template-columns:95px 1fr;gap:20px}.class-trainer__avatar{width:95px;height:95px}.class-trainer__avatar span{font-size:42px}.class-info-card,.class-schedule-card{padding:26px 22px}.class-info-card dl>div{grid-template-columns:1fr;gap:5px}
}
.class-gallery{margin-top:55px}.class-gallery h2{position:relative;margin:0 0 30px;padding-bottom:13px;color:#111;font-size:21px;font-weight:900;text-transform:uppercase}.class-gallery h2:after{content:"";position:absolute;bottom:0;left:0;width:40px;height:3px;background:var(--gym-yellow)}.class-gallery>div{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.class-gallery img{width:100%;height:280px;object-fit:cover;border-radius:6px}@media(max-width:600px){.class-gallery>div{grid-template-columns:1fr}.class-gallery img{height:230px}}
.class-detail-tagline{font-weight:700}.class-info-card dd a{color:#111;font-weight:700;text-decoration:none}.class-info-card dd a:hover{color:#ff6600}.class-gallery>div>a{position:relative;display:block;overflow:hidden;border-radius:6px;cursor:zoom-in}.class-gallery>div>a img{display:block;transition:transform .3s ease,filter .3s ease}.class-gallery>div>a:hover img{transform:scale(1.035);filter:brightness(.72)}.class-gallery>div>a>span{position:absolute;top:50%;left:50%;display:flex;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid #ffffffaa;border-radius:50%;background:#050708b8;color:#fff;font-size:30px;line-height:1;opacity:0;transform:translate(-50%,-50%) scale(.8);transition:opacity .25s ease,transform .25s ease}.class-gallery>div>a:hover>span{opacity:1;transform:translate(-50%,-50%) scale(1)}

@media(max-width:680px){
  .class-detail-hero{min-height:0}
  .class-detail-hero__image{inset:0;background-position:62% center;opacity:.5}
  .class-detail-hero__shade{background:linear-gradient(90deg,rgba(5,7,8,.98) 0%,rgba(5,7,8,.88) 58%,rgba(5,7,8,.42) 100%)}
  .class-detail-hero__inner{padding-top:22px;padding-bottom:38px}
  .class-detail-breadcrumb{gap:8px;font-size:12px;line-height:1.45}
  .class-detail-hero__copy{margin-top:32px}
  .class-detail-hero h1{margin-bottom:18px;padding-bottom:13px;font-size:clamp(31px,9vw,38px);line-height:1.08}
  .class-detail-hero__copy>p{max-width:92%;font-size:14px;line-height:1.55}
  .class-detail-stats{margin-top:28px;gap:8px}
  .class-detail-stats>div,.class-detail-stats>div:first-child{min-height:92px;padding:11px 8px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;border:1px solid rgba(255,255,255,.14);border-radius:6px;background:rgba(0,0,0,.26)}
  .class-detail-icon{margin-bottom:4px;font-size:23px;line-height:1}
  .class-detail-stats strong{max-width:100%;font-size:15px;line-height:1.15;white-space:normal;overflow-wrap:anywhere}
  .class-detail-stats small{margin-top:0;font-size:9px;line-height:1.2}
  .class-detail-top{display:flex;flex-direction:column;gap:0}
  .class-detail-sidebar{display:contents}
  .class-info-card{order:1}
  .class-detail-prose{order:2}
  .class-schedule-card{order:3}
}

@media(max-width:380px){
  .class-detail-stats{grid-template-columns:1fr}
  .class-detail-stats>div,.class-detail-stats>div:first-child{min-height:0;padding:10px 12px;display:grid;grid-template-columns:28px 1fr;column-gap:10px;align-items:center}
  .class-detail-icon{grid-row:1/3;margin:0}
}
