/* Marveen booking widget - replaces the Amelia frontend on the static mirror. */
.mv-booking{--mv-pink:#FF77B7;--mv-deep:#c0264a;--mv-ink:#221a1d;--mv-soft:#f7e9ef;
 font:16px/1.55 "Poppins",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--mv-ink);
 background:#fff;border:1px solid var(--mv-soft);border-radius:14px;padding:22px;max-width:760px;margin:0 auto;
 box-shadow:0 8px 30px rgba(192,38,74,.07);box-sizing:border-box}
.mv-booking *,.mv-booking *:before,.mv-booking *:after{box-sizing:border-box}
.mv-booking h3.mv-t{margin:0 0 4px;font-size:21px;font-weight:600;color:var(--mv-ink);line-height:1.3}
.mv-booking .mv-sub{margin:0 0 18px;font-size:14px;color:#8a7a80}
.mv-booking label.mv-l{display:block;font-size:13px;font-weight:600;letter-spacing:.02em;
 text-transform:uppercase;color:#8a7a80;margin:16px 0 7px}
.mv-booking select.mv-i,.mv-booking input.mv-i,.mv-booking textarea.mv-i{width:100%;padding:12px 14px;
 border:1px solid #eddbe3;border-radius:9px;font:inherit;font-size:15px;background:#fffdfe;color:var(--mv-ink);
 outline:none;transition:border-color .15s,box-shadow .15s}
.mv-booking select.mv-i:focus,.mv-booking input.mv-i:focus,.mv-booking textarea.mv-i:focus{
 border-color:var(--mv-pink);box-shadow:0 0 0 3px rgba(255,119,183,.18)}
.mv-booking textarea.mv-i{min-height:96px;resize:vertical}
.mv-booking .mv-grid{display:flex;flex-wrap:wrap;gap:8px}
.mv-booking .mv-chip{border:1px solid #eddbe3;background:#fffdfe;border-radius:9px;padding:9px 13px;
 cursor:pointer;font:inherit;font-size:14px;line-height:1.2;color:var(--mv-ink);transition:.15s;text-align:center}
.mv-booking .mv-chip small{display:block;font-size:11px;color:#7d6d73;margin-top:2px}
.mv-booking .mv-chip:hover{border-color:var(--mv-pink)}
.mv-booking .mv-chip.mv-on{background:var(--mv-pink);border-color:var(--mv-pink);color:#fff}
.mv-booking .mv-chip.mv-on small{color:rgba(255,255,255,.85)}
.mv-booking .mv-more{background:none;border:none;color:var(--mv-deep);cursor:pointer;font:inherit;
 font-size:14px;text-decoration:underline;padding:8px 0 0}
.mv-booking .mv-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.mv-booking{padding:18px}.mv-booking .mv-two{grid-template-columns:1fr}}
.mv-booking button.mv-go{margin-top:20px;width:100%;padding:15px 20px;border:none;border-radius:10px;
 background:var(--mv-pink);color:#fff;font:inherit;font-size:16px;font-weight:600;cursor:pointer;
 transition:filter .15s}
.mv-booking button.mv-go:hover{filter:brightness(.94)}
.mv-booking button.mv-go[disabled]{opacity:.6;cursor:default}
.mv-booking .mv-err{color:#c0264a;font-size:13px;margin-top:6px}
.mv-booking .mv-note{margin-top:14px;font-size:13px;color:#8a7a80;text-align:center}
.mv-booking .mv-done{text-align:center;padding:26px 10px}
.mv-booking .mv-done .mv-tick{width:58px;height:58px;border-radius:50%;background:var(--mv-pink);
 color:#fff;font-size:30px;line-height:58px;margin:0 auto 14px}
.mv-booking .mv-done h4{margin:0 0 8px;font-size:20px;font-weight:600}
.mv-booking .mv-done p{margin:0;color:#6d5f64;font-size:15px}
/* event cards */
.mv-booking .mv-ev{display:flex;gap:16px;align-items:center;border:1px solid #eddbe3;border-radius:12px;
 padding:14px 16px;margin-bottom:12px;background:#fffdfe;flex-wrap:wrap}
.mv-booking .mv-ev .mv-cal{flex:0 0 62px;text-align:center;background:var(--mv-soft);border-radius:9px;padding:8px 4px}
.mv-booking .mv-ev .mv-cal b{display:block;font-size:22px;line-height:1;color:var(--mv-deep)}
.mv-booking .mv-ev .mv-cal span{display:block;font-size:11px;text-transform:uppercase;color:#8a7a80;margin-top:3px}
.mv-booking .mv-ev .mv-evb{flex:1 1 200px;min-width:0}
.mv-booking .mv-ev .mv-evb b{display:block;font-size:16px;font-weight:600;margin-bottom:3px}
.mv-booking .mv-ev .mv-evb span{font-size:13px;color:#8a7a80}
.mv-booking .mv-ev .mv-price{font-weight:600;color:var(--mv-deep);white-space:nowrap}
.mv-booking .mv-ev button{border:none;border-radius:9px;background:var(--mv-pink);color:#fff;
 padding:11px 18px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}
.mv-booking .mv-ev button:hover{filter:brightness(.94)}
.mv-booking .mv-empty{text-align:center;color:#8a7a80;padding:22px 10px;font-size:15px}
.mv-booking .mv-empty a{color:var(--mv-deep)}
.mv-booking .mv-done .mv-next{margin-top:14px;padding-top:14px;border-top:1px dashed #eddbe3;
 font-size:14.5px;color:#6d5f64;line-height:1.6}
.mv-booking .mv-done .mv-next a{color:var(--mv-deep);font-weight:600}
.mv-booking .mv-foot{margin-top:16px;padding-top:14px;border-top:1px dashed #eddbe3;
 font-size:14px;color:#8a7a80;text-align:center;line-height:1.6}
.mv-booking .mv-foot a{color:var(--mv-deep);font-weight:600;text-decoration:none}
.mv-booking .mv-foot a:hover{text-decoration:underline}

/* free-seat state on the booking widget */
.mv-chip .mv-seat{display:block;font-size:10.5px;font-weight:600;margin-top:1px}
.mv-chip .mv-seat-low{color:#b5761a}
.mv-chip .mv-seat-0{color:#a32424}
.mv-chip.mv-full{opacity:.72;cursor:not-allowed;background:#f7f4f5;text-decoration:line-through}
.mv-chip.mv-full:hover{border-color:#e6dde0}
.mv-seats{font-weight:600}
.mv-seats-low{color:#b5761a}
.mv-seats-0{color:#a32424}
.mv-ev button.mv-full{opacity:.55;cursor:not-allowed;filter:grayscale(.5)}
.mv-ev button.mv-full:hover{filter:grayscale(.5)}

/* bank transfer panel on the confirmation screen */
.mv-booking .mv-done .mv-pay{margin:18px auto 0;max-width:430px;text-align:left;
 background:var(--mv-soft);border:1px solid #eddbe3;border-radius:12px;padding:16px 18px}
.mv-booking .mv-done .mv-pay h5{margin:0 0 12px;font-size:15px;font-weight:600;
 color:var(--mv-deep);text-align:center;letter-spacing:.01em}
.mv-booking .mv-pay-row{display:flex;gap:10px;align-items:baseline;padding:6px 0;
 border-bottom:1px solid rgba(192,38,74,.09)}
.mv-booking .mv-pay-row:last-child{border-bottom:none}
.mv-booking .mv-pay-k{flex:0 0 108px;font-size:13px;color:#8a7a80}
.mv-booking .mv-done .mv-pay-v{margin:0;flex:1;font-size:15px;font-weight:600;
 color:var(--mv-ink);word-break:break-word}
.mv-booking .mv-pay-copy{display:block;width:100%;margin:14px 0 0;padding:10px 12px;
 border:1px solid var(--mv-pink);border-radius:9px;background:#fff;color:var(--mv-deep);
 font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:.15s}
.mv-booking .mv-pay-copy:hover{background:var(--mv-pink);color:#fff}
.mv-booking .mv-done .mv-pay-foot{margin:12px 0 0;font-size:13px;line-height:1.55;color:#6d5f64}
@media(max-width:420px){.mv-booking .mv-pay-row{display:block}
 .mv-booking .mv-pay-k{display:block;margin-bottom:1px}}

/* deposit shown before booking */
.mv-booking .mv-dep{margin:6px 0 0;padding:8px 12px;border-radius:9px;
 background:var(--mv-soft);color:var(--mv-deep);font-size:14px;font-weight:600;line-height:1.45}
.mv-booking .mv-ev .mv-price{text-align:right}
.mv-booking .mv-ev .mv-dep-s{font-size:12.5px;font-weight:600;color:#8a7a80;white-space:nowrap}
