.enas-booking{--en:#193e83;--light:#eef4ff;--ink:#1a2942;--line:#dce4f0;color:var(--ink);font-family:inherit;max-width:1160px;margin:35px auto;padding:0 15px}.enas-booking *{box-sizing:border-box}.enas-booking button{cursor:pointer;font-family:inherit}.enas-booking button:disabled{cursor:not-allowed;opacity:.38}.enas-booking .enas-heading{text-align:center;margin:0 auto 27px}.enas-booking .enas-kicker{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--en)}.enas-booking h2{font-size:clamp(26px,3vw,39px);margin:13px 0;color:var(--ink);line-height:1.2}.enas-booking .enas-heading p{font-size:16px;color:#66748a}.enas-steps{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#f6f9fd;margin-bottom:25px}.enas-steps span{text-align:center;padding:16px 4px;font-weight:700;color:#78849a;font-size:14px}.enas-steps span.active{color:white;background:var(--en)}.enas-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.enas-main,.enas-summary{padding:clamp(20px,3vw,34px);background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 35px rgba(16,52,111,.065)}.enas-main h3,.enas-summary h3{font-size:24px;margin:0 0 15px;color:var(--ink)}.enas-main p{color:#637087}.enas-calendar{max-width:630px}.enas-cal-head{display:flex;align-items:center;justify-content:space-between;padding:10px 0 20px}.enas-cal-head strong{font-size:20px}.enas-cal-head button{width:42px;height:42px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--en);font-size:26px}.enas-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.enas-weekday{text-align:center;font-weight:700;color:#75849b;font-size:12px;padding:8px 0}.enas-day{aspect-ratio:1;border:1px solid var(--line);border-radius:11px;background:#f6f8fc;color:#738198;font-weight:700;font-size:16px}.enas-day.available{background:var(--light);color:var(--en);border-color:#9bb9f4}.enas-day.available:hover,.enas-day.available:focus-visible{background:var(--en);color:white;outline:2px solid #f8bd3d;outline-offset:2px}.enas-dot{display:inline-block;width:10px;height:10px;background:#3168bf;border-radius:50%}.enas-dot.full{background:#c9cfda}.enas-caption{font-size:12px;color:#687791;margin-top:22px}.enas-time{display:block;width:100%;padding:18px 20px;border:1px solid #bbcee9;border-radius:12px;background:#f6f9ff;text-align:left;color:var(--en);font-weight:700;margin-bottom:10px}.enas-time:hover{border-color:var(--en);background:#edf4ff}.enas-nav{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:25px}.enas-back{background:transparent;border:0;color:var(--en);font-weight:700;padding:12px}.enas-primary{border:0;border-radius:8px;background:var(--en);color:white;font-weight:700;padding:15px 24px}.enas-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.enas-form-grid label{display:flex;flex-direction:column;font-size:13px;font-weight:700;gap:7px;color:#33445d}.enas-form-grid label.wide{grid-column:1/-1}.enas-form-grid input{min-width:0;width:100%;border:1px solid #cbd6e4;border-radius:8px;padding:13px 12px;font-size:15px;color:#14243f;background:#fff}.enas-form-grid input:focus{outline:2px solid #8db2f2}.enas-form-grid input[readonly]{background:#f1f4f9}.enas-error{color:#ae2536!important;min-height:20px;font-weight:700}.enas-summary{position:sticky;top:25px}.enas-summary h3{font-size:19px}.enas-summary>div:not(.enas-total){padding:13px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:7px}.enas-summary span{color:#78859a;font-size:13px}.enas-summary strong{font-size:15px}.enas-summary .enas-total{display:flex;justify-content:space-between;align-items:center;margin:20px 0}.enas-summary .enas-total strong{font-size:27px;color:var(--en)}.enas-summary small{color:#78859a;line-height:1.6;display:block}.enas-alert{padding:14px;background:#fdf7e2;color:#6d540c;border-radius:8px;margin-bottom:18px}.enas-stage[hidden]{display:none!important}@media(max-width:850px){.enas-layout{grid-template-columns:1fr}.enas-summary{position:static}}@media(max-width:500px){.enas-steps span{font-size:11px;padding:12px 3px}.enas-main,.enas-summary{padding:17px}.enas-days{gap:4px}.enas-day{font-size:13px;border-radius:7px}.enas-form-grid{grid-template-columns:1fr}.enas-cal-head strong{font-size:18px}}
.enas-demo{background:#fff6db!important;border:1px solid #e5bc50!important;color:#704b00!important;padding:10px 16px!important;border-radius:10px!important;font-weight:750!important;margin:0 0 8px!important}.enas-demo-note{display:block;color:#64748b;margin-bottom:16px}.enas-review-head{display:flex;align-items:center;gap:15px;margin-bottom:20px}.enas-review-check,.enas-success-icon{background:#e4f9ec;color:#12804a;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;font-size:25px;font-weight:800;flex-shrink:0}.enas-success-icon{width:70px;height:70px;margin:0 0 20px}.enas-review-head h3{margin-bottom:4px}.enas-review-head p{margin:0}.enas-review-sections{display:grid;gap:15px}.enas-review-card{background:#f8faff;border:1px solid #e3eafa;border-radius:15px;padding:20px}.enas-review-card h4{font-size:16px;margin:0 0 14px;color:#193e83}.enas-review-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e9edf6;padding:9px 0;line-height:1.5}.enas-review-row:last-child{border-bottom:0}.enas-review-row span{color:#65768d;font-size:13px;flex:0 0 42%}.enas-review-row strong{color:#20304c;font-size:14px;overflow-wrap:anywhere;text-align:right}.enas-review-price{background:#edf5ff}.enas-payment-select{margin-top:26px}.enas-payment-select h3{font-size:20px}.enas-payment-option{display:flex;align-items:center;gap:13px;border:1px solid #dbe5f3;border-radius:15px;padding:18px;margin:12px 0;cursor:pointer;background:#fff;transition:.2s}.enas-payment-option:has(input:checked){border-color:#193e83;background:#eff5ff;box-shadow:0 0 0 2px #dbe8ff}.enas-payment-option input{accent-color:#193e83;width:20px;height:20px;flex-shrink:0}.enas-payment-option strong,.enas-payment-option small{display:block}.enas-payment-option small{color:#65768d;font-size:12px;margin-top:4px}.enas-payment-icon{font-size:22px}.enas-stage[data-step="5"]{text-align:left}.enas-stage[data-step="5"] h3{font-size:29px}@media(max-width:500px){.enas-review-row{display:block}.enas-review-row strong{text-align:left;display:block;margin-top:3px}.enas-payment-option{padding:14px}}
.enas-month-jump{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 14px;font-size:13px;font-weight:700;color:#334155}.enas-month-jump select{border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#172554;min-height:42px;padding:8px 12px;max-width:100%}.enas-cal-head button{cursor:pointer;min-width:44px;min-height:44px;display:flex;justify-content:center;align-items:center;position:relative;z-index:1}.enas-cal-head button:disabled{opacity:.4;cursor:not-allowed}


/* v3.4: phone-first booking experience */
.enas-booking{overflow-wrap:anywhere;scroll-margin-top:18px}
.enas-booking button,.enas-booking input,.enas-booking select{touch-action:manipulation}
.enas-booking button:focus-visible,.enas-booking select:focus-visible,.enas-booking input:focus-visible{outline:3px solid #f3b942!important;outline-offset:2px}
.enas-month-jump{display:flex;align-items:center;gap:12px;justify-content:space-between;background:#f5f8ff;border:1px solid #dbe5f4;border-radius:12px;padding:12px 15px;margin:0 0 13px}
.enas-month-jump label{font-size:13px;font-weight:700;color:#334560}
.enas-month-jump select{font:inherit;min-width:0;max-width:55%;background:white;border:1px solid #bdcee4;border-radius:9px;padding:11px 12px;color:#193e83;font-weight:700}
.enas-day.available{font-weight:800;box-shadow:inset 0 -3px 0 #80a8e9;position:relative}
.enas-day.available::after{content:"";display:block;width:5px;height:5px;border-radius:50%;background:#2b66c5;margin:2px auto 0}
.enas-day.selected{background:#193e83!important;color:#fff!important}
.enas-day.selected::after{background:#fff}
.enas-day:disabled{opacity:.55}
.enas-time{font-size:16px;min-height:62px}
.enas-primary{min-height:48px;line-height:1.35}
.enas-payment-option{min-height:69px}
@media(max-width:700px){
 .enas-booking{margin:12px auto 26px;padding:0 10px}
 .enas-booking .enas-heading{margin-bottom:17px;padding:2px 7px}
 .enas-booking .enas-kicker{font-size:10px;letter-spacing:1px}
 .enas-booking h2{font-size:clamp(23px,6vw,31px);line-height:1.16;margin:8px 0}
 .enas-booking .enas-heading p{font-size:13px;line-height:1.55;margin:8px 0}
 .enas-steps{border-radius:12px;margin-bottom:15px;gap:0}
 .enas-steps span{font-size:11px;line-height:1.22;padding:11px 4px;min-height:50px;display:grid;place-items:center}
 .enas-layout{display:flex;flex-direction:column;gap:14px}
 .enas-main,.enas-summary{width:100%;border-radius:14px;padding:17px 14px;box-shadow:0 4px 18px rgba(16,52,111,.055)}
 .enas-main h3{font-size:21px;line-height:1.25;margin-bottom:10px}
 .enas-main p{font-size:14px;line-height:1.55}
 .enas-summary{position:static;order:2;padding:16px}
 .enas-summary h3{font-size:17px}
 .enas-calendar{max-width:none;width:100%}
 .enas-month-jump{display:block;padding:12px;margin-bottom:11px}
 .enas-month-jump label{display:block;font-size:12px;margin-bottom:7px}
 .enas-month-jump select{width:100%;max-width:none;min-height:46px;font-size:15px}
 .enas-cal-head{gap:9px;padding:5px 0 13px}
 .enas-cal-head button{width:46px;height:46px;flex-shrink:0;border-radius:12px;font-size:27px}
 .enas-cal-head strong{font-size:17px;text-align:center;line-height:1.2}
 .enas-days{gap:4px;width:100%}
 .enas-weekday{font-size:11px;padding:5px 0}
 .enas-day{font-size:14px;aspect-ratio:auto;height:clamp(39px,11vw,53px);border-radius:9px;padding:0;min-width:0}
 .enas-caption{font-size:11px;line-height:1.6;margin-top:12px}
 .enas-time{padding:16px 14px;min-height:60px;font-size:15px;line-height:1.5}
 .enas-form-grid{grid-template-columns:1fr;gap:12px}
 .enas-form-grid label{font-size:13px;gap:6px}
 .enas-form-grid input{min-height:49px;font-size:16px;padding:12px}
 .enas-demo{width:100%;min-height:46px;white-space:normal}
 .enas-nav{display:flex;flex-direction:column-reverse;gap:9px;align-items:stretch;margin-top:16px}
 .enas-nav .enas-primary,.enas-nav .enas-back{width:100%;min-height:50px;text-align:center;font-size:15px}
 .enas-nav .enas-back{border:1px solid #cbd8e9;border-radius:9px;background:#fff}
 .enas-review-head{gap:10px;align-items:flex-start}
 .enas-review-check{width:38px;height:38px;font-size:20px}
 .enas-review-card{padding:16px 13px;border-radius:12px}
 .enas-review-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:3px 12px;padding:11px 0}
 .enas-review-row span{flex:1 1 95px;font-size:12px}
 .enas-review-row strong{flex:1 1 145px;display:block;margin:0;text-align:right;font-size:13px}
 .enas-review-card h4{font-size:15px}
 .enas-payment-option{min-height:73px;padding:15px 12px;gap:12px;align-items:center}
 .enas-payment-option input{width:23px;height:23px}
 .enas-payment-option strong{font-size:15px}
 .enas-payment-option small{font-size:12px;line-height:1.4}
}
@media(max-width:360px){
 .enas-booking{padding:0 5px}.enas-main,.enas-summary{padding:13px 9px}
 .enas-day{height:37px;font-size:12px}.enas-days{gap:3px}
 .enas-cal-head strong{font-size:15px}.enas-steps span{font-size:10px}
 .enas-review-row{display:block}.enas-review-row strong{text-align:left;margin-top:4px}
}
@media(prefers-reduced-motion:reduce){.enas-booking *{scroll-behavior:auto!important;transition:none!important}}

/* v3.6: simplified student details */
.enas-form-grid{max-width:680px;grid-template-columns:repeat(2,minmax(0,1fr))}.enas-form-grid .wide{grid-column:1/-1}.enas-form-grid input{min-height:52px;font-size:16px}.enas-stage[data-step="3"] .enas-primary{min-height:50px}@media(max-width:650px){.enas-form-grid{grid-template-columns:1fr}.enas-form-grid .wide{grid-column:auto}}

/* v3.7: reliable step visibility across themes */
.enas-booking .enas-stage[hidden]{display:none!important}
.enas-booking .enas-stage.enas-stage-active:not([hidden]){display:block!important;visibility:visible!important;opacity:1!important}
.enas-booking .enas-stage{scroll-margin-top:90px}

/* v3.9: Always honor disabled payment methods */
.enas-payment-option[hidden] { display:none !important; }

#enas-stripe-element{margin:18px 0;padding:16px;border:1px solid #dce3ed;border-radius:12px;background:#fff} .enas-stage[data-step=5] .enas-nav{margin-top:18px}

/* Compact student summary beneath payment choices (Step 4 only). */
.enas-stage[data-step="4"] .enas-payment-select{margin-top:0}
.enas-stage[data-step="4"] .enas-review-sections{margin-top:12px;gap:0}
.enas-stage[data-step="4"] .enas-review-student{padding:12px 16px;border-radius:12px}
.enas-stage[data-step="4"] .enas-review-student h4{margin:0 0 8px;font-size:14px}
.enas-stage[data-step="4"] .enas-review-student .enas-review-row{padding:5px 0;gap:8px;line-height:1.35}
.enas-stage[data-step="4"] .enas-review-student .enas-review-row span{font-size:12px}
.enas-stage[data-step="4"] .enas-review-student .enas-review-row strong{font-size:13px}
@media(max-width:500px){.enas-stage[data-step="4"] .enas-review-student{padding:12px}.enas-stage[data-step="4"] .enas-review-student .enas-review-row{display:flex;flex-wrap:wrap;gap:3px 8px}.enas-stage[data-step="4"] .enas-review-student .enas-review-row span{flex:0 0 85px}.enas-stage[data-step="4"] .enas-review-student .enas-review-row strong{flex:1 1 130px;text-align:right;margin:0}}
