.spmb-page{--spmb-navy:#100b91;--spmb-pink:#fff0f9;--spmb-pink-2:#fde7f5;--spmb-text:#242424;max-width:1065px;margin:0 auto;padding:26px 28px 70px;background:var(--spmb-pink);color:var(--spmb-text);font-family:inherit;box-sizing:border-box}.spmb-page *{box-sizing:border-box}
.spmb-hero{text-align:center;padding:26px 20px 24px}.spmb-hero h1{margin:0;color:var(--spmb-navy);font-size:30px;line-height:1.2;font-weight:800;text-transform:uppercase}.spmb-school-name{margin-top:13px;font-size:16px;color:#4d4d58}.spmb-academic-year{font-size:14px;color:#696974;margin-top:3px}.spmb-hero p{margin:9px auto 0;max-width:760px;color:#666;font-size:14px}
.spmb-waves{padding:0 16px 24px}.spmb-wave-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.spmb-wave-card{position:relative;background:#fff;border-radius:15px;padding:35px 34px 27px;text-align:center;min-height:294px;box-shadow:0 10px 25px rgba(16,11,145,.04);display:flex;flex-direction:column;align-items:center}.spmb-wave-featured{border:2px solid var(--spmb-navy)}.spmb-wave-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--spmb-navy);color:#fff;border-radius:20px;padding:5px 25px;font-size:12px;font-weight:800}.spmb-wave-card h2{color:var(--spmb-navy);font-size:22px;margin:5px 0 13px;font-weight:800}.spmb-wave-date{font-size:13px;color:#666;margin-bottom:15px}.spmb-wave-price{display:flex;align-items:baseline;justify-content:center;gap:8px;color:#111;margin-bottom:8px}.spmb-wave-price span{font-size:16px;font-weight:800;color:#888}.spmb-wave-price strong{font-size:32px;letter-spacing:.2px}.spmb-wave-note{font-size:11px;font-style:italic;color:#e84486;min-height:18px}.spmb-wave-status{font-size:12px;color:#777;margin-top:6px}.spmb-status-dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:5px;background:#bbb}.spmb-status-open{background:#42a84d}.spmb-status-upcoming{background:#e9a21a}.spmb-status-closed{background:#d84b4b}.spmb-wave-action{margin-top:auto;padding-top:14px}.spmb-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;background:var(--spmb-navy);border:2px solid var(--spmb-navy);color:#fff!important;border-radius:30px;padding:11px 27px;font-size:13px;font-weight:800;transition:.2s}.spmb-button:hover{opacity:.9;transform:translateY(-1px)}.spmb-wave-card:not(.spmb-wave-featured) .spmb-button{background:#fff;color:var(--spmb-navy)!important}.spmb-button-disabled{opacity:.5;cursor:not-allowed;background:#eee!important;color:#777!important;border-color:#ddd!important}
.spmb-cost-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(260px,.72fr);gap:26px;padding:0 16px}.spmb-cost-list{background:#fff;border-radius:15px;padding:25px 28px;box-shadow:0 8px 22px rgba(16,11,145,.035)}.spmb-cost-list h2{margin:0;color:var(--spmb-navy);font-size:18px;font-weight:800}.spmb-divider{height:1px;background:#f0bfdc;margin:13px 0 3px}.spmb-component{display:flex;align-items:center;gap:9px;padding:12px 17px;border-bottom:1px solid #ececec;font-size:13px;color:#555}.spmb-check{color:#61a848;font-weight:900;font-size:16px}.spmb-empty{padding:15px 0;color:#888;font-size:13px}
.spmb-monthly-card{background:var(--spmb-navy);border-radius:15px;color:#fff;padding:42px 25px 32px;text-align:center;display:flex;flex-direction:column;justify-content:center;min-height:285px}.spmb-monthly-label{font-size:14px;font-weight:700;margin-bottom:18px}.spmb-monthly-price{font-size:26px;font-weight:900;line-height:1.2}.spmb-monthly-price small{font-size:12px;font-weight:500}.spmb-monthly-card p{font-size:12px;line-height:1.6;margin:16px 0 0}
.spmb-section{padding:25px 16px}.spmb-section>h2{color:var(--spmb-navy);font-size:24px}.spmb-info-list{display:grid;gap:10px}.spmb-info-item{background:#fff;border-radius:12px;padding:15px;display:flex;gap:15px}.spmb-info-item>span{min-width:34px;height:34px;background:#eeeaff;color:var(--spmb-navy);border-radius:9px;display:grid;place-items:center;font-weight:800}.spmb-info-item h3{margin:0 0 5px;font-size:16px}.spmb-info-item p{margin:0;color:#666;font-size:13px}.spmb-faq{display:grid;gap:8px}.spmb-faq details{background:#fff;border-radius:10px;padding:14px 17px}.spmb-faq summary{cursor:pointer;font-weight:700;color:#222}.spmb-faq details div{padding-top:10px;color:#666;font-size:13px}
@media(max-width:760px){.spmb-page{padding:18px 12px 50px}.spmb-hero h1{font-size:25px}.spmb-wave-grid,.spmb-cost-grid{grid-template-columns:1fr}.spmb-wave-card{min-height:0}.spmb-cost-grid,.spmb-waves{padding-left:5px;padding-right:5px}.spmb-monthly-card{min-height:220px}.spmb-wave-price strong{font-size:28px}}

.spmb-wave-slots{margin-top:14px;padding:10px 12px;border-radius:10px;background:#f0f7ff;color:#0b5ed7;text-align:center;font-size:14px}.spmb-wave-slots strong{font-size:20px}.spmb-slots-full{background:#fff0f0;color:#c62828}.spmb-wave-slot-note{margin-top:8px;font-size:13px;color:#667085;text-align:center}.spmb-button-disabled{cursor:default;opacity:.65}

/* v1.2.4: independent slot section + consistent card styling */
.spmb-content-card{display:flex;align-items:flex-start;gap:18px;padding:22px}
.spmb-content-card>span{flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:#eaf3ff;color:#0b5ed7;display:grid;place-items:center;font-weight:800}
.spmb-content-card>div{flex:1}
.spmb-content-card h3{margin:0 0 7px}
.spmb-content-card p{margin:0;color:#526071}
.spmb-slot-card .spmb-card-head{align-items:center}
.spmb-slot-number{font-size:34px;font-weight:800;line-height:1.1;margin:22px 0 6px;color:#0b5ed7}
.spmb-slot-number small{font-size:14px;font-weight:600;color:#526071}
.spmb-slot-capacity{font-weight:600;color:#526071!important}
.spmb-slot-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
@media(max-width:600px){.spmb-content-card{padding:18px}.spmb-slot-number{font-size:29px}}

.spmb-wave-grid-single{grid-template-columns:1fr}.spmb-wave-grid-single .spmb-wave-card{width:100%}


/* v1.2.6: detail biaya per gelombang */
.spmb-wave-fees{margin:20px 0 4px;padding:16px 18px;background:#f7f9fc;border:1px solid #e8edf4;border-radius:14px}
.spmb-wave-fees-title{font-size:14px;font-weight:800;color:#172b4d;margin-bottom:10px}
.spmb-wave-fee-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:9px 0;border-bottom:1px dashed #dfe5ec;font-size:14px;color:#526071}
.spmb-wave-fee-row:first-of-type{padding-top:0}
.spmb-wave-fee-row:last-child{border-bottom:0;padding-bottom:0}
.spmb-wave-fee-row strong{color:#172b4d;white-space:nowrap;font-weight:700}
@media(max-width:600px){.spmb-wave-fees{padding:14px}.spmb-wave-fee-row{font-size:13px;gap:10px}}

/* v1.2.7: DSP component amounts, total and rich text */
.spmb-component{align-items:flex-start}.spmb-component-name{flex:1;line-height:1.6}.spmb-component-price{white-space:nowrap;color:var(--spmb-navy);font-size:13px}.spmb-dsp-total{display:flex;justify-content:space-between;gap:15px;padding:17px;margin-top:5px;border-top:2px solid #e8d8e3;font-size:15px;font-weight:800;color:var(--spmb-navy)}.spmb-dsp-total strong{font-size:17px}.spmb-component-name p{margin:0}.spmb-component-name ul,.spmb-component-name ol{margin:5px 0 5px 20px}
@media(max-width:600px){.spmb-component{gap:7px;padding:11px 10px}.spmb-component-price{font-size:12px}.spmb-dsp-total{padding:15px 10px}}


/* v1.2.8: DSP tampil total saja */
.spmb-dsp-total-only{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;margin-top:10px;border-radius:14px;background:#f7f9fc;}
.spmb-dsp-total-only span{font-size:16px;font-weight:700;color:#26364a;}
.spmb-dsp-total-only strong{font-size:25px;font-weight:800;color:#0b5ed7;white-space:nowrap;}
@media(max-width:600px){.spmb-dsp-total-only{align-items:flex-start;flex-direction:column;gap:8px}.spmb-dsp-total-only strong{font-size:22px}}

/* v1.2.9: DSP list without per-item price, total only */
.spmb-dsp-components-list .spmb-component{align-items:flex-start}.spmb-dsp-components-list .spmb-component-name{flex:1}.spmb-dsp-components-list .spmb-component-price{display:none}


/* v1.3.2: perbaikan catatan gelombang, ikon dropdown FAQ, dan warna persyaratan/alur */
.spmb-wave-note{width:100%;line-height:1.6;text-align:center;margin-top:8px}
.spmb-wave-note p{margin:0 0 6px;text-align:center}.spmb-wave-note p:last-child{margin-bottom:0}
.spmb-info-item h3{color:var(--spmb-navy);font-size:16px;font-weight:800}
.spmb-info-item p{color:#526071}
.spmb-faq details summary{list-style:none;position:relative;padding-right:30px;color:var(--spmb-navy);font-weight:800}
.spmb-faq details summary::-webkit-details-marker{display:none}
.spmb-faq details summary::after{content:'\25BE';position:absolute;right:2px;top:50%;transform:translateY(-50%);font-size:15px;color:var(--spmb-navy);transition:transform .2s ease}
.spmb-faq details[open] summary::after{transform:translateY(-50%) rotate(180deg)}

/* v1.3.4: small DSP note */
.spmb-dsp-note{margin:10px 2px 0;color:#7a8491;font-size:12px;line-height:1.6;font-style:italic}
