/**handles:eoi-form**/
.eoi-wrapper{--eoi-primary:#0073aa;--eoi-primary-dark:#005177;--eoi-border:#dcdcde;--eoi-text:#1d2327;--eoi-muted:#646970;max-width:900px;width:100%;box-sizing:border-box}.eoi-wrapper *,.eoi-wrapper ::after,.eoi-wrapper ::before{box-sizing:border-box}.eoi-apply-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.75rem;background:var(--eoi-primary);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;letter-spacing:.01em;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.08);transition:background .2s,box-shadow .2s,transform .1s}.eoi-apply-btn:focus,.eoi-apply-btn:hover{background:var(--eoi-primary-dark);box-shadow:0 4px 10px rgba(0,87,119,.25);outline:2px solid var(--eoi-primary-dark);outline-offset:2px}.eoi-apply-btn:active{transform:translateY(1px)}.eoi-form-wrap{max-width:900px;width:100%;margin:1.5rem 0;font-family:inherit}.eoi-form-container{background:#fff;border:1px solid var(--eoi-border);border-radius:10px;padding:1.75rem 2rem 2rem;box-shadow:0 2px 10px rgba(0,0,0,.05);width:100%}@media (max-width:600px){.eoi-form-container{padding:1.25rem 1rem 1.5rem}}.eoi-progress{margin-bottom:2.25rem}.eoi-steps-list{display:flex;list-style:none;margin:0 0 .5rem;padding:0;gap:.3rem}.eoi-step-indicator{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:.4rem;position:relative;color:#a7aaad;font-size:.7rem}.eoi-step-indicator+.eoi-step-indicator::before{content:'';position:absolute;top:15px;right:50%;width:100%;height:2px;background:#e2e4e7;z-index:0}.eoi-step-number{width:30px;height:30px;border-radius:50%;background:#f0f0f1;border:2px solid #e2e4e7;color:#8c8f94;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;position:relative;z-index:1;transition:background .25s,border-color .25s,color .25s}.eoi-step-indicator--active .eoi-step-number{background:var(--eoi-primary);border-color:var(--eoi-primary);color:#fff;box-shadow:0 0 0 4px rgba(0,115,170,.15)}.eoi-step-indicator--active .eoi-step-label{color:var(--eoi-primary);font-weight:700}.eoi-step-label{text-align:center;line-height:1.25;overflow-wrap:break-word;hyphens:auto;max-width:100%}.eoi-progress-track{height:5px;background:#eef0f1;border-radius:3px;overflow:hidden}.eoi-progress-fill{height:100%;background:linear-gradient(90deg,var(--eoi-primary),#2271b1);border-radius:3px;transition:width .35s ease}.eoi-step{border:none;padding:0;margin:0}.eoi-step-title{font-size:1.25rem;font-weight:700;color:var(--eoi-text);margin-bottom:1.5rem;padding-bottom:.6rem;border-bottom:2px solid #eef0f1}.eoi-step-subtitle{font-size:1rem;font-weight:700;color:var(--eoi-text);margin-bottom:.75rem}.eoi-field{margin-bottom:1.25rem}.eoi-label{display:block;font-weight:600;margin-bottom:.35rem;color:#1d2327}.eoi-label--required::after{content:' *';color:#c00}.eoi-hint{font-size:.875rem;color:#646970;margin-bottom:1rem;line-height:1.5}.eoi-input,.eoi-select,.eoi-textarea{width:100%;padding:.6rem .8rem;border:1px solid #c3c4c7;border-radius:6px;font-size:1rem;color:var(--eoi-text);background:#fff;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.eoi-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23646970'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z' clip-rule='evenodd'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;background-size:1.1em;padding-right:2.2rem}.eoi-input:hover,.eoi-select:hover,.eoi-textarea:hover{border-color:#8c8f94}.eoi-input:focus,.eoi-select:focus,.eoi-textarea:focus{border-color:var(--eoi-primary);outline:0;box-shadow:0 0 0 3px rgba(0,115,170,.18)}.eoi-input::placeholder,.eoi-textarea::placeholder{color:#a7aaad}.eoi-input--error,.eoi-input--error:focus,.eoi-select.eoi-input--error,.eoi-select.eoi-input--error:focus{border-color:#c00;box-shadow:0 0 0 2px rgba(204,0,0,.2)}.eoi-textarea{resize:vertical;min-height:120px}.eoi-field-error{display:block;color:#c00;font-size:.85rem;margin-top:.25rem;min-height:1.2em}.eoi-select--inline{width:auto;margin-top:.4rem;font-size:.875rem}.eoi-checkbox-group{border:1px solid var(--eoi-border);border-radius:8px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.75rem;background:#fafafa}.eoi-checkbox-row{display:flex;flex-direction:column;gap:.3rem}.eoi-checkbox-label{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;font-weight:400;color:var(--eoi-text)}.eoi-checkbox{margin-top:.2em;flex-shrink:0;width:17px;height:17px;cursor:pointer;accent-color:var(--eoi-primary)}.eoi-radio-group{display:flex;flex-direction:column;gap:.6rem}.eoi-radio-group .eoi-checkbox-label{border:1px solid var(--eoi-border);border-radius:8px;padding:.8rem 1rem;align-items:center;transition:border-color .15s,background .15s,box-shadow .15s}.eoi-radio-group .eoi-checkbox-label:hover{border-color:#8c8f94}.eoi-radio-group .eoi-checkbox-label:has(input:checked){border-color:var(--eoi-primary);background:#f0f8fc;box-shadow:0 0 0 1px var(--eoi-primary);font-weight:600}.eoi-bank-details-box{background:#f6f7f7;border-left:4px solid var(--eoi-primary);border-radius:6px;padding:1rem 1.15rem;margin-bottom:1.25rem;font-size:.9rem;color:var(--eoi-text);line-height:1.6}.eoi-nav{display:flex;gap:.75rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #eef0f1;flex-wrap:wrap}.eoi-btn{padding:.7rem 1.75rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,opacity .2s,box-shadow .2s,transform .1s}.eoi-btn:disabled{opacity:.6;cursor:not-allowed}.eoi-btn:active:not(:disabled){transform:translateY(1px)}.eoi-btn--primary{background:var(--eoi-primary);color:#fff;margin-left:auto;box-shadow:0 1px 2px rgba(0,0,0,.08)}.eoi-btn--primary:hover:not(:disabled){background:var(--eoi-primary-dark);box-shadow:0 4px 10px rgba(0,87,119,.2)}.eoi-btn--secondary{background:#fff;color:var(--eoi-text);border:1px solid #c3c4c7}.eoi-btn--secondary:hover:not(:disabled){background:#f0f0f1}.eoi-notice{padding:.8rem 1.1rem;border-radius:6px;margin-top:1rem;font-size:.9rem;line-height:1.5}.eoi-notice--error{background:#fef0f0;border-left:4px solid #c00;color:#900}.eoi-notice--warning{background:#fff8e5;border-left:4px solid #dba617;color:#5d4800}.eoi-success{text-align:center;padding:2.5rem 1rem}.eoi-success-icon{width:64px;height:64px;stroke:#00a32a;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round;margin-bottom:1rem}.eoi-success h3{font-size:1.4rem;color:#1d2327;margin-bottom:.5rem}.eoi-success p{color:#646970}.eoi-booking-calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.eoi-booking-cal-label{font-weight:600}.eoi-booking-cal-next,.eoi-booking-cal-prev{background:#fff;border:1px solid #ccd0d4;border-radius:6px;padding:.4rem .85rem;cursor:pointer;transition:background .15s,border-color .15s}.eoi-booking-cal-next:hover,.eoi-booking-cal-prev:hover{background:#f0f0f1;border-color:#8c8f94}.eoi-booking-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.eoi-booking-cal-heading{text-align:center;font-weight:600;font-size:.8rem;padding:.35rem 0;color:var(--eoi-muted)}.eoi-booking-cal-cell{aspect-ratio:1/1;border:1px solid var(--eoi-border);border-radius:6px;background:#fff;text-align:center;padding:0;font-size:.9rem;transition:background .15s,border-color .15s,color .15s}.eoi-booking-cal-cell--blank{border:none;background:0 0}.eoi-booking-cal-cell--available{cursor:pointer;border-color:#2271b1;color:#2271b1;font-weight:700}.eoi-booking-cal-cell--available:hover{background:#2271b1;color:#fff}.eoi-booking-cal-cell--selected{background:#2271b1;color:#fff;box-shadow:0 0 0 2px rgba(34,113,177,.25)}.eoi-booking-cal-cell--disabled{color:#c3c4c7;cursor:not-allowed}.eoi-booking-results{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid #eef0f1;overflow-x:auto}.eoi-booking-results-heading{font-size:1rem;font-weight:700;color:var(--eoi-text);margin:0}.eoi-booking-results-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:.75rem;border:1px solid var(--eoi-border);border-radius:8px;overflow:hidden}.eoi-booking-results-table td,.eoi-booking-results-table th{border-bottom:1px solid var(--eoi-border);padding:.6rem .85rem;text-align:left}.eoi-booking-results-table thead th{background:#fafafa;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--eoi-muted)}.eoi-booking-results-table tbody tr:last-child td{border-bottom:none}.eoi-booking-enrol-now{background:#2271b1;color:#fff;border:none;border-radius:6px;padding:.45rem 1rem;font-weight:600;cursor:pointer;transition:background .15s}.eoi-booking-enrol-now:hover:not(:disabled){background:var(--eoi-primary-dark)}.eoi-booking-enrol-now:disabled{background:#c3c4c7;cursor:not-allowed}.eoi-booking-status{font-size:.9rem;color:var(--eoi-muted);margin-top:.75rem}.eoi-booking-payment-summary,.eoi-booking-resume-summary{background:#f0f8fc;border:1px solid #cde4f0;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem;line-height:1.6}.eoi-booking-payment-summary p,.eoi-booking-resume-summary p{margin:0 0 .35rem}.eoi-booking-payment-summary p:last-child,.eoi-booking-resume-summary p:last-child{margin-bottom:0}.eoi-booking-payment-summary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem;font-size:.95rem}.eoi-booking-payment-summary-list li strong{color:var(--eoi-primary-dark)}.eoi-booking-payment-status{font-size:.9rem;color:var(--eoi-muted);margin:-.75rem 0 1.25rem}@media (max-width:700px){.eoi-step-number{width:26px;height:26px;font-size:.78rem}.eoi-step-indicator{font-size:.65rem}}@media (max-width:480px){.eoi-steps-list{display:none}.eoi-progress{margin-bottom:1.5rem}.eoi-btn{width:100%;justify-content:center}.eoi-btn--primary{margin-left:0}.eoi-form-container{border-radius:8px}.eoi-step-title{font-size:1.1rem}.eoi-booking-cal-grid{gap:3px}.eoi-booking-cal-cell{font-size:.8rem}.eoi-booking-calendar-nav{gap:.5rem}.eoi-booking-cal-label{font-size:.9rem}.eoi-booking-results-table td,.eoi-booking-results-table th{padding:.5rem .6rem;font-size:.9rem}}