.enroll-modal{--em-bg:#ffffff;--em-surface-alt:#f1f5f9;--em-surface-hover:#f8fafc;--em-border:rgba(0,0,0,0.10);--em-border-strong:rgba(0,0,0,0.18);--em-text:#0f172a;--em-text-muted:#64748b;--em-text-subtle:#94a3b8;--em-accent:#920000;--em-accent-soft:rgba(146,0,0,0.12);--em-shadow-lg:0 10px 30px rgba(0,0,0,0.10);--em-shadow-sm:0 2px 8px rgba(100,116,139,0.12),0 1px 3px rgba(100,116,139,0.08);position:fixed;inset:0;z-index:var(--z-modal,1000);display:flex;align-items:flex-end;justify-content:center;padding:0;font-family:var(--font-sans);color:var(--em-text);-webkit-font-smoothing:antialiased}@media (min-width:640px){.enroll-modal{align-items:center;padding:1rem}}.enroll-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.65);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.enroll-modal__panel{position:relative;z-index:10;display:flex;max-height:min(92vh,720px);width:100%;max-width:32rem;flex-direction:column;overflow:hidden;border:1px solid var(--em-border-strong);border-radius:1rem 1rem 0 0;background:var(--em-bg);box-shadow:var(--em-shadow-lg)}@media (min-width:640px){.enroll-modal__panel{border-radius:1rem}}.enroll-modal__header{position:relative;flex-shrink:0;border-bottom:1px solid var(--em-border);padding:1rem 1.25rem;background:var(--em-bg)}@media (min-width:640px){.enroll-modal__header{padding:1.125rem 1.5rem}}.enroll-modal__header-glow{display:none}.enroll-modal__header-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.enroll-modal__header-brand{display:flex;min-width:0;align-items:flex-start;gap:.75rem}.enroll-modal__icon-wrap{display:flex;height:2.5rem;width:2.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:.75rem;background:var(--em-accent-soft);color:var(--em-accent);border:1px solid rgba(234,124,0,.22)}.enroll-modal__eyebrow{font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--em-accent)}.enroll-modal__title{margin-top:.125rem;font-size:1.125rem;font-weight:700;line-height:1.25;letter-spacing:-.02em;color:var(--em-text)}.enroll-modal__close{display:flex;height:2rem;width:2rem;flex-shrink:0;align-items:center;justify-content:center;border:none;border-radius:.375rem;background:var(--em-surface-alt);color:var(--em-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.enroll-modal__close:hover:not(:disabled){background:#e2e8f0;color:var(--em-text)}.enroll-modal__close:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(146,0,0,.35)}.enroll-modal__close:disabled{opacity:.5;cursor:not-allowed}.enroll-modal__form{display:flex;min-height:0;flex:1;flex-direction:column}.enroll-modal__body{min-height:0;flex:1;overflow-y:auto;padding:1.25rem;background:var(--em-bg)}@media (min-width:640px){.enroll-modal__body{padding:1.25rem 1.5rem}}.enroll-modal__course{display:flex;gap:1rem;margin-bottom:1.25rem;border-radius:.75rem;border:1px solid var(--em-border);background:var(--em-surface-hover);padding:.875rem}.enroll-modal__thumb{position:relative;height:4rem;width:6rem;flex-shrink:0;overflow:hidden;border-radius:.5rem;border:1px solid var(--em-border)}.enroll-modal__category{font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--em-accent)}.enroll-modal__course-title{margin-top:.125rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.875rem;font-weight:600;line-height:1.35;color:var(--em-text)}.enroll-modal__free-badge{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;background:rgba(34,197,94,.12);padding:.125rem .625rem;font-size:.75rem;font-weight:700;color:#15803d;border:1px solid rgba(34,197,94,.25)}.enroll-modal__price{font-size:1rem;font-weight:700;color:var(--em-text)}.enroll-modal__instructor{font-size:.75rem;color:var(--em-text-muted)}.enroll-modal__lead{margin-bottom:1.25rem;font-size:.875rem;line-height:1.6;color:var(--em-text-muted)}.enroll-modal__summary{margin-bottom:1.25rem;overflow:hidden;border-radius:.75rem;border:1px solid var(--em-border);background:var(--em-surface-hover)}.enroll-modal__summary-head{border-bottom:1px solid var(--em-border);background:var(--em-surface-alt);padding:.625rem 1rem}.enroll-modal__summary-head p{font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--em-text-muted)}.enroll-modal__summary-rows{padding:.75rem 1rem;font-size:.875rem}.enroll-modal__summary-row{display:flex;justify-content:space-between;color:var(--em-text-muted)}.enroll-modal__summary-row+.enroll-modal__summary-row{margin-top:.5rem}.enroll-modal__summary-row span:last-child{font-weight:500;color:var(--em-text)}.enroll-modal__summary-row--discount{color:#15803d}.enroll-modal__summary-row--discount span:last-child{font-weight:600;color:#15803d}.enroll-modal__summary-total{display:flex;justify-content:space-between;margin-top:.625rem;padding-top:.625rem;border-top:1px solid var(--em-border);font-size:1rem;font-weight:700;color:var(--em-text)}.enroll-modal__summary-total span:last-child{color:var(--em-accent)}.enroll-modal__payment-banner{display:flex;align-items:flex-start;gap:.875rem;margin-bottom:1rem;padding:1rem;border-radius:.75rem;border:1px solid rgba(146,0,0,.18);background:linear-gradient(135deg,rgba(146,0,0,.06),rgba(146,0,0,.02))}.enroll-modal__payment-banner-icon{display:flex;height:2.5rem;width:2.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:.75rem;background:var(--em-accent-soft);color:var(--em-accent);border:1px solid rgba(146,0,0,.15)}.enroll-modal__payment-banner-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--em-text-muted)}.enroll-modal__payment-banner-amount{margin-top:.125rem;font-size:1.5rem;font-weight:800;line-height:1.2;color:var(--em-accent)}.enroll-modal__payment-banner-note{margin-top:.25rem;font-size:.75rem;color:var(--em-text-subtle)}.enroll-modal__payment-info{margin-bottom:1rem;border-radius:.75rem;border:1px solid var(--em-border);background:var(--em-bg);overflow:hidden}.enroll-modal__payment-info-title{padding:.625rem 1rem;border-bottom:1px solid var(--em-border);background:var(--em-surface-alt);font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--em-text-muted)}.enroll-modal__payment-info-grid{margin:0;padding:.75rem 1rem}.enroll-modal__payment-info-row{display:grid;grid-template-columns:minmax(5.5rem,7rem) 1fr;gap:.75rem;padding:.375rem 0;font-size:.875rem}.enroll-modal__payment-info-row+.enroll-modal__payment-info-row{border-top:1px solid rgba(0,0,0,.05);padding-top:.625rem;margin-top:.25rem}.enroll-modal__payment-info-row dt{margin:0;font-weight:600;color:var(--em-text-muted)}.enroll-modal__payment-info-row dd{margin:0;font-weight:500;color:var(--em-text);text-align:right}.enroll-modal__includes{list-style:none;margin:0 0 1rem;padding:.875rem 1rem;border-radius:.75rem;border:1px solid var(--em-border);background:var(--em-surface-hover)}.enroll-modal__includes li{display:flex;align-items:flex-start;gap:.625rem;font-size:.8125rem;line-height:1.45;color:var(--em-text-muted)}.enroll-modal__includes li+li{margin-top:.5rem}.enroll-modal__includes li svg{margin-top:.125rem;color:var(--em-accent)}.enroll-modal__alert{display:flex;gap:.625rem;margin-bottom:1.25rem;border-radius:.75rem;padding:.75rem .875rem;font-size:.875rem}.enroll-modal__alert--error{border:1px solid rgba(239,68,68,.3);background:rgba(239,68,68,.08);color:#b91c1c}.enroll-modal__label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:600;color:var(--em-text)}.enroll-modal__label-optional,.enroll-modal__label-required{margin-left:.25rem;font-weight:400}.enroll-modal__label-optional{color:var(--em-text-muted)}.enroll-modal__label-required{color:var(--em-accent)}.enroll-modal__coupon-row{display:flex;gap:.75rem;align-items:stretch}.enroll-modal__coupon-picker--full{flex:1;min-width:0}.enroll-modal__coupon-picker-btn--select{width:100%;justify-content:space-between;gap:.5rem;padding:0 .75rem;border:1px solid var(--em-border-strong);background:var(--em-bg);color:var(--em-text)}.enroll-modal__coupon-picker-btn--select:hover:not(:disabled){background:var(--em-surface-hover);border-color:rgba(0,0,0,.22)}.enroll-modal__coupon-picker-btn--select:focus-visible{outline:none;border-color:var(--em-accent);box-shadow:0 0 0 3px rgba(234,124,0,.15)}.enroll-modal__coupon-picker-value{min-width:0;flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--em-text)}.enroll-modal__coupon-picker-value--placeholder{color:var(--em-text-subtle)}.enroll-modal__coupon-menu--fixed{position:fixed;top:auto;bottom:auto;left:auto;width:auto;max-height:none;z-index:2000}.enroll-modal__coupon-picker{position:relative;flex-shrink:0}.enroll-modal__coupon-picker-btn{display:inline-flex;height:2.5rem;align-items:center;gap:.375rem;border-radius:.5rem;border:1px solid var(--em-border-strong);background:var(--em-bg);padding:0 .625rem;font-size:.8125rem;font-weight:600;color:var(--em-text);cursor:pointer;transition:background .15s ease,border-color .15s ease}.enroll-modal__coupon-picker-btn:hover:not(:disabled){background:var(--em-surface-hover)}.enroll-modal__coupon-picker-btn:focus-visible{outline:none;border-color:var(--em-accent);box-shadow:0 0 0 3px rgba(234,124,0,.15)}.enroll-modal__coupon-picker-btn:disabled{cursor:not-allowed;opacity:.55;background:var(--em-surface-alt)}.enroll-modal__coupon-picker-label{display:none}@media (min-width:400px){.enroll-modal__coupon-picker-label{display:inline}}.enroll-modal__coupon-picker-chevron{width:1rem;height:1rem;flex-shrink:0;color:var(--em-text-subtle);transition:transform .15s ease}.enroll-modal__coupon-picker-chevron--open{transform:rotate(180deg);color:var(--em-accent)}.enroll-modal__coupon-menu{position:absolute;top:calc(100% + .375rem);left:0;z-index:40;width:min(18rem,calc(100vw - 3rem));max-height:14rem;margin:0;padding:.25rem;list-style:none;overflow-y:auto;border-radius:.5rem;border:1px solid var(--em-border-strong);background:var(--em-bg);box-shadow:var(--em-shadow-lg)}.enroll-modal__coupon-menu-item{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:.125rem;border:none;border-radius:.375rem;background:transparent;padding:.5rem .625rem;text-align:left;cursor:pointer;font-family:inherit;transition:background .12s ease}.enroll-modal__coupon-menu-item:hover:not(:disabled){background:var(--em-surface-alt)}.enroll-modal__coupon-menu-item:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(146,0,0,.35)}.enroll-modal__coupon-menu-item:disabled{cursor:not-allowed;opacity:.5}.enroll-modal__coupon-menu-item[aria-selected=true]{background:var(--em-accent-soft)}.enroll-modal__coupon-menu-code{font-family:var(--font-mono,ui-monospace,monospace);font-size:.8125rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--em-accent)}.enroll-modal__coupon-menu-desc{font-size:.75rem;color:var(--em-text-muted)}.enroll-modal__coupon-menu-empty{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;font-size:.8125rem;color:var(--em-text-muted)}.enroll-modal__input{height:2.5rem;min-width:0;flex:1;border-radius:.5rem;border:1px solid var(--em-border-strong);background:var(--em-bg);padding:0 .75rem;font-size:.875rem;color:var(--em-text);transition:border-color .15s ease,box-shadow .15s ease}.enroll-modal__input::placeholder{color:var(--em-text-subtle)}.enroll-modal__input:focus{outline:none;border-color:var(--em-accent);box-shadow:0 0 0 3px rgba(234,124,0,.15)}.enroll-modal__input:disabled{cursor:not-allowed;opacity:.6;background:var(--em-surface-alt)}.enroll-modal__apply-btn{display:inline-flex;height:2.5rem;flex-shrink:0;min-width:5.75rem;align-items:center;justify-content:center;border-radius:.5rem;border:1px solid var(--em-border-strong);background:var(--em-surface-alt);padding:0 1rem;font-size:.875rem;font-weight:600;color:var(--em-text);cursor:pointer;transition:background .15s ease,border-color .15s ease}.enroll-modal__apply-btn:hover:not(:disabled){background:#e2e8f0;border-color:rgba(0,0,0,.22)}.enroll-modal__apply-btn:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(146,0,0,.35)}.enroll-modal__apply-btn:disabled{cursor:not-allowed;opacity:.5}.enroll-modal__field-msg{display:flex;align-items:flex-start;gap:.375rem;margin-top:.5rem;font-size:.875rem;color:var(--em-text-muted)}.enroll-modal__field-msg--error{color:#b91c1c}.enroll-modal__field-msg--success{font-weight:500;color:#15803d}.enroll-modal__footer{display:flex;flex-shrink:0;flex-direction:column-reverse;gap:.5rem;border-top:1px solid var(--em-border);background:var(--em-bg);padding:1rem 1.25rem}@media (min-width:640px){.enroll-modal__footer{flex-direction:row;justify-content:flex-end;padding:1rem 1.5rem}}