/* CTGW v48: clean, high contrast class page layout. Only applies to class pages. */
.ctgw-class-page{background:#101820;color:#f4f6f8}
.ctgw-class-page .wrap{max-width:1180px}
main.ctgw-class-page > section{padding:24px 0 22px}
main.ctgw-class-page > section + section{padding-top:10px}
.ctgw-class-page .ctgw-kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#f0d38a;margin:0 0 5px}
.ctgw-class-page h1{color:#fff;font-size:clamp(1.8rem,3.7vw,2.65rem);line-height:1.14;margin:2px 0 12px}
.ctgw-class-page h2{color:#fff;font-size:clamp(1.35rem,2.5vw,1.8rem);line-height:1.2;margin:0 0 12px}
.ctgw-waiver-line{margin:0 0 12px}
.ctgw-class-page .btn.ctgw-waiver{padding:10px 18px;background:#c8a24d;color:#13110b;box-shadow:none;border-radius:8px;font-size:1rem}
.ctgw-attorneys{margin:0 0 14px;padding:9px 12px;border-left:3px solid #c8a24d;background:#1a2630;color:#eef3f8;line-height:1.5;font-size:.93rem}
.ctgw-attorneys a{color:#f0d38a;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.ctgw-class-meta{display:flex;gap:5px 24px;flex-wrap:wrap;margin:6px 0 8px;font-size:.95rem;color:#edf1f5}
.ctgw-class-meta strong{color:#f0d38a}
.ctgw-class-summary{max-width:900px;margin:8px 0;color:#dae2e9;line-height:1.55;font-size:.96rem}
.ctgw-class-rental{margin:9px 0 0;color:#edf1f5;font-size:.95rem}
.ctgw-class-rental a{color:#f0d38a;text-decoration:underline;font-weight:700}
.ctgw-class-dates h2{margin:0 0 8px}
.ctgw-class-dates .ctgw-date-list{list-style:none;display:flex;flex-wrap:wrap;gap:6px 20px;padding:0;margin:0 0 9px;max-width:1050px}
.ctgw-class-dates .ctgw-date-list li{display:inline-flex;align-items:baseline;gap:7px;padding:0;background:transparent!important;color:#f4f6f8!important;border:0;border-radius:0;font-size:.95rem;font-weight:600;box-shadow:none}
.ctgw-class-dates .ctgw-date-list li::before{content:'•';color:#f0d38a;font-size:1.15rem;line-height:1}
.ctgw-class-dates .ctgw-date-list a{color:#f0d38a;text-decoration:underline;text-underline-offset:2px}
.ctgw-class-page .ctgw-date-note{font-size:.82rem;line-height:1.45;color:#bcc7d2;margin:4px 0 12px}
.ctgw-class-page .ctgw-registration{margin-top:18px;border-top:1px solid rgba(255,255,255,.15);padding-top:20px}
.ctgw-class-page .ctgw-registration h2{margin-bottom:12px}
.ctgw-class-page .ctgw-registration iframe{display:block;width:100%;min-width:0;max-width:100%;height:1500px;border:0;border-radius:8px;background:#fff}
.ctgw-class-page .ctgw-reg-fallback{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:12px 0 0}
.ctgw-class-page .ctgw-reg-fallback a.btn{border-radius:8px;padding:12px 16px;font-size:.94rem;color:#111;background:#c8a24d;box-shadow:none}
.ctgw-class-page .ctgw-reg-fallback span{color:#b7c2cd;font-size:.82rem}
.ctgw-class-page .ctgw-private-list{list-style:none;padding:0;margin:6px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}
.ctgw-class-page .ctgw-private-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(255,255,255,.14);padding:8px 0;color:#f4f6f8}
.ctgw-class-page .ctgw-private-list a{color:#f0d38a;font-size:.92rem;font-weight:700;white-space:nowrap}
@media(max-width:760px){
 main.ctgw-class-page > section{padding:16px 0 12px}
 main.ctgw-class-page > section + section{padding-top:8px}
 .ctgw-class-page .wrap{padding:0 16px}
 .ctgw-class-page .ctgw-class-meta{gap:3px 12px}
 .ctgw-class-page .ctgw-registration iframe{height:1700px;border-radius:4px}
 .ctgw-class-page .ctgw-reg-fallback a.btn{width:100%;text-align:center}
 .ctgw-class-page .ctgw-private-list{grid-template-columns:1fr}
}
