.purchase-page { min-height:100vh; background:radial-gradient(ellipse at top left,#193e30,#081a14 65%); }
.purchase-header { max-width:1160px; margin:auto; padding:22px 28px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid #a8b89b26; }
.purchase-back { color:#c1cbb9; text-decoration:none; font-size:13px; padding:10px 0; }
.purchase-back:hover { color:var(--c-lime); }
.purchase-shell { width:min(100% - 48px,1040px); margin:0 auto; padding:36px 0 64px; }
.purchase-steps { display:flex; justify-content:center; gap:32px; list-style:none; margin:0 0 32px; padding:0; }
.purchase-steps li { display:flex; align-items:center; gap:9px; font-size:12px; color:#a8b89b; }
.purchase-steps span { display:grid; place-items:center; width:28px; height:28px; border:1px solid #a8b89b50; border-radius:50%; font:10px var(--ff-mono); }
.purchase-steps [aria-current] { color:var(--c-ivory); font-weight:700; }
.purchase-steps [aria-current] span { background:var(--c-lime); color:var(--c-deep); border-color:var(--c-lime); }
.purchase-layout { display:grid; grid-template-columns:.85fr 1.15fr; align-items:start; gap:28px; }
.purchase-layout > * { min-width:0; }
.purchase-card,.course-panel { background:var(--c-forest); border:1px solid #a8b89b33; border-radius:20px; }
.purchase-card { padding:clamp(24px,3.5vw,40px); box-shadow:0 18px 60px #00000018; }
.purchase-eyebrow { display:block; font-family:var(--ff-mono); color:var(--c-lime); font-size:10px; letter-spacing:.12em; margin-bottom:12px; }
.purchase-card h1 { font-size:clamp(28px,3.4vw,38px); letter-spacing:-.04em; line-height:1.16; margin-bottom:12px; }
.purchase-intro { color:#c1cbb9; font-size:14px; margin-bottom:26px; }
.course-panel { overflow:hidden; }
.course-photo { position:relative; height:220px; }
.course-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent,#102b22); }
.course-photo img { width:100%; height:100%; object-fit:cover; }
.course-photo-label { position:absolute; z-index:1; bottom:20px; left:28px; font:10px var(--ff-mono); letter-spacing:.18em; color:var(--c-lime); }
.course-details { padding:12px 28px 28px; }
.course-details h2 { font-size:clamp(20px,2.2vw,25px); letter-spacing:-.04em; overflow-wrap:anywhere; }
.course-description { color:#c1cbb9; font-size:14px; margin-top:12px; }
.course-facts { list-style:none; padding:0; margin:24px 0; font-size:13px; }
.course-facts li { margin-top:10px; display:flex; align-items:center; gap:10px; }
.course-facts li::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--c-lime); }
.purchase-summary { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px; border-top:1px solid #a8b89b33; padding-top:20px; font-size:13px; }
.purchase-price { font-size:28px; letter-spacing:-.04em; color:var(--c-lime); white-space:nowrap; }
.purchase-event { font-size:12px; color:#c1cbb9; margin-bottom:22px; }
.purchase-event strong { display:block; color:var(--c-ivory); margin-bottom:12px; line-height:1.7; }
.purchase-event p { color:var(--c-lime); font-weight:600; margin-bottom:4px; }
.purchase-event address { font-style:normal; font-size:11px; line-height:1.7; }
.purchase-contact { margin-top:28px; text-align:center; color:#b8c6ae; font-size:12px; }
.purchase-contact div { display:flex; justify-content:center; flex-wrap:wrap; gap:8px 24px; margin-top:8px; }
.purchase-contact a { color:var(--c-ivory); text-decoration:underline; text-underline-offset:4px; padding:8px 0; overflow-wrap:anywhere; }
.purchase-contact a:hover { color:var(--c-lime); }
.purchase-card label { display:block; font-weight:600; font-size:13px; margin:18px 0 8px; }
.purchase-card input { width:100%; min-height:50px; background:var(--c-deep); color:var(--c-ivory); border:1px solid #a8b89b66; border-radius:9px; padding:12px 14px; font:inherit; font-size:16px; transition:border-color .15s; }
.purchase-card input:hover { border-color:#c1cbb9; }
.purchase-card input::placeholder { color:#9fae96; }
.purchase-card :focus-visible,.purchase-header a:focus-visible { outline:3px solid var(--c-lime); outline-offset:4px; }
.purchase-hint { color:#b8c6ae; font-size:12px; line-height:1.6; margin-top:8px; }
.purchase-notice { margin:24px 0 0; padding:16px 18px; border-left:2px solid var(--c-lime); background:#d2ec8708; border-radius:0 8px 8px 0; font-size:13px; text-align:left; }
.purchase-notice strong { display:block; margin-bottom:5px; }
.purchase-notice p { color:#c1cbb9; }
.purchase-card .btn { min-height:52px; margin-top:24px; text-align:center; white-space:normal; font-size:14px; padding:14px 20px; }
.purchase-card button { cursor:pointer; font-family:inherit; }
.purchase-card button:disabled { opacity:.6; cursor:wait; }
.purchase-message { font-size:13px; overflow-wrap:anywhere; }
.purchase-message:not(:empty) { margin-top:16px; padding:12px 14px; border-radius:8px; background:#d2ec870a; }
.purchase-message[data-error="true"] { color:#ffcfb8; background:#b779561a; }
.purchase-footnote { margin-top:14px; color:#b8c6ae; font-size:11px; line-height:1.7; }
.payment-provider { margin-top:22px; color:#b8c6ae; font-size:11px; text-align:center; }
.payment-provider strong { color:var(--c-ivory); }
.purchase-shell--status { max-width:660px; padding-top:44px; }
.status-card { text-align:center; padding:clamp(24px,5vw,48px); }
.status-icon { display:grid; place-items:center; width:72px; height:72px; margin:0 auto 24px; border-radius:50%; color:var(--c-lime); background:#d2ec8710; border:1px solid #d2ec8730; }
.status-icon svg { width:36px; height:36px; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.status-check,.status-warning,.status-envelope { display:none; }
.status-card[data-state="paid"] .status-clock,.status-card[data-state="error"] .status-clock,.status-card[data-state="unknown"] .status-clock { display:none; }
.status-card[data-state="paid"] .status-check,.status-card[data-state="error"] .status-warning,.status-card[data-state="unknown"] .status-envelope { display:initial; }
.status-card[data-state="paid"] .status-icon { color:var(--c-deep); background:var(--c-lime); }
.status-card[data-state="error"] .status-icon { color:#ffcfb8; background:#b779561a; border-color:#b7795670; }
.status-card[data-state="error"] .purchase-eyebrow { color:#ffcfb8; }
.status-card .purchase-intro { margin-bottom:0; }
.next-step { margin-top:28px; border-top:1px solid #a8b89b33; padding-top:26px; }
.next-step h2 { font-size:21px; letter-spacing:-.03em; margin-bottom:8px; }
.next-step p { font-size:13px; color:#c1cbb9; }
.status-card .purchase-notice { margin-top:18px; }
.status-card #email-status { margin-top:20px; }
.purchase-order { font-family:var(--ff-mono); font-size:10px; color:var(--c-sage); overflow-wrap:anywhere; margin-top:28px; }
.purchase-order:empty { display:none; }
.status-footer { text-align:center; color:var(--c-sage); font-size:11px; margin-top:24px; }
[hidden] { display:none !important; }
@media (max-width:760px) {
 .purchase-header { padding:16px 20px; flex-wrap:wrap; gap:4px 16px; }
 .purchase-shell { width:min(100% - 32px,540px); padding-top:24px; }
 .purchase-layout { grid-template-columns:1fr; gap:20px; }
 .course-photo { display:none; }
 .course-details { padding:22px 24px; }
 .course-details .purchase-eyebrow,.course-description { display:none; }
 .course-details h2 { font-size:21px; }
 .course-facts { display:flex; flex-wrap:wrap; gap:6px 16px; margin:10px 0 16px; font-size:11px; }
 .course-facts li { margin:0; gap:6px; }
 .purchase-summary { padding-top:14px; }
 .purchase-price { font-size:25px; }
 .purchase-steps { gap:16px; margin-bottom:24px; }
 .purchase-steps li { gap:6px; font-size:10px; }
 .purchase-steps span { width:23px; height:23px; font-size:9px; flex-shrink:0; }
}
@media (max-width:360px) { .purchase-steps { gap:10px; } .purchase-steps li { flex-direction:column; } }
