.mgd-root { --mgd-paper:#fff; --mgd-ink:#282828; --mgd-line:#dedede; color:var(--mgd-ink); }
.mgd-root:not(.pmv-hero-booking) { position:relative; max-width:1280px; margin:24px auto; font-family:Arial,sans-serif; }
.mgd-root:not(.pmv-hero-booking) .booking-dock { display:grid; grid-template-columns:minmax(180px,1.3fr) repeat(3,minmax(110px,.65fr)) minmax(160px,.8fr); background:var(--mgd-paper); box-shadow:0 18px 50px #0002; }
.mgd-root:not(.pmv-hero-booking) .booking-dock>p { display:grid; align-content:center; gap:5px; margin:0; padding:18px 22px; border-right:1px solid var(--mgd-line); font:20px/1.15 Georgia,serif; }
.mgd-root:not(.pmv-hero-booking) .booking-dock>p span,.mgd-root:not(.pmv-hero-booking) .booking-dock label span { color:var(--mgd-blue); font:700 9px/1 Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.mgd-root:not(.pmv-hero-booking) .booking-dock label { display:grid; align-content:center; gap:8px; padding:17px; border-right:1px solid var(--mgd-line); }
.mgd-root:not(.pmv-hero-booking) .booking-dock select { width:100%; border:0; background:transparent; color:var(--mgd-ink); font-size:17px; }
.mgd-root:not(.pmv-hero-booking) .booking-dock button { display:flex; align-items:center; justify-content:space-between; min-height:82px; border:0; padding:16px 22px; background:var(--mgd-accent); color:#161616; cursor:pointer; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.mgd-root:not(.pmv-hero-booking) .booking-modal { width:min(720px,calc(100% - 28px)); max-height:calc(100vh - 28px); border:0; padding:0; background:var(--mgd-paper); color:var(--mgd-ink); box-shadow:0 25px 100px #0006; }
.mgd-root:not(.pmv-hero-booking) .booking-modal::backdrop { background:#171717c9; }
.mgd-root:not(.pmv-hero-booking) .booking-progress { display:grid; grid-template-columns:1fr 1fr; height:4px; background:#ddd; }
.mgd-root:not(.pmv-hero-booking) .booking-progress i.is-active { background:var(--mgd-accent); }
.mgd-root:not(.pmv-hero-booking) .booking-step { display:none; padding:60px clamp(24px,7vw,85px); }
.mgd-root:not(.pmv-hero-booking) .booking-step.is-active { display:block; }
.mgd-root:not(.pmv-hero-booking) .booking-step h2 { font:clamp(42px,6vw,70px)/1 Georgia,serif; margin:10px 0 30px; }
.mgd-root:not(.pmv-hero-booking) .booking-summary { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--mgd-line); }
.mgd-root:not(.pmv-hero-booking) .booking-summary span { display:grid; gap:8px; padding:15px; border-right:1px solid var(--mgd-line); }
.mgd-root:not(.pmv-hero-booking) .booking-summary small,.mgd-root:not(.pmv-hero-booking) .booking-label { color:var(--mgd-blue); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.mgd-root:not(.pmv-hero-booking) .booking-step label { display:grid; gap:4px; margin:15px 0; }
.mgd-root:not(.pmv-hero-booking) .booking-step input,.mgd-root:not(.pmv-hero-booking) .booking-step textarea { border:0; border-bottom:1px solid var(--mgd-line); padding:10px 0; background:transparent; font:inherit; }
.mgd-root:not(.pmv-hero-booking) .modal-close { position:absolute; top:18px; right:18px; border:0; background:transparent; font-size:30px; cursor:pointer; }
.mgd-root:not(.pmv-hero-booking) .time-slots { display:flex; flex-wrap:wrap; gap:9px; margin:15px 0 24px; }
.mgd-root:not(.pmv-hero-booking) .time-slot { border:1px solid var(--mgd-line); padding:10px 16px; background:white; cursor:pointer; }
.mgd-root:not(.pmv-hero-booking) .time-slot.is-selected { background:var(--mgd-blue); color:white; }
.mgd-root:not(.pmv-hero-booking) .modal-primary { border:0; padding:16px 24px; background:var(--mgd-accent); cursor:pointer; text-transform:uppercase; font-weight:700; }
.mgd-root:not(.pmv-hero-booking) .form-status { min-height:22px; }
@media(max-width:760px) { .mgd-root:not(.pmv-hero-booking) .booking-dock { grid-template-columns:repeat(3,1fr); } .mgd-root:not(.pmv-hero-booking) .booking-dock>p { grid-column:1/-1; } .mgd-root:not(.pmv-hero-booking) .booking-dock button { grid-column:1/-1; min-height:52px; } }
@media(max-width:520px) { .mgd-root:not(.pmv-hero-booking) .booking-summary { grid-template-columns:1fr; } }
