.mfab{--mfab-ink:#182d36;--mfab-accent:#176a57;--mfab-line:#dce5e4;color:var(--mfab-ink);background:var(--mfab-surface,#fff);border:1px solid var(--mfab-line);border-radius:var(--mfab-radius,16px);padding:clamp(20px,4vw,40px);max-width:880px;margin:24px auto;font:16px/1.6 system-ui,sans-serif;box-sizing:border-box}.mfab *{box-sizing:border-box}.mfab h2{font-size:clamp(26px,4vw,38px);line-height:1.2;margin-top:0}.mfab h3{font-size:24px}.mfab h4{margin:0;font-size:20px}.mfab-steps{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;counter-reset:steps}.mfab-steps li{padding:6px 12px;border-radius:24px;background:#f0f4f3;font-size:13px}.mfab-steps li[aria-current]{background:var(--mfab-accent);color:var(--mfab-on-accent,#fff)}.mfab button{font:inherit;cursor:pointer;border:1px solid transparent;border-radius:calc(var(--mfab-radius,16px) / 2);background:var(--mfab-accent);color:var(--mfab-on-accent,#fff);padding:10px 18px;min-height:44px;margin:6px 8px 6px 0}.mfab button:disabled{opacity:.6;cursor:wait}.mfab .mfab-secondary{background:#edf3f1;color:var(--mfab-ink);border-color:var(--mfab-line)}.mfab :focus-visible{outline:3px solid #ad5900;outline-offset:3px}.mfab-field{margin:18px 0}.mfab label{display:block;font-weight:600;margin-bottom:6px}.mfab input:not([type=checkbox]),.mfab select,.mfab textarea{width:100%;max-width:580px;min-height:44px;border:1px solid #738b88;border-radius:6px;padding:10px;font:inherit;color:var(--mfab-ink);background:var(--mfab-surface,#fff)}.mfab input[type=checkbox]{width:22px;height:22px;accent-color:var(--mfab-accent)}.mfab-card{padding:20px;border:1px solid var(--mfab-line);border-radius:10px;margin:12px 0}.mfab-times{display:flex;flex-wrap:wrap}.mfab [role=alert]{color:#9c2020;font-weight:600}.mfab a{color:#12624e;text-decoration:underline}.mfab [hidden]{display:none!important}@media(prefers-reduced-motion:reduce){.mfab *{scroll-behavior:auto!important}}

.mfab{box-shadow:0 12px 45px #182d3608}.mfab h2{letter-spacing:-1px;margin-bottom:12px}.mfab h3{letter-spacing:-.4px;margin:24px 0 12px}.mfab-intro{margin-top:0;white-space:pre-line}.mfab-steps{gap:6px;margin:24px 0}.mfab-steps li{font-size:12px;font-weight:600;color:#314e49}.mfab-stage>[role=status]{min-height:24px}.mfab-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}.mfab-card{margin:0;padding:24px;display:flex;flex-direction:column;align-items:start;background:var(--mfab-surface,#fff);border-radius:calc(var(--mfab-radius,16px) * .75)}.mfab-card p{font-size:14px;margin:12px 0}.mfab-card button{margin-top:auto}.mfab-summary{display:flex;gap:6px 18px;flex-wrap:wrap;align-items:center;border:1px solid var(--mfab-line);border-left:4px solid var(--mfab-accent);padding:14px 18px;margin:20px 0;border-radius:8px;font-size:14px}.mfab-summary strong{flex-basis:100%}.mfab-professionals{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.mfab-professionals button{padding:22px;text-align:left}.mfab-date-picker{max-width:460px;border:1px solid var(--mfab-line);border-radius:12px;padding:16px;margin:20px 0}.mfab-month-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.mfab-month-heading button{margin:0;font-size:24px;line-height:1;padding:6px 14px}.mfab-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.mfab-weekday{text-align:center;font-size:11px;font-weight:650;padding:8px 0}.mfab-date-grid button{margin:0;padding:4px;min-width:0;border:1px solid transparent;background:var(--mfab-surface,#fff);color:var(--mfab-ink);border-radius:7px;font-size:14px;min-height:44px}.mfab-date-grid button:hover:not(:disabled){border-color:var(--mfab-accent)}.mfab-date-grid button[aria-pressed=true]{background:var(--mfab-accent);color:var(--mfab-on-accent,#fff)}.mfab-date-grid button[aria-current=date]{text-decoration:underline;text-underline-offset:5px}.mfab-date-grid button:disabled{opacity:.35;cursor:default}.mfab-times{gap:8px;max-height:320px;overflow:auto;padding:5px;margin:14px -5px}.mfab-times button{margin:0;flex:0 0 auto}.mfab-field:has(input[type=checkbox]){display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:flex-start;gap:12px}.mfab-field:has(input[type=checkbox]) label{font-size:14px;font-weight:400}.mfab-field input[type=checkbox]{flex:0 0 22px;margin-top:3px}.mfab [role=status]:empty{display:none}.mfab a{color:var(--mfab-ink)}
@media(max-width:520px){.mfab{padding:20px;margin:12px auto}.mfab h2{font-size:28px}.mfab-steps li{padding:5px 9px;font-size:11px}.mfab-date-picker{padding:10px}.mfab-date-grid{gap:2px}.mfab-card{padding:18px}.mfab-summary{font-size:13px}.mfab-times button{padding:10px 12px}}
.mfab h3[tabindex="-1"]:focus{outline:none}.mfab-availability-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;align-items:start}.mfab-availability-layout .mfab-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:350px;align-content:start;margin:20px 0;padding:4px}.mfab-availability-layout .mfab-times h4{grid-column:1/-1;font-size:16px;margin:0 0 8px}.mfab-availability-layout .mfab-times button{font-size:14px;padding:8px;min-width:0}.mfab-availability-layout .mfab-date-picker{max-width:none}@media(max-width:650px){.mfab-availability-layout{grid-template-columns:1fr;gap:0}.mfab-availability-layout .mfab-times{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0;max-height:270px}}

