/* Booking page (book-session.html). Uses the colours and button styles from style.css */
.bk-card{margin:20px auto 36px;max-width:760px}
.bk-body{padding:26px 28px 22px}
.bk-body h2{font-family:'Merriweather',serif;font-size:1.25rem;color:var(--navy);margin:0 0 12px;outline:none}
.bk-sub{font-size:1rem;color:var(--navy);margin:18px 0 10px}
.bk-step[hidden],.bk-pane[hidden],.bk-alert[hidden],#bkSteps[hidden]{display:none}
.bk-hint{font-size:.82rem;color:var(--text-muted);margin:12px 0 0}
.bk-help{font-size:.8rem;color:var(--text-muted);margin:22px 0 0;padding-top:14px;border-top:1px solid rgba(22,59,105,.12)}
.bk-help a,.bk-hint a{color:var(--navy);text-decoration:underline}
.bk-loading,.bk-empty{font-size:.9rem;color:var(--text-muted);padding:10px 2px}
.bk-mock{background:#fff7e0;border:1px dashed var(--gold);border-radius:10px;padding:10px 14px;font-size:.85rem;margin:0 0 16px}

/* steps */
.bk-steps{list-style:none;display:flex;gap:6px;margin:0 0 22px;padding:0}
.bk-steps li{flex:1;font-size:.76rem;color:var(--text-muted);text-align:center;padding-top:2px;border-top:3px solid rgba(22,59,105,.15);line-height:1.3}
.bk-steps li span{display:inline-block;width:20px;height:20px;line-height:20px;border-radius:50%;background:rgba(22,59,105,.12);color:var(--navy);font-weight:600;font-size:.72rem;margin-right:3px}
.bk-steps li.on{border-top-color:var(--navy);color:var(--navy);font-weight:600}
.bk-steps li.on span,.bk-steps li.done span{background:var(--navy);color:#fff}
.bk-steps li.done{border-top-color:var(--navy)}

.bk-alert{background:#fdecea;border:1px solid #e3a8a1;color:#7a1f16;border-radius:10px;padding:12px 14px;font-size:.9rem;margin:0 0 16px}
.bk-summary{font-size:.9rem;font-weight:600;color:var(--text-dark);background:var(--cream-soft);border-radius:10px;padding:10px 14px;margin:0 0 16px}

/* step 1: session types */
.bk-types{display:grid;gap:10px}
.bk-type{font-family:inherit;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:#fff;border:2px solid rgba(22,59,105,.18);border-radius:12px;padding:14px 16px;cursor:pointer;color:var(--navy);transition:border-color .15s,background .15s}
.bk-type:hover,.bk-type:focus-visible{border-color:var(--navy);background:var(--cream-soft)}
.bk-type-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.bk-type-main strong{font-size:1rem}
.bk-type-main span{font-size:.8rem;color:var(--text-muted)}
.bk-type-fee{font-weight:700;font-size:1.05rem;white-space:nowrap}

/* step 2: dates and times */
.bk-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.88rem;color:var(--text-muted);margin:0 0 10px}
.bk-link{font-family:inherit;background:none;border:0;color:var(--navy);font-weight:600;cursor:pointer;padding:6px 4px;font-size:.88rem}
.bk-link:disabled{opacity:.35;cursor:default}
.bk-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}
.bk-day{font-family:inherit;display:flex;flex-direction:column;align-items:center;gap:0;background:#fff;border:2px solid rgba(22,59,105,.18);border-radius:10px;padding:7px 4px;cursor:pointer;color:var(--navy);line-height:1.25}
.bk-day-dow{font-size:.7rem;color:var(--text-muted)}
.bk-day-num{font-size:1.15rem;font-weight:700}
.bk-day-mon{font-size:.7rem;color:var(--text-muted)}
.bk-day:hover:not(:disabled){border-color:var(--navy)}
.bk-day.on{border-color:var(--navy);background:var(--navy);color:#fff}
.bk-day.on .bk-day-dow,.bk-day.on .bk-day-mon{color:#d6e0ee}
.bk-day:disabled{opacity:.38;cursor:not-allowed;background:rgba(22,59,105,.04)}
.bk-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.bk-slot{font-family:inherit;background:#fff;border:2px solid rgba(22,59,105,.25);border-radius:10px;padding:10px 6px;cursor:pointer;color:var(--navy);font-weight:600;font-size:.9rem}
.bk-slot:hover,.bk-slot:focus-visible{background:var(--navy);color:#fff;border-color:var(--navy)}

/* step 3: details form */
.bk-field{margin:0 0 14px}
.bk-field label{display:block;font-weight:600;font-size:.88rem;margin-bottom:5px;color:var(--text-dark)}
.bk-field input,.bk-field textarea{width:100%;padding:11px 13px;border:1px solid rgba(22,59,105,.28);border-radius:10px;font:inherit;font-size:.95rem;background:#fff}
.bk-field input:focus,.bk-field textarea:focus,.bk-day:focus-visible,.bk-slot:focus-visible,.bk-type:focus-visible{outline:3px solid rgba(22,59,105,.3);outline-offset:1px}
.bk-field small{display:block;font-size:.76rem;color:var(--text-muted);margin-top:4px}
.bk-opt{font-weight:400;color:var(--text-muted)}
.bk-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bk-check{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;line-height:1.5;margin:6px 0 12px;cursor:pointer}
.bk-check input{margin-top:4px;flex:none;width:18px;height:18px}
.bk-check a{color:var(--navy);text-decoration:underline}
.bk-policy{font-size:.8rem;color:var(--text-muted);background:var(--cream-soft);border-radius:10px;padding:10px 14px;margin:0 0 6px;line-height:1.55}
.bk-actions{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;margin-top:16px}
.bk-actions .btn{cursor:pointer;font-family:inherit}
.bk-actions .btn:only-child{margin-left:auto}
.bk-actions .btn:disabled{opacity:.6;cursor:wait}

/* step 4: payment */
.bk-timer{font-size:.85rem;background:#eaf2fb;border-radius:10px;padding:9px 14px;margin:0 0 14px;color:var(--navy)}
.bk-timer.late{background:#fff4dd;color:#6b4a00}
.bk-pane{margin:0 0 6px}
#paneUpi .pay-qr-title,#paneUpi .pay-qr-sub{text-align:center}
#paneRzp .btn{width:100%;justify-content:center}
#paneUpi .bk-actions .btn{width:100%;justify-content:center}

/* step 5: done */
.bk-done{text-align:center;padding:10px 0}
.bk-done h2{margin-bottom:8px}
.bk-done.ok h2::before{content:"\2713";display:block;width:52px;height:52px;line-height:52px;margin:0 auto 12px;border-radius:50%;background:#e4f2e7;color:#1d6b34;font-size:1.6rem}
.bk-done p{margin:0 0 14px}

@media (max-width:560px){
  .bk-body{padding:20px 16px 18px}
  .bk-steps li{font-size:0;padding-top:6px}
  .bk-steps li span{font-size:.75rem;margin:0}
  .bk-steps li.on{font-size:.72rem}
  .bk-steps li.on span{margin-right:4px}
  .bk-actions{flex-direction:column-reverse}
  .bk-actions .btn{width:100%;justify-content:center}
  .bk-type-fee{font-size:.95rem}
}

/* Phase 2: manage booking page, Pay Later box */
.bk-manage-actions .btn{min-width:200px;justify-content:center}
.bk-danger{background:#9b2c2c!important;border-color:#9b2c2c!important;color:#fff!important}
.bk-confirm{margin:14px 0 0}
.bk-confirm .btn{width:100%;justify-content:center;cursor:pointer;font-family:inherit}
.bk-paybox{margin:18px 0 0;padding-top:6px;border-top:1px solid rgba(22,59,105,.12)}
.bk-paybox .bk-actions .btn{width:100%;justify-content:center}
#mbStatus{margin:0 0 14px}
.bk-later{background:#eef6ee;border:1px solid #b9d9bd;border-radius:12px;padding:14px 16px;margin:0 0 16px}
.bk-later[hidden]{display:none}
.bk-later strong{display:block;color:#1d5a2e;margin-bottom:4px}
.bk-later p{margin:0 0 10px;font-size:.88rem}
.bk-later .btn{width:100%;justify-content:center;cursor:pointer;font-family:inherit}
.bk-or{font-size:.8rem;color:var(--text-muted);text-align:center;margin:0 0 12px}
.bk-or[hidden]{display:none}
@media (max-width:560px){.bk-manage-actions .btn{width:100%}}
.bk-body [hidden]{display:none!important}
@media (max-width:560px){.bk-manage-actions{flex-direction:column!important}}

.bk-later-msg{background:#fff;border:1px solid #b9d9bd;border-radius:10px;padding:10px 12px;font-size:.85rem;margin:10px 0 0!important}

.pay-methods.three{grid-template-columns:repeat(3,1fr)}
@media (max-width:560px){.pay-methods.three{grid-template-columns:1fr}}
#paneLater .btn{width:100%;justify-content:center}
.bk-later-msg .bk-link{display:block;margin:8px 0 0;text-decoration:underline}
.bk-later-msg p{margin:0}
#paneLater .pay-rzp-note{text-align:left!important}

/* Payment-method buttons and card note: repeated here so this page looks right even if the site's style.css is an older copy */
.pay-qr{width:220px;height:220px;max-width:100%;margin:0 auto 14px;display:block;border-radius:10px;border:1px solid rgba(28,58,84,.12)}
.pay-qr-title{font-size:.92rem;font-weight:600;margin:0 0 4px;text-align:center!important}
.pay-qr-sub{font-size:.82rem;color:var(--text-muted);margin:0 0 18px;text-align:center!important}
.pay-methods{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.pay-methods.single{grid-template-columns:1fr}
.pay-method{font-family:inherit;text-align:center;background:#fff;border:2px solid rgba(22,59,105,.18);border-radius:12px;padding:12px;cursor:pointer;color:var(--navy);display:flex;flex-direction:column;gap:3px}
.pay-method[hidden]{display:none}
.pay-method strong{font-size:.95rem}
.pay-method span{font-size:.76rem;color:var(--text-muted);font-weight:400}
.pay-method:hover{border-color:var(--navy)}
.pay-method.on{border-color:var(--navy);background:var(--cream-soft)}
.pay-rzp-note{font-size:.9rem;background:var(--cream-soft);border-radius:10px;padding:14px 16px;margin:0 0 12px;text-align:left}
.pay-rzp-amount{text-align:center!important;margin:0 0 12px;font-size:.95rem}
@media (max-width:560px){.pay-methods,.pay-methods.three{grid-template-columns:1fr}}

/* client / discount code */
.bk-coupon{margin:0 0 14px}
.bk-coupon>.bk-link{padding-left:0;text-decoration:underline}
.bk-coupon-body{margin-top:6px}
.bk-coupon-body label{display:block;font-weight:600;font-size:.88rem;margin-bottom:5px;color:var(--text-dark)}
.bk-coupon-row{display:flex;gap:10px;align-items:stretch}
.bk-coupon-row input{flex:1;min-width:0;padding:11px 13px;border:1px solid rgba(22,59,105,.28);border-radius:10px;font:inherit;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;background:#fff}
.bk-coupon-row input::placeholder{text-transform:none;letter-spacing:0}
.bk-coupon-row input:focus{outline:3px solid rgba(22,59,105,.3);outline-offset:1px}
.bk-coupon-row .btn{flex:none;padding:0 20px;min-height:44px}
.bk-coupon-msg{margin:10px 0 0;padding:10px 12px;border-radius:10px;font-size:.88rem;line-height:1.5;background:#fdecea;border:1px solid #e6b4ae;color:#7a1f16}
.bk-coupon-msg.ok{background:#eaf5ec;border-color:#b9d9bd;color:#1f4d2a}
.bk-coupon-msg .bk-link{padding:0 0 0 6px;text-decoration:underline;color:inherit}
.bk-fee-was{text-decoration:line-through;opacity:.65;margin-right:4px}

/* self-assessment option on the booking page */
.bk-divider{margin:18px 0 8px;font-size:.85rem;color:var(--text-muted);font-weight:600}
/* self-assessment package label */
.bk-suggest{font-size:.72rem;font-weight:700;color:#1c7a43}

/* informed consent (first booking only) */
.bk-consent{border:1px solid rgba(22,59,105,.22);border-radius:12px;padding:14px 16px 6px;margin:6px 0 14px;background:#fbfcfe}
.bk-consent legend{font-weight:700;font-size:.9rem;color:var(--navy);padding:0 6px}
.bk-radios{display:flex;flex-direction:column;gap:8px;margin:2px 0 12px}
.bk-radio{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;line-height:1.45;cursor:pointer}
.bk-radio input{margin-top:3px;flex:none;width:17px;height:17px}
.bk-consent-intro,.bk-consent-ret{font-size:.84rem;line-height:1.5;color:var(--text-muted);margin:0 0 10px}
.bk-consent-intro a{color:var(--navy);text-decoration:underline;font-weight:600}
.bk-consent [hidden]{display:none}

/* Choice cards: Book an Online Session | Book an Online Self-Assessment */
.bk-choice{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:760px;margin:20px auto 0}
.bk-choice-card{display:flex;flex-direction:column;gap:6px;padding:18px 20px;background:#fff;border:2px solid rgba(22,59,105,.15);border-radius:14px;text-decoration:none;color:var(--navy);transition:border-color .15s,box-shadow .15s,transform .15s}
.bk-choice-card:hover,.bk-choice-card:focus-visible{border-color:var(--gold);box-shadow:0 6px 18px rgba(22,59,105,.12);transform:translateY(-1px)}
.bk-choice-card.is-current{border-color:var(--navy);background:#f3f7fc;box-shadow:0 4px 14px rgba(22,59,105,.12);cursor:default}
.bk-choice-card.is-current:hover{transform:none}
.bk-choice-tag{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}
.bk-choice-card strong{font-family:'Merriweather',serif;font-size:1.05rem;line-height:1.3}
.bk-choice-desc{font-size:.86rem;color:var(--text-muted);line-height:1.45;flex:1}
.bk-choice-cta{font-size:.84rem;font-weight:600;color:var(--navy);margin-top:4px}
.bk-choice-card.is-current .bk-choice-cta{color:#2f7d4f}
.bk-choice-card.is-current .bk-choice-cta:before{content:"\2713\00a0"}
@media (max-width:640px){.bk-choice{grid-template-columns:1fr;gap:12px}.bk-choice-card{padding:14px 16px}}
