.mazze-booking-form{ max-width:640px; margin:0 auto; display:grid; gap:22px; }
/* display:none (not off-screen positioning) so mobile "AutoFill Contact Info" can't find and fill this field */
.mazze-booking-form .mbf-hp, .mazze-hp{ display:none !important; }
.mbf-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.mbf-row label{ display:block; font-size:12.5px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--text-dim,#a3a0ad); margin-bottom:8px; }
.mbf-row input, .mbf-row select{
	width:100%; background:rgba(255,255,255,.04); border:1px solid var(--line,rgba(255,255,255,.09)); border-radius:10px;
	padding:15px 16px; color:var(--text,#f4f1ea); font-size:15px; font-family:inherit;
	color-scheme: dark; /* tells the browser to render the native date-picker/dropdown popups in dark colors too */
}
.mbf-row input:focus, .mbf-row select:focus{ outline:none; border-color:var(--rc,var(--accent,#e2a640)); background:rgba(255,255,255,.07); }
.mbf-row select option{ background:#16171f; color:#f4f1ea; }

.mbf-cal{ background:rgba(255,255,255,.03); border:1px solid var(--line,rgba(255,255,255,.09)); border-radius:12px; padding:14px; }
.mbf-cal-nav{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.mbf-cal-nav button{
	width:34px; height:34px; border-radius:50%; border:1px solid var(--line,rgba(255,255,255,.09)); background:transparent;
	color:var(--text,#f4f1ea); font-size:15px; cursor:pointer;
}
.mbf-cal-nav button:disabled{ opacity:.3; cursor:not-allowed; }
.mbf-cal-label{ font-weight:700; font-size:14px; text-transform:capitalize; }
.mbf-cal-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
.mbf-cal-dow{ text-align:center; font-size:10.5px; color:var(--text-dimmer,#716f7c); font-weight:700; text-transform:uppercase; padding-bottom:4px; }
.mbf-cal-cell{
	aspect-ratio:1; border-radius:8px; border:1px solid transparent; background:transparent; color:var(--text,#f4f1ea);
	font-size:13px; font-family:inherit; cursor:pointer; display:flex; align-items:center; justify-content:center;
}
.mbf-cal-cell.is-empty{ visibility:hidden; }
.mbf-cal-cell:not(.is-disabled):not(.is-empty):hover{ border-color:var(--rc,var(--accent,#e2a640)); }
.mbf-cal-cell.is-disabled{ color:var(--text-dimmer,#716f7c); opacity:.35; cursor:not-allowed; text-decoration:line-through; }
.mbf-cal-cell.is-selected{ background:var(--rc,var(--accent,#e2a640)); color:#12100a; font-weight:700; }
.mbf-times{ display:flex; flex-wrap:wrap; gap:10px; }
.mbf-times-hint{ color:var(--text-dimmer,#716f7c); font-size:14px; margin:0; }
.mbf-time-btn{
	padding:11px 18px; border-radius:100px; border:1px solid var(--line,rgba(255,255,255,.09)); background:rgba(255,255,255,.03);
	color:var(--text,#f4f1ea); font-size:14px; font-weight:600; cursor:pointer; transition:.2s;
}
.mbf-time-btn:hover{ border-color:var(--rc,var(--accent,#e2a640)); }
.mbf-time-btn.is-selected{ background:var(--rc,var(--accent,#e2a640)); border-color:var(--rc,var(--accent,#e2a640)); color:#12100a; }
.mbf-submit{ justify-self:start; }
.mbf-submit[disabled]{ opacity:.5; cursor:not-allowed; }
.mbf-note{ font-size:12.5px; color:var(--text-dimmer,#716f7c); margin:0; }
.mbf-total{ font-size:13.5px; font-weight:700; color:var(--rc,var(--accent,#e2a640)); margin:8px 0 0; }
.mbf-message{ font-size:14px; padding:0; }
.mbf-message.is-error{ color:#ff8f8f; padding:14px 18px; border:1px solid rgba(255,100,100,.35); border-radius:10px; background:rgba(255,100,100,.08); }
.mbf-message.is-success{ color:#8fe0a3; padding:14px 18px; border:1px solid rgba(120,220,150,.35); border-radius:10px; background:rgba(120,220,150,.08); }
@media (max-width:600px){ .mbf-grid{ grid-template-columns:1fr; } }
