/**
 * NuroSparx LMS — cart page, checkout and order complete.
 *
 * Ported 1:1 from the approved design reference.
 */

/* Distraction-free shell (checkout, order complete). */
body.nslms-focus-body{margin:0;background:#fff}
.nslms-focus.nslms-skin{min-height:100vh;background:#fff;display:flex;flex-direction:column}
.nslms-skin .nslms-focus-bar{height:72px;padding:0 max(24px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--nsf-line);background:#fff}
.nslms-skin .nslms-focus-badge{display:flex;align-items:center;gap:6px;color:var(--nsf-muted);font-size:12px;padding:0;border:0;font-weight:400}
.nslms-skin .nslms-focus-back{display:flex;align-items:center;gap:6px;color:var(--nsf-muted);font-size:12px}

/* Two-column checkout layout; the cart page shares it. */
.nslms-checkout-layout{width:min(1060px,calc(100% - 40px));margin:50px auto 80px;display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:70px}
.nslms-cart-page .nslms-checkout-layout{min-height:50vh}
.nslms-checkout-form h1{font-size:38px;margin:0 0 40px}
.nslms-checkout-form section{margin:0 0 38px}
.nslms-checkout-form h2,.nslms-order-summary h2{font-size:19px;margin:0 0 18px}
.nslms-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.nslms-skin .nslms-form-grid input,.nslms-skin .nslms-coupon-row input{display:block;width:100%;border:1px solid var(--nsf-line);border-radius:9px;background:#fff;padding:13px;margin-top:7px;color:var(--nsf-fg);font-size:14px;font-weight:400;height:auto;box-shadow:none}
.nslms-skin .nslms-form-grid input[aria-invalid=true]{border-color:var(--nsf-accent)}
.nslms-required{color:var(--nsf-accent)}
.nslms-account-hint{margin-top:14px;font-size:12px;color:var(--nsf-muted);line-height:1.6}
.nslms-step-actions{display:flex;gap:10px;margin-top:14px}
.nslms-account-row{display:flex;align-items:center;gap:12px;border:1px solid var(--nsf-line);border-radius:10px;padding:16px}
.nslms-account-row>div{display:grid;flex:1;min-width:0}
.nslms-account-row>div span{color:var(--nsf-muted);font-size:12px}

.nslms-methods{display:grid;gap:10px}
.nslms-skin .nslms-method{display:flex;gap:14px;border:1px solid var(--nsf-line);border-radius:10px;padding:20px;cursor:pointer;font-size:14px;font-weight:400}
.nslms-method:has(input:checked){border-color:var(--nsf-line)}
.nslms-methods:not(.is-single) .nslms-method:has(input:checked){border-color:var(--nsf-accent);box-shadow:0 0 0 1px var(--nsf-accent)}
.nslms-methods.is-single .nslms-method input{position:absolute;opacity:0;pointer-events:none}
.nslms-method>.nslms-icon{color:var(--nsf-ok);flex:none}
.nslms-method-body{display:grid}
.nslms-method-note{color:var(--nsf-muted);margin:5px 0 12px}
.nslms-pay-badges{display:flex;gap:7px;flex-wrap:wrap}
.nslms-pay-badges span{background:var(--nsf-line-soft);padding:5px 8px;border-radius:5px;font-size:12px}
.nslms-pay-note{display:flex;gap:14px;border:1px solid var(--nsf-line);border-radius:10px;padding:20px}
.nslms-pay-note>.nslms-icon{color:var(--nsf-muted);flex:none}
.nslms-pay-note--ok>.nslms-icon{color:var(--nsf-ok)}
.nslms-pay-note p{color:var(--nsf-muted);margin-top:5px}
.nslms-checkout .nslms-notice--error{background:var(--nsf-accent-soft);color:var(--nsf-accent)}

.nslms-order-summary{background:#eef0f4;border:1px solid var(--nsf-line);border-radius:12px;padding:24px;height:max-content;position:sticky;top:24px}
.nslms-cart-page .nslms-order-summary{top:96px}
.nslms-order-summary .nslms-lines{border-top:1px solid var(--nsf-line)}
.nslms-order-summary .nslms-line{grid-template-columns:64px minmax(0,1fr) auto;gap:10px;padding:14px 0;font-size:12px}
.nslms-order-summary .nslms-line-thumb{width:64px;border-radius:6px}
.nslms-order-summary .nslms-line-title{font-size:12px;font-weight:700}
.nslms-order-summary .nslms-line-sub{margin:4px 0 0}
.nslms-order-summary .nslms-line-price{margin-top:4px}
.nslms-order-summary .nslms-line-price .nslms-price-now{font-size:12px}
.nslms-coupon{margin:20px 0}
.nslms-coupon-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.nslms-skin .nslms-coupon-row input{margin:0;padding:11px}
.nslms-coupon-msg{margin-top:8px;font-size:12px;color:var(--nsf-ok)}
.nslms-coupon-msg.is-error{color:var(--nsf-accent)}
.nslms-coupon-msg button{color:inherit;text-decoration:underline;margin-left:6px}
.nslms-summary-totals .nslms-totals{display:block}
.nslms-summary-totals .nslms-totals>div{display:flex;justify-content:space-between;font-size:13px;margin:13px 0}
.nslms-summary-totals .nslms-totals dd{margin:0}
.nslms-summary-totals .nslms-totals .is-discount dd{color:var(--nsf-ok)}
.nslms-summary-totals .nslms-totals .is-total{border-top:1px solid var(--nsf-line);padding-top:15px;margin-top:15px;font-size:16px}
.nslms-summary-totals .nslms-totals .is-total dd{font-size:23px;font-weight:700}
.nslms-tax-note{display:block;color:var(--nsf-muted);text-align:right}
.nslms-skin .nslms-terms-check{display:flex;gap:9px;align-items:flex-start;line-height:1.5;margin-top:18px}
.nslms-terms-check a{color:var(--nsf-accent)}
.nslms-terms-check input{flex:none;margin-top:2px}
.nslms-skin .nslms-pay-btn{width:100%;margin-top:12px}
.nslms-secure-note{display:flex;justify-content:center;align-items:center;gap:5px;color:var(--nsf-muted);margin-top:12px}
.nslms-secure-note .nslms-icon{width:24px;height:24px}

.nslms-checkout-empty{width:min(680px,calc(100% - 40px));margin:80px auto}

/* Cart page */
.nslms-cart-lines .nslms-lines{border-top:1px solid var(--nsf-line)}
.nslms-cart-lines .nslms-empty{border-style:dashed}
.nslms-continue{display:inline-block;margin-top:24px;font-size:13px}

/* Order complete */
.nslms-complete{width:min(560px,calc(100% - 40px));margin:90px auto;text-align:center}
.nslms-complete-card{display:block}
.nslms-complete-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:#d7f5d7;color:var(--nsf-ok);margin:0 auto 22px}
.nslms-complete-icon .nslms-icon{width:34px;height:34px}
.nslms-complete-icon--pending{background:var(--nsf-line-soft);color:var(--nsf-muted)}
.nslms-complete-icon--bad{background:var(--nsf-accent-soft);color:var(--nsf-accent)}
.nslms-complete h1{font-size:44px;margin:8px 0 14px;line-height:1.15}
.nslms-complete-card>p:not(.nslms-eyebrow){color:var(--nsf-muted);line-height:1.65}
.nslms-complete-courses{margin:30px 0;display:grid;gap:12px}
.nslms-complete-courses .nslms-line{grid-template-columns:82px minmax(0,1fr) auto;text-align:left;align-items:center;gap:13px;padding:20px;border:1px solid var(--nsf-line);border-radius:12px}
.nslms-complete-courses .nslms-line-thumb{width:82px}
.nslms-complete-courses .nslms-line-title{font-size:14px;font-weight:700}
.nslms-complete-actions{display:grid;gap:12px;margin-top:20px}
.nslms-complete-actions .nslms-btn{width:100%}
.nslms-spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--nsf-line);border-top-color:var(--nsf-accent);animation:nslms-spin .8s linear infinite}

@media (max-width:1000px){.nslms-checkout-layout{gap:35px}}
@media (max-width:760px){
	.nslms-checkout-layout{display:flex;flex-direction:column;margin-top:30px}
	.nslms-checkout-form h1{font-size:32px}
	.nslms-form-grid{grid-template-columns:1fr}
	.nslms-order-summary{position:static}
	.nslms-complete{margin-top:50px}
	.nslms-complete h1{font-size:36px}
}
@media (max-width:420px){
	.nslms-skin .nslms-focus-bar{padding:0 15px}
	.nslms-focus-bar .nslms-logo{font-size:17px}
	.nslms-complete-courses .nslms-line{grid-template-columns:auto 1fr}
}
