.odg-bk{--navy:#26355f;--blue2:#1295d6;--line:#dfe4ee;--mut:#5a6478;--r:16px}
.odg-bk{background:#fff;border:1px solid var(--line);border-radius:var(--r);max-width:860px;margin:0 auto;overflow:hidden;box-shadow:0 10px 40px rgba(38,53,95,.10);font-family:inherit}
.bk-btn{display:inline-block;background:var(--navy);color:#fff;font-weight:700;padding:15px 32px;border-radius:10px;border:0;cursor:pointer;font-size:16px;transition:.18s;text-decoration:none}
.bk-btn:hover{background:#1c2749;transform:translateY(-2px)}
.bk-msg{max-width:840px;margin:0 auto 22px;padding:15px 22px;border-radius:11px;font-size:15px}
.bk-msg.err{background:#fbe9e9;border:1px solid #f0c0c0;color:#9b2626}
.bk-head{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid var(--line)}
.bk-head h3{font-size:20px;color:var(--navy);margin:0}
.bk-head span{font-size:13.5px;color:var(--mut)}
.bk-back{background:none;border:0;color:var(--navy);font-weight:700;cursor:pointer;font-size:14px}
.bk-back:hover{color:var(--blue2)}
.bk-panes{display:grid;grid-template-columns:1fr 300px}
@media(min-width:861px){.bk-panes{min-height:380px}}
.bk-cal{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:28px;border-right:1px solid var(--line)}
.bk-avail{font-size:12.5px;color:var(--mut)}
.bk-confirm{text-align:center;padding:70px 40px}
.bk-confirm h3{color:var(--navy);font-size:26px;margin:16px 0 8px}
.bk-confirm p{color:var(--mut)}
.bk-check{width:64px;height:64px;border-radius:50%;background:#e7f6ec;color:#1d6b38;font-size:32px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto}
.bk-times{padding:28px 24px;overflow-y:auto;max-height:420px}
.bk-day{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:14px}
.bk-hint{font-size:14px;color:var(--mut);padding:8px 0}
.bk-col{display:flex;flex-direction:column;gap:8px}
.bk-slot{padding:12px;border:1.5px solid var(--line);border-radius:8px;background:#fff;font-size:14.5px;font-weight:600;color:var(--navy);cursor:pointer;transition:.12s}
.bk-slot:hover{border-color:var(--blue2);background:#eaf6fd}
.bk-slot.sel{background:var(--navy);color:#fff;border-color:var(--navy)}
.bk-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 32px 0}
.bk-field{display:flex;flex-direction:column;gap:6px}
.bk-field.full{grid-column:1/-1}
.bk-field label{font-size:13px;font-weight:600;color:var(--navy)}
.bk-field input,.bk-field select,.bk-field textarea{padding:12px 14px;border:1px solid var(--line);border-radius:9px;font-size:15px;font:inherit;background:#fbfcfe;color:#333}
.bk-field input:focus,.bk-field select:focus,.bk-field textarea:focus{outline:2px solid var(--blue2);border-color:var(--blue2);background:#fff}
.bk-note{font-size:12.5px;color:var(--mut);margin:14px 32px 28px}
.bk-steps{display:flex;gap:8px;margin:20px 32px}
.bk-steps span{flex:1;height:4px;border-radius:99px;background:var(--line)}
.bk-steps span.done{background:var(--blue2)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* flatpickr retune → ODG navy/blue */
.odg-bk .flatpickr-calendar{background:transparent;box-shadow:none}
.odg-bk .flatpickr-months .flatpickr-month{color:var(--navy)}
.odg-bk .flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:var(--navy)}
.odg-bk .flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:var(--navy)}
.odg-bk .flatpickr-weekday{color:var(--mut);background:transparent;font-size:12px}
.odg-bk .flatpickr-day{border-radius:10px;color:var(--navy);font-weight:600}
.odg-bk .flatpickr-day:hover{background:#eaf6fd;border-color:#eaf6fd}
.odg-bk .flatpickr-day.today{border-color:var(--blue2)}
.odg-bk .flatpickr-day.today:hover{background:var(--blue2);border-color:var(--blue2);color:#fff}
.odg-bk .flatpickr-day.selected,.odg-bk .flatpickr-day.selected:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.odg-bk .flatpickr-day.flatpickr-disabled,.odg-bk .flatpickr-day.flatpickr-disabled:hover{color:rgba(38,53,95,.25);cursor:not-allowed}

@media(max-width:860px){
  .bk-panes{grid-template-columns:1fr}
  .bk-cal{border-right:0;border-bottom:1px solid var(--line)}
  .bk-times{max-height:none}
  .bk-head{padding:18px 20px}
  .bk-grid{margin:20px 20px 0;grid-template-columns:1fr}
  .bk-note{margin:14px 20px 24px}
  .bk-steps{margin:16px 20px}
  .odg-bk p[style*="32px"]{margin-left:20px!important;margin-right:20px!important}
}
