/* Shared purchase controls and the separate post-payment attendee form. */
.course-registration { border-top:1px solid var(--line); padding-top:20px; width:100%; }
.course-page .course-enrollment-card { display:grid; grid-template-columns:110px minmax(0,1fr); gap:20px 14px; padding:22px; }
.course-page .course-enrollment-card #product-images { align-self:start; }
.course-page .course-enrollment-card__copy { padding:0; }
.course-page .course-enrollment-card .product-price { font-size:28px; }
.course-page .course-enrollment-card .product-price-wrap { display:block; }
.course-page .course-enrollment-card .product-compare-price { display:block; font-size:11px; }
.course-page .course-enrollment-card .es-logistics-date { font-size:12px; line-height:1.6; margin-bottom:8px; }
.course-page .course-enrollment-card .course-enrollment-link { font-size:11px; padding-top:10px; margin-top:14px; }
.course-enrollment-card .course-registration { grid-column:1/-1; }
.course-page .course-registration p { font-size:12px; line-height:1.6; }
.course-page .course-registration .registration-unit-price { margin:0 0 15px; color:var(--muted); }
.registration-label { display:block; font-size:12px; font-weight:600; margin-bottom:9px; }
.registration-selection { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.registration-stepper { display:flex; height:44px; border:1px solid #bbb9af; background:white; }
.registration-stepper button { border:0; background:none; padding:0; width:34px; color:var(--ink); font-size:20px; }
.registration-stepper button:hover:not(:disabled) { background:var(--cream); }
.registration-stepper button:disabled { color:#b2b1aa; cursor:default; }
.registration-stepper input { width:45px; padding:0 2px; text-align:center; border:0; background:white; color:var(--ink); font-size:16px; appearance:textfield; -moz-appearance:textfield; }
.registration-stepper input::-webkit-inner-spin-button,.registration-stepper input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.registration-total { text-align:right; }
.registration-total span { display:block; font-size:10px; text-transform:uppercase; letter-spacing:.07em; color:var(--muted); }
.registration-total output { display:block; font-size:17px; font-weight:600; }
.course-page .course-registration .registration-help { font-size:11px; color:var(--muted); margin:13px 0 18px; }
.registration-submit { width:100%; min-height:48px; }
.registration-submit:disabled { opacity:.55; }
.course-page .course-registration .registration-test-note { text-align:center; font-size:10px; margin:10px 0 0; color:var(--muted); }
.course-page .course-registration .registration-status { font-size:11px; margin:14px 0 0; }
.registration-status:empty { display:none; }
.course-page .es-cta-inner .course-registration { border:1px solid var(--line); padding:25px; margin:30px 0; }
.course-page .course-hero__actions .btn { background:transparent; color:var(--red); }
.course-page .course-hero__actions .btn:hover { background:var(--red); color:white; }
.course-overview__media--no-video { grid-template-columns:1fr; }
.course-overview__media--no-video .course-includes { border-left:0; padding-left:0; }
.course-overview__media--no-video .es-includes-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 30px; }
.registration-completion { max-width:900px; padding:65px 32px 90px; margin:auto; }
.registration-completion h1 { font-size:clamp(40px,5vw,62px); margin-bottom:24px; }
.registration-intro { max-width:650px; }
.registration-steps { font-size:12px; color:var(--muted); margin:24px 0 40px; }
.registration-steps span { padding:0 10px; }
.registration-steps strong { color:var(--red); font-weight:500; }
.registration-test-banner { font-size:12px; border-left:3px solid var(--red); padding:10px 16px; background:var(--cream); }
.registration-order { margin:28px 0; padding:24px; border:1px solid var(--line); }
.registration-order strong { display:block; font:500 28px/1.3 var(--serif); margin-bottom:10px; }
.registration-order span { font-size:14px; }
.attendee-form { margin:32px 0; }
.attendee-form fieldset { padding:24px; margin:22px 0; border:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.attendee-form legend { padding:0 8px; font-size:13px; font-weight:600; }
.attendee-form label { display:block; font-size:12px; font-weight:500; margin-bottom:8px; }
.attendee-form input { width:100%; border:1px solid #b9b7af; border-radius:0; padding:12px; font-size:16px; background:white; color:var(--ink); }
.attendee-form .registration-help { font-size:13px; color:var(--muted); }
.attendee-form [role=status] { margin-top:20px; }
@media(max-width:820px) {
 .course-page .course-enrollment-card { max-width:540px; justify-self:start; grid-template-columns:135px minmax(0,1fr); gap:22px; padding:24px; }
 .course-page .course-enrollment-card .product-price { font-size:32px; }
}
@media(max-width:540px) {
 .course-page .course-enrollment-card { grid-template-columns:100px minmax(0,1fr); gap:18px; padding:20px; }
 .course-page .course-enrollment-card .product-price { font-size:27px; }
 .course-page .course-enrollment-card .es-logistics-date { font-size:11px; }
 .course-page .es-cta-inner .course-registration { padding:20px; }
 .registration-total output { font-size:16px; }
 .course-overview__media--no-video .es-includes-grid { grid-template-columns:1fr; }
 .registration-completion { padding:40px 20px 60px; }
 .registration-steps { font-size:10px; }
 .registration-steps span { padding:0 4px; }
 .attendee-form fieldset { grid-template-columns:1fr; gap:16px; padding:20px; }
}