.mfab .mfab-location{margin:20px 0;padding:18px;border:1px solid #dfe5e8;border-radius:var(--mfab-radius)}.mfab-location p{white-space:pre-line}.mfab .mfab-calendar-actions{margin:24px 0;padding:20px;border:1px solid #dfe5e8;border-radius:var(--mfab-radius)}.mfab-calendar-links{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.mfab .mfab-calendar-links a{display:inline-block;padding:12px 16px;border:1px solid currentColor;border-radius:10px;color:var(--mfab-ink);font-weight:600}.mfab-calendar-actions p{font-size:.9em;line-height:1.6}

.mfab-card[hidden],.mfab-field[hidden]{display:none!important}

.mfab-bank-handoff{max-width:640px;margin:8vh auto;padding:36px;font-family:system-ui,sans-serif}.mfab-bank-handoff h1{font-size:26px;line-height:1.4;margin-bottom:28px}

.mfab-rate-picker{border-top:1px solid #dce4e5;padding-top:12px}.mfab-rate-picker h5{font-size:1rem;margin:0 0 12px}.mfab-rate-picker small{display:block;margin-top:5px}.mfab-rate-picker input[type=number]{max-width:110px}

.mfab-rate-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.mfab-rate-picker>h5,.mfab-rate-picker>p{grid-column:1/-1}@media(max-width:520px){.mfab-rate-picker{grid-template-columns:1fr}}

.mfab-rate-picker{align-self:stretch}.mfab-rate-picker .mfab-field{margin:8px 0}

.mfab-reschedule{margin:24px 0;padding:20px;border:1px solid #dfe5e8;border-radius:12px}.mfab-reschedule>summary{cursor:pointer;font-weight:600}.mfab-reschedule>summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}

/* Keep error hints and narrow-screen controls readable. */
.mfab .mfab-field-error{display:block;color:#a12622;margin-top:8px;line-height:1.5}.mfab .mfab-field-error[hidden]{display:none}.mfab [aria-invalid=true]{border-color:#a12622}.mfab .mfab-empty-times{padding:18px;background:#f3f5f4;border-radius:var(--mfab-radius);line-height:1.6}.mfab .mfab-rate-picker{min-width:0}.mfab .mfab-field label{overflow-wrap:anywhere}@media(max-width:600px){.mfab .mfab-times button{min-height:44px}.mfab .mfab-summary{gap:10px}.mfab .mfab-calendar-links{flex-wrap:wrap}.mfab .mfab-steps{gap:8px;font-size:13px}}

/* Appearance owns heading colors inside the widget, including theme-styled headings. */
.mfab :is(h1,h2,h3,h4,h5,h6){color:var(--mfab-heading,var(--mfab-ink))!important}

/* Theme-independent presentation, shared with the live preview. */
.mfab{font-family:var(--mfab-font,system-ui,sans-serif);font-size:var(--mfab-font-size,16px);padding:var(--mfab-spacing,24px);overflow-wrap:anywhere}
.mfab input:not([type=checkbox]),.mfab select,.mfab textarea{border-color:var(--mfab-line);background:var(--mfab-field-surface,var(--mfab-surface,#fff))}
.mfab .mfab-intro,.mfab .mfab-preview-intro,.mfab .mfab-card p,.mfab .mfab-rate-picker small{color:var(--mfab-muted,var(--mfab-ink))}
.mfab .mfab-card{padding:var(--mfab-spacing,24px);min-width:0}.mfab .mfab-services,.mfab .mfab-professionals{gap:var(--mfab-spacing,24px)}
.mfab .mfab-date-grid button[aria-pressed=true]{background:var(--mfab-selected,var(--mfab-accent));color:var(--mfab-on-selected,var(--mfab-on-accent,#fff))}
.mfab .mfab-field{margin-block:var(--mfab-spacing,24px)}.mfab .mfab-summary{min-width:0}.mfab .mfab-field input,.mfab .mfab-field select{min-width:0}
.mfab .mfab-empty-times{background:var(--mfab-surface,#fff);border:1px solid var(--mfab-line)}.mfab .mfab-steps li:not([aria-current]){background:var(--mfab-surface,#fff);color:var(--mfab-ink);border:1px solid var(--mfab-line)}
@media(max-width:520px){.mfab{padding:min(var(--mfab-spacing,24px),20px)}.mfab .mfab-card{padding:16px}.mfab .mfab-calendar-links a{width:100%;text-align:center}.mfab .mfab-rate-picker input{max-width:100%}}

.mfab .mfab-secondary{background:var(--mfab-field-surface,var(--mfab-surface,#fff));color:var(--mfab-ink)}
.mfab [role=alert],.mfab .mfab-field-error{color:var(--mfab-error,#a12622)}.mfab :is(input,select,textarea)[aria-invalid=true]{border-color:var(--mfab-error,#a12622)}


/* Accessible bilingual confirmation for online appointments longer than 3 hours. */
.mfab-long-duration-overlay {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(15, 23, 42, .68);
	backdrop-filter: blur(4px);
}
.mfab-long-duration-dialog {
	box-sizing: border-box;
	width: min(100%, 540px);
	max-height: min(90vh, 760px);
	overflow-y: auto;
	padding: clamp(22px, 5vw, 34px);
	border: 1px solid rgba(255,255,255,.6);
	border-radius: 22px;
	background: #fff;
	color: #172033;
	box-shadow: 0 24px 80px rgba(0,0,0,.28);
	font-family: inherit;
	text-align: left;
	animation: mfab-warning-appear .18s ease-out;
}
.mfab-long-duration-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin: 0 auto 16px;
	border-radius: 50%;
	background: #fff4db;
	color: #9a5700;
	font-size: 30px;
	font-weight: 800;
}
.mfab-long-duration-dialog h2 {
	margin: 0 0 18px;
	color: #172033;
	font-size: clamp(20px, 4vw, 25px);
	line-height: 1.35;
	text-align: center;
}
.mfab-long-duration-dialog p {
	margin: 0 0 14px;
	font-size: 16px;
	line-height: 1.7;
	overflow-wrap: anywhere;
}
.mfab-long-duration-hindi {
	font-weight: 600;
}
.mfab-long-duration-english {
	padding-top: 13px;
	border-top: 1px solid #e7eaf0;
	color: #4b5565;
}
.mfab-long-duration-actions {
	display: flex;
	gap: 12px;
	margin-top: 24px;
}
.mfab-long-duration-actions button {
	flex: 1 1 0;
	min-height: 48px;
	padding: 12px 16px;
	border: 1px solid transparent;
	border-radius: 12px;
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	cursor: pointer;
	transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.mfab-long-duration-actions button:hover {
	transform: translateY(-1px);
	box-shadow: 0 5px 14px rgba(15,23,42,.12);
}
.mfab-long-duration-actions button:focus-visible {
	outline: 3px solid #6b9cff;
	outline-offset: 3px;
}
.mfab-long-duration-back {
	border-color: #cbd5e1 !important;
	background: #f8fafc !important;
	color: #263247 !important;
}
.mfab-long-duration-continue {
	background: #175cd3 !important;
	color: #fff !important;
}
@keyframes mfab-warning-appear {
	from { opacity: 0; transform: translateY(8px) scale(.98); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (max-width: 480px) {
	.mfab-long-duration-overlay { padding: 12px; }
	.mfab-long-duration-dialog { padding: 22px 18px; border-radius: 18px; }
	.mfab-long-duration-actions { flex-direction: column-reverse; }
	.mfab-long-duration-actions button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.mfab-long-duration-dialog, .mfab-long-duration-actions button { animation: none; transition: none; }
}


/* Optional, manual address search and map pin preview for meeting_address. */
.mfab-address-tools{display:grid;gap:.55rem;margin-top:.65rem;padding:.75rem;border:1px solid var(--mfab-border,var(--mfab-line,#d7dbe0));border-radius:.6rem;background:var(--mfab-surface,#fff)}
.mfab-address-tools[hidden]{display:none}
.mfab-address-detail-search-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:.45rem 0 .35rem}
.mfab-address-detail-search-row[hidden]{display:none}
.mfab-address-title{margin:0;font-size:1.08em;font-weight:600}.mfab-address-hint,.mfab-address-status{margin:0;font-size:.9em;line-height:1.45}
.mfab-address-query{width:100%;min-height:2.6rem;padding:.55rem;border:1px solid var(--mfab-border,#cbd0d6);border-radius:.35rem;box-sizing:border-box}
.mfab-address-search,.mfab-address-result{cursor:pointer;border:1px solid var(--mfab-border,#cbd0d6);border-radius:.35rem;padding:.55rem .75rem;background:var(--mfab-field-surface,#fff);color:inherit;text-align:left}
.mfab-address-search{justify-self:start;background:var(--mfab-accent,#176a57);color:#fff;border-color:transparent}
.mfab-address-search:disabled{opacity:.65;cursor:wait}
.mfab-address-search-secondary{background:var(--mfab-field-surface,#fff);color:var(--mfab-ink,#182d36);border-color:var(--mfab-border,#cbd0d6)}
.mfab-address-results{display:grid;gap:.4rem}
.mfab-address-result{width:100%;white-space:normal;overflow-wrap:anywhere}
.mfab-address-result:hover,.mfab-address-result:focus-visible{outline:2px solid var(--mfab-accent,#176a57);outline-offset:1px}
.mfab-map-preview{display:grid;gap:.35rem;min-width:0}
.mfab-map-preview iframe{width:100%;height:240px;border:0;border-radius:.4rem}
.mfab-address-links{margin:0;display:flex;gap:.65rem;flex-wrap:wrap}
.mfab-map-preview small{font-size:.78em;opacity:.8}
/* Keep search status and matching place suggestions directly under the address-details button. */
.mfab-address-detail-search-row .mfab-address-status,
.mfab-address-detail-search-row .mfab-address-results{flex:1 0 100%;min-width:0}
.mfab-address-detail-search-row .mfab-address-results:empty{display:none}
.mfab-address-detail-search-row .mfab-address-status:empty{display:none}

/* Simple online booking form sections: clear hierarchy without extra controls. */
.mfab-form-section-title {
  margin: 0 0 .75rem;
  font-size: 1.05em;
  line-height: 1.35;
}
.mfab-mode-guidance {
  margin: .35rem 0 .9rem;
  font-size: .92em;
  line-height: 1.45;
}


/* Centered, responsive booking status lookup. */
.mfab-status-lookup{position:relative;isolation:isolate;max-width:1160px;margin:2rem auto;padding:3rem 2rem 1.6rem;border:1.5px solid #07966f;border-radius:22px;background:radial-gradient(circle at 0 0,rgba(25,190,139,.14),transparent 26%),radial-gradient(circle at 100% 0,rgba(25,190,139,.12),transparent 25%),linear-gradient(135deg,#f0fbf7 0%,#f8fcff 100%);box-shadow:0 14px 34px rgba(16,91,76,.12);color:#10264d;text-align:center;box-sizing:border-box}
.mfab-status-lookup-icon{position:absolute;top:-26px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:linear-gradient(145deg,#2387ed,#0870d9);color:#fff;font-size:2.5rem;line-height:1;box-shadow:0 8px 20px rgba(19,117,224,.25)}
.mfab-status-lookup h3{margin:0 0 .55rem;color:#10264d;font-size:clamp(1.5rem,2.5vw,2.1rem);font-weight:800;line-height:1.25}.mfab-status-lookup>p:not(.mfab-status-lookup-help):not(.mfab-status-lookup-result){margin:0 auto 1.25rem;max-width:850px;color:#31547e;font-size:1.05rem;line-height:1.55}
.mfab-status-lookup-form{display:flex;align-items:stretch;gap:.75rem;max-width:1080px;margin:0 auto;padding:1rem;background:rgba(255,255,255,.92);border:1px solid #e4edf4;border-radius:18px;box-shadow:0 7px 22px rgba(23,67,94,.08);box-sizing:border-box}
.mfab-status-field{display:flex;flex:1 1 0;flex-direction:column;align-items:stretch;gap:.4rem;min-width:0;text-align:left;color:#1b3153;font-size:.92rem;font-weight:600}.mfab-status-field span{padding-left:.2rem}.mfab-status-field input{width:100%;min-width:0;max-width:100%;min-height:54px;padding:.8rem 1rem;border:1px solid #cbd9e6;border-radius:12px;background:#fff;color:#172c4c;font:inherit;font-size:1rem;box-sizing:border-box;box-shadow:inset 0 1px 2px rgba(20,50,80,.03)}.mfab-status-field:first-child input{border-left:4px solid #2586ed}.mfab-status-field:nth-child(2) input{border-left:4px solid #13a66b}.mfab-status-field input:focus{outline:3px solid rgba(29,133,231,.18);border-color:#2387ed}
.mfab-status-lookup-form button{align-self:flex-end;min-height:54px;padding:.85rem 1.4rem;border:0;border-radius:12px;background:linear-gradient(135deg,#07966f,#007b5c);color:#fff;font-size:.98rem;font-weight:800;white-space:nowrap;cursor:pointer;box-shadow:0 5px 13px rgba(0,132,94,.18);transition:transform .15s ease,box-shadow .15s ease}.mfab-status-lookup-form button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,132,94,.24)}.mfab-status-lookup-form button:disabled{opacity:.65;cursor:wait;transform:none}
.mfab-status-lookup-help{margin:1rem auto 0;padding:.7rem 1rem;max-width:1080px;border-radius:12px;background:#e2f0ff;color:#244d7d;font-size:.95rem;line-height:1.5}.mfab-status-lookup-result{margin:1rem auto 0;padding:.75rem 1rem;max-width:1080px;border-radius:12px;background:#fff;border:1px solid #dce8ef;color:#10264d;font-weight:700;overflow-wrap:anywhere;text-align:center}.mfab-status-lookup-result:empty{display:none}
@media(max-width:760px){.mfab-status-lookup{margin:1.5rem auto;padding:2.7rem 1rem 1rem;border-radius:16px}.mfab-status-lookup-form{flex-direction:column;padding:.8rem;border-radius:14px}.mfab-status-field{flex:auto;width:100%}.mfab-status-lookup-form button{width:100%;align-self:stretch}.mfab-status-lookup-help{font-size:.88rem}.mfab-status-lookup-icon{width:52px;height:52px;font-size:2.2rem;top:-24px}}
