/* MMLocal Bookings — front-end widget. Indigo accent #009FBE. */
.mmlb-widget{--mmlb-accent:#009FBE;--mmlb-accent-soft:#E0F3F7;--mmlb-ink:#1f2430;max-width:640px;margin:0 auto;font-family:inherit;color:#1f2430;}
.mmlb-head{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;}
.mmlb-title{font-size:1.15rem;font-weight:600;color:var(--mmlb-accent);}
.mmlb-back{background:none;border:0;color:var(--mmlb-accent);cursor:pointer;font-size:.95rem;padding:.2rem;}
.mmlb-loading,.mmlb-empty{padding:1.5rem;text-align:center;color:#6b7280;}

.mmlb-alert{padding:.7rem 1rem;border-radius:10px;margin-bottom:1rem;font-size:.9rem;}
.mmlb-alert--bad{background:#fde8e8;color:#b42318;}
.mmlb-alert--info{background:var(--mmlb-accent-soft);color:var(--mmlb-accent);}

.mmlb-services{display:grid;gap:.6rem;}
.mmlb-service-card{display:flex;flex-direction:column;gap:.2rem;text-align:left;background:#fff;border:1px solid #e3e5ef;border-radius:12px;padding:1rem;cursor:pointer;transition:border-color .15s,box-shadow .15s;}
.mmlb-service-card:hover{border-color:var(--mmlb-accent);box-shadow:0 2px 8px rgba(74,95,193,.12);}
.mmlb-service-name{font-weight:600;font-size:1rem;}
.mmlb-service-meta{color:var(--mmlb-accent);font-size:.85rem;}
.mmlb-service-desc{color:#6b7280;font-size:.85rem;}

.mmlb-days{display:flex;flex-direction:column;gap:1.25rem;}
.mmlb-day-label{font-weight:600;margin-bottom:.5rem;color:#374151;}
.mmlb-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:.5rem;}
.mmlb-time{background:#fff;border:1px solid var(--mmlb-accent);color:var(--mmlb-accent);border-radius:8px;padding:.55rem;cursor:pointer;font-size:.9rem;transition:background .12s,color .12s;}
.mmlb-time:hover{background:var(--mmlb-accent);color:#fff;}

.mmlb-chosen{font-size:1.1rem;font-weight:600;margin-bottom:.4rem;}
.mmlb-hold-hint{font-size:.85rem;color:#6b7280;margin-bottom:1rem;}
.mmlb-countdown{font-variant-numeric:tabular-nums;color:var(--mmlb-accent);}

.mmlb-form{display:flex;flex-direction:column;gap:.8rem;}
.mmlb-field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:#374151;}
.mmlb-field input,.mmlb-field textarea,.mmlb-field select{border:1px solid #d7d9e6;border-radius:8px;padding:.55rem .7rem;font-size:.95rem;font-family:inherit;color:#1f2430;background-color:#fff;width:100%;box-sizing:border-box;}
.mmlb-field select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7280' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem;cursor:pointer;line-height:1.3;}
.mmlb-field input:focus,.mmlb-field textarea:focus,.mmlb-field select:focus{outline:2px solid var(--mmlb-accent);border-color:var(--mmlb-accent);}
.mmlb-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.mmlb-submit{background:var(--mmlb-accent);color:#fff;border:0;border-radius:8px;padding:.7rem 1rem;font-size:1rem;cursor:pointer;margin-top:.25rem;}
.mmlb-submit:disabled{opacity:.6;cursor:default;}

.mmlb-done{text-align:center;padding:2rem 1rem;}
.mmlb-done-check{width:54px;height:54px;line-height:54px;border-radius:50%;background:var(--mmlb-accent);color:#fff;font-size:1.6rem;margin:0 auto 1rem;}
.mmlb-done-msg{font-size:1.05rem;}
.mmlb-done-btn{display:inline-block;margin-top:1rem;background:var(--mmlb-accent);color:#fff;text-decoration:none;border-radius:8px;padding:.6rem 1.2rem;font-size:.95rem;font-weight:600;}
.mmlb-done-btn:hover{filter:brightness(.94);color:#fff;}

/* Provider choice (Pro, 2+ providers) */
.mmlb-providers{display:grid;gap:.6rem;}
.mmlb-provider-card{text-align:left;background:#fff;border:1px solid #e3e5ef;border-radius:12px;padding:.9rem 1rem;cursor:pointer;font-size:1rem;font-weight:600;color:#1f2430;transition:border-color .15s,box-shadow .15s;}
.mmlb-provider-card:hover{border-color:var(--mmlb-accent);box-shadow:0 2px 8px rgba(74,95,193,.12);}
.mmlb-provider-any{color:var(--mmlb-accent);}

/* Powered-by badge (Free) */
.mmlb-powered{text-align:center;margin:.6rem 0 0;font-size:.75rem;color:#9ca3af;}
.mmlb-powered a{color:#9ca3af;text-decoration:none;}
.mmlb-powered a:hover{color:#009FBE;text-decoration:underline;}

/* Add-ons / extras (Pro) */
.mmlb-extras{margin:.5rem 0;}
.mmlb-extras-label{font-weight:600;font-size:.85rem;margin-bottom:.3rem;}
.mmlb-extra{display:flex;align-items:center;gap:.4rem;font-size:.9rem;margin:.15rem 0;}

/* Class slots: "N left" badge */
.mmlb-time--class{display:flex;flex-direction:column;align-items:center;gap:.1rem;line-height:1.15;}
.mmlb-time-left{font-size:.66rem;opacity:.8;}
.mmlb-time--class:hover .mmlb-time-left{opacity:1;}

/* Waitlist form (matches the booking widget inputs) */
.mmlb-waitlist .mmlb-wl-form{display:flex;flex-direction:column;gap:.7rem;}
.mmlb-wl-title{margin:0;color:var(--mmlb-accent);font-size:1.1rem;}
.mmlb-wl-lead{margin:0;color:#6b7280;font-size:.9rem;}
.mmlb-wl-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:#374151;}
.mmlb-wl-form input{border:1px solid #d7d9e6;border-radius:8px;padding:.55rem .7rem;font-size:.95rem;font-family:inherit;color:#1f2430;background:#fff;width:100%;box-sizing:border-box;}
.mmlb-wl-form input:focus{outline:2px solid var(--mmlb-accent);border-color:var(--mmlb-accent);}
.mmlb-wl-form .mmlb-btn--accent{align-self:flex-start;background:var(--mmlb-accent);color:#fff;border:0;border-radius:8px;padding:.6rem 1.1rem;cursor:pointer;font-size:.95rem;}
.mmlb-wl-msg{font-size:.85rem;color:var(--mmlb-accent);min-height:1.1em;margin:.2rem 0 0;}
/* Progress steps */
.mmlb-steps{list-style:none;display:flex;gap:.4rem;margin:0 0 1rem;padding:0;}
.mmlb-steps li{flex:1;display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:#9097a6;padding:.4rem .5rem;border-radius:8px;background:#f4f5fb;}
.mmlb-steps li.is-on{background:var(--mmlb-accent-soft);color:var(--mmlb-accent);font-weight:600;}
.mmlb-steps li.is-done{color:var(--mmlb-accent);}
.mmlb-step-n{display:inline-flex;align-items:center;justify-content:center;width:1.3rem;height:1.3rem;border-radius:999px;background:#fff;border:1px solid #d7d9e6;font-weight:700;font-size:.72rem;flex-shrink:0;}
.mmlb-steps li.is-on .mmlb-step-n{background:var(--mmlb-accent);color:#fff;border-color:var(--mmlb-accent);}
.mmlb-steps li.is-done .mmlb-step-n{background:var(--mmlb-accent);color:#fff;border-color:var(--mmlb-accent);}
.mmlb-step-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* Loading spinner */
.mmlb-loading{display:flex;align-items:center;justify-content:center;gap:.6rem;}
.mmlb-spinner{width:1.1rem;height:1.1rem;border:2px solid var(--mmlb-accent-soft);border-top-color:var(--mmlb-accent);border-radius:50%;animation:mmlb-spin .7s linear infinite;display:inline-block;}
@keyframes mmlb-spin{to{transform:rotate(360deg);}}

/* Extras row: price aligned right */
.mmlb-extra{display:flex;align-items:center;gap:.5rem;font-size:.9rem;margin:.15rem 0;cursor:pointer;}
.mmlb-extra-name{flex:1;}
.mmlb-extra-price{color:var(--mmlb-accent);font-variant-numeric:tabular-nums;font-size:.85rem;}
/* Self-contained widget colours: title via --mmlb-ink; cards/buttons keep their colours on hover so the active theme cannot bleed in. */
.mmlb-widget .mmlb-service-name{color:var(--mmlb-ink);}
.mmlb-widget .mmlb-service-card,.mmlb-widget .mmlb-provider-card{color:var(--mmlb-ink);}
.mmlb-widget .mmlb-service-card:hover,.mmlb-widget .mmlb-provider-card:hover{background:#fff;}
.mmlb-widget .mmlb-submit:hover,.mmlb-widget .mmlb-btn--accent:hover{background:var(--mmlb-accent);filter:brightness(.94);}
.mmlb-widget .mmlb-back:hover{background:none;color:var(--mmlb-accent);}
