/* Showing Scheduler – public UI. White / transparent only, Roboto. */
.mlss-widget, .mlss-modal { font-family: Roboto, Helvetica, Arial, sans-serif; }
.mlss-note { font-size: 13px; color: #44505f; margin: 0 0 12px; }
.mlss-open, .mlss-submit, .mlss-day, .mlss-slot {
    font-family: inherit; cursor: pointer; background: #fff; color: #ad0028;
    border: 2px solid #ad0028; border-radius: 4px;
}
.mlss-open, .mlss-submit { width: 100%; padding: 12px 16px; font-size: 15px; font-weight: 700; }
.mlss-open:hover, .mlss-submit:hover { border-width: 3px; padding: 11px 15px; }
.mlss-modal[hidden] { display: none; }
.mlss-modal { position: fixed; inset: 0; z-index: 999999; display: flex; align-items: center; justify-content: center; padding: 16px; box-sizing: border-box; pointer-events: none; }
.mlss-panel {
    pointer-events: auto; position: relative; background: #fff; color: #1d2433;
    width: 100%; max-width: 640px; max-height: 92vh; overflow-y: auto;
    border: 1px solid #b9c2d0; border-radius: 8px; padding: 24px 26px;
    box-shadow: 0 12px 48px rgba(0, 0, 0, .35);
}
.mlss-panel h2 { margin: 0 0 2px; font-size: 22px; color: #ad0028; }
.mlss-panel h3 { margin: 20px 0 8px; font-size: 15px; }
.mlss-sub { font-weight: 400; color: #6b7585; font-size: 13px; }
.mlss-addr { margin: 0; color: #6b7585; font-size: 14px; }
.mlss-close { position: absolute; top: 8px; right: 12px; border: 0; background: transparent; font-size: 28px; line-height: 1; cursor: pointer; color: #6b7585; }
.mlss-days { display: flex; gap: 6px; overflow-x: auto; padding: 2px 2px 8px; }
.mlss-day { flex: 0 0 auto; min-width: 64px; padding: 8px 6px; font-size: 13px; line-height: 1.3; border-color: #b9c2d0; color: #1d2433; }
.mlss-day[aria-pressed="true"], .mlss-slot[aria-pressed="true"] { border-color: #ad0028; border-width: 3px; font-weight: 700; color: #ad0028; }
.mlss-slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 8px; }
.mlss-slot { padding: 10px 6px; font-size: 14px; }
.mlss-slot:disabled { cursor: not-allowed; color: #8a94a3; border-color: #dde3ec; text-decoration: line-through; }
.mlss-slot small { display: block; font-size: 10px; text-decoration: none; }
.mlss-hint { grid-column: 1 / -1; color: #6b7585; font-size: 13px; margin: 0; }
.mlss-row { display: flex; gap: 12px; flex-wrap: wrap; }
.mlss-row label { flex: 1 1 200px; }
.mlss-form label { display: block; margin-top: 10px; font-size: 13px; font-weight: 500; }
.mlss-form input[type=text], .mlss-form input[type=email], .mlss-form input[type=tel], .mlss-form textarea {
    display: block; width: 100%; box-sizing: border-box; margin-top: 4px; padding: 9px 10px;
    border: 1px solid #b9c2d0; border-radius: 4px; background: #fff; font: 15px Roboto, Arial, sans-serif;
}
.mlss-check { font-weight: 400 !important; }
.mlss-check input { margin-right: 6px; }
.mlss-picked { font-weight: 700; margin: 0 0 4px; }
.mlss-form .mlss-submit { margin-top: 16px; }
.mlss-hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.mlss-msg { margin-top: 14px; font-size: 14px; }
.mlss-msg.ok, .mlss-msg.err { border: 1px solid #ad0028; padding: 10px 14px; border-radius: 4px; }
.mlss-msg.err { color: #ad0028; }
@media (max-width: 600px) { .mlss-panel { max-height: 100vh; height: 100%; border-radius: 0; } .mlss-modal { padding: 0; } }
