.ml-booking,.ml-booking *{box-sizing:border-box}
.ml-booking{--ml-navy:#002e45;--ml-blue:#6684a0;--ml-gold:#bba35e;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;width:100%;max-width:1400px;margin:0 auto;font-family:'Open Sans',Arial,sans-serif;color:var(--ml-navy);background:transparent}
.ml-booking .ml-booking-panel{background:#fff;min-width:0;min-height:620px;padding:30px 27px}
.ml-booking .ml-booking-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;line-height:1.45;color:var(--ml-navy);margin:0 0 24px;padding:0;text-transform:none;letter-spacing:0}
.ml-booking .ml-booking-title svg{height:19px;width:19px;fill:none;stroke:var(--ml-gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ml-booking .ml-booking-label{display:block;margin:0 0 8px;color:var(--ml-navy);font-size:12px;font-weight:600;line-height:1.4}
.ml-booking .ml-booking-input{width:100%;height:32px;border:1px solid #cbd5db;border-radius:5px;background:#fff;color:#526f88;padding:5px 10px;font-size:12px;font-family:inherit;box-shadow:0 1px 2px rgba(0,0,0,.04);margin:0 0 20px;outline:none}
.ml-booking .ml-booking-input:focus{border-color:var(--ml-gold)}
.ml-booking textarea.ml-booking-input{height:100px;min-height:100px;resize:vertical;padding-top:10px}
.ml-booking .ml-booking-input::placeholder{color:#72869a;opacity:1}
.ml-booking .ml-booking-month-nav{display:flex;align-items:center;justify-content:space-between;margin:0 0 24px}
.ml-booking .ml-booking-month-nav strong{font-size:15px;font-weight:600}
.ml-booking .ml-booking-month-nav button{font-size:27px;border:0;background:transparent;color:var(--ml-navy);padding:2px 12px;cursor:pointer}
.ml-booking .ml-booking-month-nav button:disabled{opacity:.2;cursor:default}
.ml-booking .ml-booking-weekdays,.ml-booking .ml-booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:3px}
.ml-booking .ml-booking-weekdays{margin-bottom:12px;color:#67849e;font-size:10px}
.ml-booking .ml-booking-days .ml-day,.ml-booking .ml-blank{height:39px;min-width:0}
.ml-booking .ml-booking-days .ml-day{border:1px solid transparent;background:#fff;color:var(--ml-navy);font-size:12px;cursor:pointer;border-radius:0;padding:0}
.ml-booking .ml-booking-days .ml-day:disabled{color:#cbd4dc;cursor:default}
.ml-booking .ml-booking-days .ml-day.is-today{border-color:var(--ml-gold)}
.ml-booking .ml-booking-days .ml-day.is-selected{background:var(--ml-navy);color:#fff;border-color:var(--ml-navy)}
.ml-booking .ml-booking-time-section{margin-top:22px;padding-top:16px;border-top:1px solid #e9ecee}
.ml-booking .ml-booking-time-section[hidden],.ml-booking .ml-booking-feedback[hidden]{display:none}
.ml-booking .ml-booking-time-heading{font-size:13px;font-weight:600;margin-bottom:12px}
.ml-booking .ml-booking-time-heading span{font-weight:400;color:var(--ml-blue)}
.ml-booking .ml-booking-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;font-size:12px}
.ml-booking .ml-booking-times button{padding:10px 4px;border:1px solid #cbd5db;border-radius:3px;background:white;color:var(--ml-navy);cursor:pointer;font-size:12px}
.ml-booking .ml-booking-times button:disabled{opacity:.25;cursor:not-allowed}
.ml-booking .ml-booking-times button.is-selected{background:var(--ml-navy);color:white;border-color:var(--ml-navy)}
.ml-booking .ml-booking-submit{display:block;width:100%;min-height:41px;background:#839ca9;color:#fff;border:0;border-radius:0;font:600 12px 'Open Sans',Arial,sans-serif;cursor:pointer;margin:0}
.ml-booking .ml-booking-submit:hover{background:var(--ml-navy)}
.ml-booking .ml-booking-submit:disabled{opacity:.6;cursor:wait}
.ml-booking .ml-booking-privacy{font-size:10px;color:#8da4b7;text-align:center;line-height:1.5;margin:18px 0 0}
.ml-booking .ml-booking-feedback{padding:10px;margin-top:12px;background:#eef6ee;color:#28623a;font-size:12px;line-height:1.6}
.ml-booking .ml-booking-feedback.is-error{background:#fff0ef;color:#a4382d}
.ml-booking .ml-booking-anti{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:850px){.ml-booking{grid-template-columns:1fr;gap:22px}.ml-booking .ml-booking-panel{min-height:0}}
@media(max-width:600px){.ml-booking .ml-booking-panel{padding:26px 20px}.ml-booking .ml-booking-days .ml-day,.ml-booking .ml-blank{height:36px}.ml-booking .ml-booking-times{grid-template-columns:repeat(4,minmax(0,1fr))}}
