/* Quiet focus, compact payment explanations, and one calendar shared with the course. */
.enrolment-dialog{width:min(1020px,calc(100vw - 32px))}
.enrolment-form :is(input,select,textarea){box-sizing:border-box;width:100%;min-width:0;border:1px solid #d9dcd7;border-radius:0;background:#f7f8f5;color:var(--ink);font:400 16px/1.3 Reading;padding:10px 12px;transition:background .18s,border-color .18s}
.enrolment-form :is(input,select,textarea):focus{outline:none!important;box-shadow:none!important;background:#ebede8;border-color:#92988d}
.enrolment-form :is(input,select,textarea):focus-visible{border-bottom:2px solid var(--ink)}
.enrolment-form :is(input,select){height:43px}
.enrolment-form select{padding-right:26px}
.enrolment-summary{padding:44px 28px 24px}
.enrolment-summary h3{margin-bottom:12px}
.enrolment-summary .next-course-date{margin:12px 0 8px}
.enrolment-summary .next-course-date strong{display:block;font-size:20px;line-height:1.35}
.enrolment-summary .course-countdown{font-size:12px;margin:4px 0 12px;color:#50564c}
.enrolment-summary .enrolment-deposit{font-size:15px!important;line-height:1.45;margin:14px 0}
.enrolment-payments{display:block;margin-top:14px}
.payment-choices{display:flex;gap:5px;margin-bottom:10px}
.payment-choices button{flex:1;border:1px solid #d4d8cf;background:transparent;padding:9px 4px;font:600 12px/1.2 Reading;color:var(--ink);cursor:pointer}
.payment-choices button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}
.payment-choices button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.enrolment-payments [data-payment-detail]{font-size:13px;line-height:1.45;min-height:57px;margin:0}
.enrolment-payments [hidden]{display:none!important}
.enrolment-summary .enrolment-next-step{font-size:13px;margin:12px 0 0}
@media(max-width:650px),(max-height:580px){
 .enrolment-layout{display:block}.enrolment-dialog{width:min(580px,calc(100vw - 20px))}
 .enrolment-close{position:absolute;top:10px;right:10px;margin:0;width:32px;height:32px}
 .enrolment-switch{display:flex;gap:8px;padding:10px 50px 10px 18px;border-bottom:1px solid #ddd}
 .enrolment-dialog[data-view=info] .enrolment-enquiry,.enrolment-dialog[data-view=enquiry] .enrolment-summary{display:none}
 .enrolment-summary,.enrolment-enquiry{padding:18px 20px}
 .enrolment-summary h3{font-size:22px;margin:0 0 8px}.enrolment-price{font-size:36px!important}
 .enrolment-form{gap:9px}.enrolment-form textarea{height:55px;min-height:55px}
 .enrolment-enquiry h2{font-size:22px;margin-bottom:12px}
}

/* Soft brand focus: stable borders, no inset black underline. */
.enrolment-form :is(input,select,textarea){border-color:transparent;border-radius:5px;background:#f3f4f0;transition:background .2s,box-shadow .2s}
.enrolment-form :is(input,select,textarea):is(:focus,:focus-visible){outline:none!important;border:1px solid transparent!important;background:#f8f6e7;box-shadow:0 0 0 3px #ffe00035!important}
.bank-flow[hidden],.bank-billing[hidden],.bank-receipt[hidden]{display:none!important}
.bank-flow-active .enrolment-enquiry,.bank-flow-active .enrolment-summary,.bank-flow-active .enrolment-switch{display:none!important}
.bank-flow{grid-column:1/-1;padding:24px 36px;max-width:760px;width:100%;box-sizing:border-box;margin:auto}
.bank-flow h2{font:800 26px/1.2 Wide;margin:10px 0}
.bank-back{border:0;background:none;padding:0;color:var(--ink);font:600 13px Reading;cursor:pointer}
.bank-prototype{font:400 12px/1.4 Reading;color:#64695d;margin:0 0 14px}
.bank-billing{display:grid!important;gap:9px 16px!important}.bank-billing[hidden]{display:none!important}
.bank-accept{display:flex;align-items:center;gap:8px;font:400 12px Reading}.bank-accept input{width:16px!important;height:16px!important;accent-color:#877600}
.bank-receipt dl{display:grid;grid-template-columns:100px 1fr;gap:6px 16px;font:400 13px/1.35 Reading;margin:14px 0}
.bank-receipt dt{color:#62675b}.bank-receipt dd{margin:0;overflow-wrap:anywhere}.bank-receipt p{font:400 12px/1.4 Reading}.bank-receipt .button{min-height:40px;padding:10px 20px;font-size:14px}
@media(max-width:650px){.bank-flow{padding:20px}.bank-flow h2{font-size:22px}.bank-receipt dl{grid-template-columns:85px 1fr;gap:5px 10px;font-size:12px}.bank-billing input{height:36px!important}}

.bank-email-preview[hidden]{display:none!important}.bank-email-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;font:400 12px/1.35 Reading;margin:10px 0}.bank-receipt .bank-reservation-explanation{font-size:13px;line-height:1.5;background:#f6f4e7;padding:12px;border-radius:4px}

/* Match browser-filled fields to the enrolment palette. */
@media (forced-colors: none) {
  .enrolment-form input:is(:autofill, :-webkit-autofill) {
    box-shadow: inset 0 0 0 100vmax #f3f4f0 !important;
    -webkit-text-fill-color: var(--ink);
    caret-color: var(--ink);
  }
  .enrolment-form input:is(:autofill, :-webkit-autofill):focus {
    box-shadow: inset 0 0 0 100vmax #f8f6e7, 0 0 0 3px #ffe00035 !important;
  }
}
