
.shs-classes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin:24px 0}
.shs-class-card{border:1px solid #ddd;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.06)}
.shs-card-image{height:170px;background-size:cover;background-position:center}
.shs-card-body{padding:22px}.shs-card-body h3{font-size:1.45rem;margin:12px 0 8px}
.shs-card-top,.shs-class-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.shs-badge{display:inline-block;font-size:.74rem;font-weight:800;letter-spacing:.04em;padding:6px 9px;border-radius:999px;background:#eef4ff}
.shs-price,.shs-big-price{font-weight:800}.shs-big-price{font-size:1.8rem}
.shs-meta{display:grid;gap:5px;margin:16px 0 20px;font-size:.94rem}
.shs-button{display:inline-block;background:#111;color:#fff!important;text-decoration:none!important;border:0;border-radius:9px;padding:12px 17px;font-weight:800;cursor:pointer;text-align:center}
.shs-button.disabled{opacity:.45;pointer-events:none}.shs-pay-button{width:100%;font-size:1rem;padding:14px}
.shs-class-detail{max-width:1100px;margin:25px auto}.shs-class-heading{border-bottom:1px solid #ddd;padding-bottom:20px;margin-bottom:25px}
.shs-class-heading h2{font-size:2.1rem;margin:8px 0}.shs-lead{font-size:1.1rem}
.shs-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:35px}
.shs-registration-panel{border:1px solid #ddd;border-radius:14px;padding:22px;background:#fafafa;height:max-content}
.shs-registration-panel h3{margin-top:0}.shs-form{display:grid;gap:13px}
.shs-form label{display:grid;gap:5px;font-weight:700;font-size:.9rem}.shs-form label span{font-weight:400}
.shs-form input,.shs-form textarea{width:100%;box-sizing:border-box;border:1px solid #bbb;border-radius:7px;padding:10px;background:#fff;font:inherit}
.shs-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.shs-check{grid-template-columns:auto 1fr!important;align-items:flex-start!important}
.shs-check input{width:auto;margin-top:4px}.shs-secure{font-size:.8rem;opacity:.7;text-align:center;margin:0}
.shs-hp{position:absolute!important;left:-99999px!important;width:1px;height:1px;overflow:hidden}
.shs-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}
.shs-facts div{border:1px solid #e1e1e1;border-radius:9px;padding:12px}.shs-facts strong,.shs-facts span{display:block}
.shs-facts strong{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;opacity:.65;margin-bottom:3px}
.shs-info-box{border-left:4px solid #333;padding:12px 16px;margin:20px 0;background:#f7f7f7}
.shs-notice{padding:14px 16px;border-radius:9px;margin:15px 0}.shs-success{background:#edf8ef;border:1px solid #b9dfbf}.shs-error{background:#fff0f0;border:1px solid #e6b7b7}
.shs-empty{padding:30px;border:1px dashed #bbb;border-radius:10px;text-align:center}
@media(max-width:760px){.shs-detail-grid{grid-template-columns:1fr}.shs-class-heading{display:block}.shs-big-price{margin-top:10px}.shs-two,.shs-facts{grid-template-columns:1fr}}


/* Branding variables are injected by the plugin from SHS Classes -> Settings. */
.shs-classes-grid,.shs-class-detail,.shs-brand-header{font-family:var(--shs-body-font);color:var(--shs-text)}
.shs-brand-header{background:var(--shs-bg);text-align:center;padding:18px 16px 8px;margin:0 auto 12px;max-width:1100px}
.shs-brand-logo{max-width:min(420px,80%);max-height:125px;width:auto;height:auto;object-fit:contain}
.shs-brand-name{font-family:var(--shs-heading-font);font-size:2rem;font-weight:900}
.shs-brand-tagline{margin-top:8px;color:var(--shs-muted);font-size:1rem}
.shs-class-card{background:var(--shs-card);border-color:var(--shs-border);border-radius:var(--shs-card-radius)}
.shs-card-body h3,.shs-class-heading h2,.shs-registration-panel h3{font-family:var(--shs-heading-font)}
.shs-price,.shs-big-price{color:var(--shs-primary)}
.shs-badge{background:var(--shs-accent);color:var(--shs-text)}
.shs-button{background:var(--shs-primary);border-radius:var(--shs-button-radius)}
.shs-meta,.shs-secure{color:var(--shs-muted)}
.shs-registration-panel{background:var(--shs-card);border-color:var(--shs-border);border-radius:var(--shs-card-radius)}
.shs-form input,.shs-form textarea{border-color:var(--shs-border);color:var(--shs-text)}
.shs-facts div{border-color:var(--shs-border);border-radius:var(--shs-button-radius)}
.shs-info-box{border-left-color:var(--shs-primary)}

/* v1.2 standalone class experience */
.shs-standalone-page{margin:0!important;background:var(--shs-bg)!important;color:var(--shs-text);font-family:var(--shs-body-font);min-height:100vh}
.shs-standalone-page #wpadminbar{display:none!important}
html:has(body.shs-standalone-page){margin-top:0!important}
.shs-standalone-shell{box-sizing:border-box;width:100%;min-height:100vh;padding:28px clamp(18px,4vw,64px) 56px;background:var(--shs-bg)}
.shs-standalone-shell>.shs-brand-header,.shs-standalone-shell>.shs-classes-grid,.shs-standalone-shell>.shs-class-detail,.shs-standalone-shell>.shs-notice{width:min(1280px,100%);box-sizing:border-box;margin-left:auto;margin-right:auto}
.shs-brand-header{background:var(--shs-cream);padding:28px 18px 18px;margin-bottom:26px;max-width:1280px;border-radius:0}
.shs-brand-logo{max-height:155px}
.shs-brand-tagline{font-weight:500}
.shs-class-card{box-shadow:0 8px 28px rgba(0,48,73,.08)}
.shs-card-body h3,.shs-class-heading h2,.shs-registration-panel h3,.shs-brand-name{font-weight:700;color:var(--shs-text)}
.shs-badge{background:var(--shs-accent);color:#fff}
.shs-button{transition:transform .12s ease,filter .12s ease}
.shs-button:not(.disabled):hover{filter:brightness(.96);transform:translateY(-1px)}
.shs-info-box{background:var(--shs-cream)}
@media(max-width:760px){.shs-standalone-shell{padding:16px 14px 36px}.shs-brand-header{padding:20px 12px 14px}.shs-brand-logo{max-height:115px}}
.shs-back-link{margin:0 0 14px}.shs-back-link a{color:var(--shs-accent);font-weight:600;text-decoration:none}.shs-back-link a:hover{text-decoration:underline}

.shs-class-hero{width:100%;margin:0 0 24px;border-radius:var(--shs-card-radius);overflow:hidden;background:var(--shs-card)}
.shs-class-hero img{display:block;width:100%;max-height:430px;object-fit:cover;object-position:center}
@media(max-width:760px){.shs-class-hero img{max-height:300px}}

.shs-confirmation-wrap{max-width:820px;margin:28px auto 50px;padding:0 16px;font-family:var(--shs-body-font);color:var(--shs-text)}
.shs-confirmation-card{background:var(--shs-card);border:1px solid var(--shs-border);border-radius:var(--shs-card-radius);padding:34px;box-shadow:0 8px 28px rgba(0,0,0,.07);text-align:center}
.shs-confirm-icon{width:72px;height:72px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;background:var(--shs-primary);color:#fff;font-size:38px;font-weight:800}
.shs-confirmation-card h2{font-family:var(--shs-heading-font);font-size:2rem;margin:8px 0 10px}
.shs-confirm-lead{font-size:1.08rem;color:var(--shs-muted);margin:0 auto 26px;max-width:620px}
.shs-confirm-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left;margin:24px 0}
.shs-confirm-summary>div{border:1px solid var(--shs-border);border-radius:10px;padding:12px 14px}
.shs-confirm-summary strong,.shs-confirm-summary span{display:block}
.shs-confirm-summary strong{font-size:.76rem;text-transform:uppercase;letter-spacing:.045em;color:var(--shs-muted);margin-bottom:4px}
.shs-confirm-actions{margin-top:26px}
@media(max-width:650px){.shs-confirm-summary{grid-template-columns:1fr}.shs-confirmation-card{padding:24px 18px}}
