/* ICIVIL v67 - one cart surface shared by public storefront and student dashboard */
.ic67-checkout{background:var(--surface,#fff);border:1px solid #e0e8f5;border-radius:20px;padding:22px;margin:18px auto;max-width:980px;color:var(--ink,#172a49);box-sizing:border-box;}
.ic67-checkout-heading h2{font-size:1.24rem;margin:0 0 8px;font-weight:800}.ic67-checkout-heading p,.ic67-small{color:#64748b;font-size:.89rem;line-height:1.8}
.ic67-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.ic67-profile-fields label,.ic67-card-result label{display:flex;flex-direction:column;gap:8px;font-weight:700}.ic67-profile-fields input,.ic67-profile-fields select,.ic67-card-result input{box-sizing:border-box;width:100%;min-width:0;min-height:48px;border:1px solid #cad5e7;border-radius:12px;padding:8px 12px;background:var(--surface,#fff);color:inherit;font:inherit}
.ic67-primary{display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:12px;background:#4320ea;color:white;padding:14px 20px;min-height:50px;width:100%;font:inherit;font-weight:700;cursor:pointer}.ic67-primary:disabled{opacity:.5;cursor:wait}
.ic67-alert{background:#fff2f2;border:1px solid #ffcece;border-radius:12px;padding:12px 16px;margin:14px 0;color:#a12a2a;font-size:.92rem;line-height:1.8}
.ic67-price-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid #e5ebf5}.ic67-price-row:last-child{border-bottom:0;font-weight:800;font-size:1.08rem}.ic67-payment-summary{margin:18px 0}
.ic67-payment-methods{margin:18px 0;padding:0;border:0;min-width:0}.ic67-payment-methods legend{font-weight:800;margin-bottom:10px}.ic67-payment-methods>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.ic67-method{display:flex;gap:10px;align-items:center;border:1px solid #cad5e7;border-radius:14px;min-height:56px;padding:10px 14px;cursor:pointer;box-sizing:border-box}.ic67-method:has(input:checked){border-color:#5434ef;background:rgba(84,52,239,.07)}.ic67-method input{accent-color:#5434ef;width:17px;height:17px}
.ic67-card-result{margin-top:18px}.ic67-card-result form{display:grid;gap:14px;margin-top:16px}
.ic67-in-panel .topbar,.ic67-in-panel .sf62-cart-head{display:none!important}.ic67-in-panel .sf62-cart-shell{width:100%;max-width:none;padding:14px;margin:0;min-height:auto}.ic67-in-panel .sf62-cart-bottom{position:static}
.ic67-panel-cart-dialog{direction:rtl;max-width:min(1030px,96vw);width:96vw;height:min(92vh,920px);max-height:92vh;padding:0;border:0;border-radius:20px;overflow:hidden;background:var(--surface,#fff);box-shadow:0 22px 80px #0005;color:var(--ink,#182f54)}.ic67-panel-cart-dialog::backdrop{background:rgba(15,28,48,.62)}.ic67-panel-cart-head{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #e1e8f2;box-sizing:border-box}.ic67-panel-cart-head button{font:inherit;border:0;border-radius:11px;min-width:40px;min-height:40px;background:#f1f4fa;color:#152743;cursor:pointer}.ic67-panel-cart-dialog iframe{border:0;display:block;width:100%;height:calc(100% - 60px);background:transparent}
.sf62-cart-page .site-login-dialog{max-height:min(90dvh,720px);overflow:hidden}.sf62-cart-page .site-login-dialog iframe{max-height:calc(90dvh - 20px)}
@media(max-width:640px){.ic67-checkout{margin:14px 10px;padding:16px;border-radius:16px}.ic67-profile-fields,.ic67-payment-methods>div{grid-template-columns:1fr}.ic67-panel-cart-dialog{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border-radius:0;margin:0}.ic67-in-panel .sf62-cart-shell{padding:12px}}
@media(prefers-reduced-motion:reduce){.ic67-checkout *{scroll-behavior:auto!important}}

/* Keep login iframe sized to visible step, not 680px tall. */
.sf62-cart-page .site-login-dialog{height:auto!important;min-height:0!important;max-height:calc(100dvh - 28px);padding:0!important;overflow:hidden}
.sf62-cart-page .site-login-dialog iframe{height:390px;min-height:0;max-height:calc(100dvh - 30px);display:block}
.embedded-auth .auth-dialog{height:auto!important;min-height:0!important;max-height:calc(100dvh - 24px);overflow:auto!important;}
.embedded-auth .auth-card,.embedded-auth .auth-side,.embedded-auth .auth-layout{min-height:0!important}
