.mzb{--navy:#092e4a;--blue:#075b7a;--green:#198754;max-width:980px;margin:24px auto;background:#fff;border-radius:14px;box-shadow:0 12px 42px #092e4a1c;overflow:hidden;color:#10243d;font:15px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}.mzb *{box-sizing:border-box}.mzb__hero{min-height:240px;display:flex;align-items:flex-end;padding:38px;background:linear-gradient(90deg,#062d4bcc 0%,#062d4b8c 48%,#062d4b30),url("hero-banner.webp") center/cover no-repeat;color:#fff}.mzb__hero h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;margin:0 0 8px}.mzb__hero p{font-size:1.1rem;margin:0}.mzb__form{padding:30px 40px 22px}.mzb__intro{margin-bottom:22px}.mzb fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}.mzb legend{font-size:1.25rem;font-weight:750;margin-bottom:10px}.mzb__offers,.mzb__lower,.mzb__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mzb__choice{position:relative;min-height:110px;border:1px solid #ced6dd;border-radius:7px;padding:18px 22px;display:flex;gap:18px;align-items:center;cursor:pointer}.mzb__choice:has(input:checked){border:2px solid var(--navy);box-shadow:0 2px 8px #092e4a18}.mzb__choice input{position:absolute;right:14px;top:14px;accent-color:var(--blue)}.mzb__icon{width:64px;height:64px;border-radius:50%;background:#edf1f4;display:grid;place-items:center;font-size:28px;color:var(--navy)}.mzb__date-time{border:1px solid #d3d9df;border-radius:8px;padding:18px;display:flex;align-items:end;gap:18px}.mzb label{display:grid;gap:5px;font-size:.85rem}.mzb input,.mzb textarea{width:100%;padding:10px 12px;border:1px solid #cbd3da;border-radius:5px;background:#fff;font:inherit}.mzb__date-time label{flex:1}.mzb__availability{min-height:22px;color:var(--green);font-weight:600}.mzb__option{border:1px solid #ccd4dc;border-radius:6px;padding:14px;margin-bottom:10px!important;display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:10px!important}.mzb__option:has(input:checked){border:2px solid var(--navy)}.mzb__option input,.mzb__privacy input{width:auto}.mzb__privacy{display:flex!important;grid-template-columns:auto 1fr!important;align-items:start;gap:10px!important;margin:4px 0 18px}.mzb__submit{width:100%;border:0;border-radius:6px;padding:14px;background:linear-gradient(90deg,#075474,#006989);color:#fff;font-size:1.2rem;font-weight:700;cursor:pointer}.mzb__submit:disabled{opacity:.55;cursor:wait}.mzb__notice{text-align:center;color:#6b7280;margin:8px 0 0}.mzb__trap{position:absolute!important;left:-10000px!important}.mzb .is-error{color:#b42318}.mzb .is-success{color:var(--green)}
@media(max-width:760px){.mzb{margin:12px;border-radius:10px}.mzb__hero{min-height:200px;padding:26px;background-position:58% center}.mzb__form{padding:24px}.mzb__offers,.mzb__lower{grid-template-columns:1fr}.mzb__date-time{flex-wrap:wrap}.mzb__date-time label{min-width:120px}}
@media(max-width:480px){.mzb{margin:0;border-radius:0}.mzb__hero{min-height:180px;padding:22px;background-position:62% center}.mzb__hero p{font-size:.95rem}.mzb__form{padding:20px 16px}.mzb__grid{grid-template-columns:1fr}.mzb__choice{min-height:88px}.mzb__date-time{gap:10px}.mzb__date-time label:first-child{flex-basis:100%}}
.mzb__hero .mzb__eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:750;color:#a9e4ef}
.mzb{--navy:#46515d;--blue:#f47721;--green:#3b7e58;border-radius:0;box-shadow:0 3px 16px #0000001a}
.mzb__hero{min-height:300px;align-items:center;background-image:linear-gradient(90deg,#252b31b8 0%,#252b3166 48%,transparent 74%),url("hero-banner-v2.webp");border-bottom:6px solid #f47721}
.mzb__hero-copy{display:inline-block;max-width:650px;padding:18px 22px;background:#252b31c9;border-left:7px solid #f47721}
.mzb__hero .mzb__eyebrow{color:#ffad72}
.mzb__booking-days{margin:0 0 24px;padding:14px 18px;border-left:6px solid #f47721;background:#fff4ec;color:#303942;font-size:1rem}
.mzb__submit{background:#f47721;border-radius:0}
@media(max-width:760px){.mzb__hero{min-height:240px}.mzb__hero-copy{padding:14px 17px}}
@media(max-width:480px){.mzb__hero{min-height:220px}.mzb__hero-copy{max-width:95%}.mzb__hero h1{font-size:2rem}}
.mzb--banner{max-width:none;margin:0;box-shadow:none;background:transparent}
.mzb--banner .mzb__hero{width:100%}
.mzb__calendar{margin:0 0 18px;border:1px solid #d3d9df;background:#fff;padding:16px}
.mzb__calendar-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center;margin-bottom:12px}
.mzb__calendar-head strong{font-size:1.1rem;text-transform:capitalize}
.mzb__calendar-head button{border:1px solid #d2d6da;background:#fff;color:#303942;font-size:1.5rem;line-height:36px;cursor:pointer}
.mzb__calendar-head button:disabled{opacity:.3;cursor:not-allowed}
.mzb__calendar-week,.mzb__calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}
.mzb__calendar-week{margin-bottom:5px;font-size:.8rem;font-weight:700;color:#68727c}
.mzb__calendar-grid{min-height:240px}
.mzb__calendar-grid button{min-height:42px;border:1px solid transparent;font:inherit;font-weight:650;cursor:pointer}
.mzb__calendar-grid button.is-open{background:#e6f4ea;color:#23683b;border-color:#b8ddc3}
.mzb__calendar-grid button.is-busy{background:#fff0e5;color:#a34b0e;border-color:#f5bd94}
.mzb__calendar-grid button.is-closed{background:#f0f1f2;color:#9aa0a6;cursor:not-allowed}
.mzb__calendar-grid button.is-selected{outline:3px solid #f47721;outline-offset:-3px;background:#f47721;color:#fff}
.mzb__calendar-grid .mzb__cal-loading,.mzb__calendar-grid .mzb__cal-error{grid-column:1/-1;padding:70px 10px}
.mzb__calendar-grid .mzb__cal-error{color:#b42318}
.mzb__calendar-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;font-size:.8rem;color:#59636c}
.mzb__calendar-legend span{display:flex;align-items:center;gap:6px}.mzb__calendar-legend i{width:13px;height:13px;display:inline-block;border:1px solid #ccc}
.mzb__calendar-legend .is-open{background:#e6f4ea;border-color:#b8ddc3}.mzb__calendar-legend .is-busy{background:#fff0e5;border-color:#f5bd94}.mzb__calendar-legend .is-closed{background:#f0f1f2}
@media(max-width:480px){.mzb__calendar{padding:10px}.mzb__calendar-week,.mzb__calendar-grid{gap:3px}.mzb__calendar-grid{min-height:220px}.mzb__calendar-grid button{min-height:38px;padding:2px}}
.mzb__choice-copy{display:grid;gap:5px}.mzb__choice-copy small{font-size:.82rem;line-height:1.35;font-weight:400;color:#5f6871}
.mzb__selected-date{max-width:300px;margin:18px 0}.mzb__slots{border:1px solid #d3d9df;background:#fafbfc;padding:18px}.mzb__slots-title{display:block;margin-bottom:12px;font-size:1rem}.mzb__slots-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:9px}.mzb__slots-grid button{display:grid;gap:3px;padding:12px 8px;border:1px solid;cursor:pointer;font:inherit}.mzb__slots-grid button small{font-size:.76rem}.mzb__slots-grid .is-free{background:#e6f4ea;border-color:#9ecfaf;color:#23683b}.mzb__slots-grid .is-occupied{background:#f0f1f2;border-color:#d5d9dc;color:#9299a0;text-decoration:line-through;cursor:not-allowed}.mzb__slots-grid .is-selected{background:#f47721;border-color:#d95e0c;color:#fff;outline:2px solid #a94000;outline-offset:1px}.mzb__slot-legend{display:flex;flex-wrap:wrap;gap:16px;margin:10px 0 4px;font-size:.8rem;color:#59636c}.mzb__slot-legend span{display:flex;align-items:center;gap:6px}.mzb__slot-legend i{width:13px;height:13px;border:1px solid #ccc}.mzb__slot-legend .is-free{background:#e6f4ea;border-color:#9ecfaf}.mzb__slot-legend .is-selected{background:#f47721;border-color:#d95e0c}.mzb__slot-legend .is-occupied{background:#f0f1f2;border-color:#d5d9dc}
@media(max-width:760px){.mzb__slots-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}}
@media(max-width:420px){.mzb__slots-grid{grid-template-columns:1fr 1fr}.mzb__slots-grid button{padding:10px 4px;font-size:.86rem}}
.mzb__choice{min-height:150px;padding:24px 62px 24px 24px;border:2px solid #d8dee4;border-radius:10px;background:#fff;transition:border-color .18s,box-shadow .18s,transform .18s}
.mzb__choice:hover{border-color:#f0a16b;box-shadow:0 7px 20px #30394214;transform:translateY(-1px)}
.mzb__choice:has(input:checked){border:2px solid #f47721;box-shadow:0 0 0 3px #f477211c,0 7px 20px #30394214}
.mzb__choice:has(input:focus-visible){outline:3px solid #156b8a;outline-offset:3px}
.mzb__choice>input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}
.mzb__select-mark{position:absolute;right:18px;top:18px;width:28px;height:28px;border:2px solid #b9c3cc;border-radius:50%;background:#fff;display:grid;place-items:center}
.mzb__choice input:checked+.mzb__select-mark{border-color:#f47721;background:#f47721}
.mzb__choice input:checked+.mzb__select-mark:after{content:"";width:9px;height:5px;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(-45deg) translateY(-1px)}
.mzb__icon{flex:0 0 82px;width:82px;height:82px;border:1px solid #d8e3ea;background:linear-gradient(145deg,#f4f7f9,#e7edf1);color:#364f63}
.mzb__icon svg{width:48px;height:48px}.mzb__choice:has(input:checked) .mzb__icon{border-color:#f4b68d;background:#fff3eb;color:#dc6415}
.mzb__choice-copy{gap:8px}.mzb__choice-copy strong{font-size:1.1rem;color:#10243d}.mzb__choice-copy small{font-size:.9rem;line-height:1.5;color:#5b6670}
@media(max-width:560px){.mzb__choice{min-height:125px;padding:18px 54px 18px 18px}.mzb__icon{flex-basis:66px;width:66px;height:66px}.mzb__icon svg{width:40px;height:40px}.mzb__select-mark{right:14px;top:14px;width:25px;height:25px}}
