/* Scoped styles only. No font files, global resets, fixed panel heights or form overrides. */
.elementor-widget-mb-service-tabs,
.elementor-widget-mb-service-panels { min-width: 0; }
.mbst-selector,
.mbst-host { box-sizing: border-box; width: 100%; min-width: 0; height: auto; }
.mbst-selector { --mbst-transition: 160ms; --mbst-hover-lift: 0px; display: flex; flex-direction: column; align-items: stretch; gap: 22px; font-family: var(--e-global-typography-text-font-family, 'DM Sans'), Arial, sans-serif; color: #0d2117; }
.mbst-selector *, .mbst-selector *::before, .mbst-selector *::after { box-sizing: border-box; }
.mbst-selector .mbst-icon { --mbst-icon-size: 24px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; line-height: 1; }
.mbst-selector .mbst-icon svg,
.mbst-selector .mbst-icon img { display: block; width: var(--mbst-icon-size); height: var(--mbst-icon-size); max-width: 100%; flex: 0 0 auto; object-fit: contain; }
.mbst-selector .mbst-icon i { display: block; font-size: var(--mbst-icon-size); line-height: 1; }
.mbst-selector .mbst-icon svg[fill]:not([fill="none"]) { fill: currentColor; }
.mbst-book-card { width: 100%; min-width: 0; padding: 22px; border: 1px solid #dce4d9; border-radius: 6px; background: #fff; transition: background-color var(--mbst-transition), border-color var(--mbst-transition), box-shadow var(--mbst-transition); }
.mbst-card-header { display: flex; align-items: center; gap: 16px; min-width: 0; margin: 0 0 18px; }
.mbst-header-icon { color: #1d733c; }
.mbst-header-copy { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.mbst-selector .mbst-card-title { margin: 0; padding: 0; color: #0d2117; font-family: 'Barlow Condensed', 'Oswald', var(--e-global-typography-primary-font-family, 'Arial Narrow'), 'Roboto Condensed', sans-serif; font-size: 24px; font-weight: 800; line-height: 1; letter-spacing: -.25px; text-transform: uppercase; overflow-wrap: anywhere; }
.mbst-selector .mbst-card-description { margin: 0; padding: 0; color: #7a8984; font-size: 9px; line-height: 1.6; font-weight: 400; overflow-wrap: anywhere; }
.mbst-tablist { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; width: 100%; min-width: 0; }
.mbst-selector .mbst-tab { --mbst-focus-color: #207a40; appearance: none; -webkit-appearance: none; display: flex; align-items: center; justify-content: flex-start; gap: 12px; position: relative; width: 100%; min-width: 0; min-height: 56px; height: auto; margin: 0; padding: 12px; border: 1px solid #dce4d9; border-radius: 3px; background: #f9faf7; color: #0d2117; font: inherit; text-align: start; text-decoration: none; text-transform: none; white-space: normal; box-shadow: none; cursor: pointer; touch-action: manipulation; transition: background-color var(--mbst-transition), border-color var(--mbst-transition), box-shadow var(--mbst-transition), transform var(--mbst-transition); }
.mbst-selector .mbst-tab:hover { border-color: #71a57c; background: #f0f5eb; transform: translateY(calc(-1 * var(--mbst-hover-lift))); }
.mbst-selector .mbst-tab:focus { outline: none; }
.mbst-selector .mbst-tab:focus-visible { outline: 2px solid var(--mbst-focus-color); outline-offset: 3px; }
.mbst-tab-copy { display: flex; flex-direction: column; gap: 3px; flex: 1 1 auto; min-width: 0; }
.mbst-tab-title { display: block; margin: 0; color: #0d2117; font-size: 10px; line-height: 1.35; font-weight: 700; overflow-wrap: anywhere; }
.mbst-tab-description { display: block; margin: 0; color: #7a8984; font-size: 8.5px; line-height: 1.5; font-weight: 400; overflow-wrap: anywhere; }
.mbst-selector .mbst-tab-icon { --mbst-icon-size: 22px; color: #1d733c; }
.mbst-selector .mbst-tab-arrow { --mbst-icon-size: 13px; color: #263e32; margin-inline-start: auto; }
[dir="rtl"] .mbst-tab-arrow svg { transform: rotate(180deg); }
.mbst-card-footer { display: flex; align-items: center; gap: 6px; margin: 16px 0 0; color: #88938d; font-size: 7.5px; font-weight: 400; line-height: 1.5; }
.mbst-selector .mbst-footer-icon { --mbst-icon-size: 10px; }
.mbst-footer-text { min-width: 0; overflow-wrap: anywhere; }
.mbst-provider { margin-inline-start: 4px; color: #19362b; font-weight: 500; }
/* Optional upper promotional card from the full reference image. */
.mbst-promo { position: relative; isolation: isolate; width: 100%; min-width: 0; overflow: hidden; margin: 0; padding: 32px; border-radius: 6px; background: #113825; color: #fff; }
.mbst-promo > :not(.mbst-promo-rings) { position: relative; z-index: 1; }
.mbst-promo-rings { --mbst-ring-size: 200px; position: absolute; z-index: 0; pointer-events: none; width: var(--mbst-ring-size); height: var(--mbst-ring-size); right: -60px; top: -62px; border: 1px solid currentColor; border-radius: 50%; color: rgba(165,233,48,.09); box-shadow: 0 0 0 25px rgba(165,233,48,.018), 0 0 0 51px rgba(165,233,48,.012); }
.mbst-selector .mbst-promo-icon { --mbst-icon-size: 21px; padding: 10px; border: 1px solid rgba(165,233,48,.35); border-radius: 50%; color: #a6e54b; margin: 0 0 22px; }
.mbst-selector .mbst-promo-eyebrow { margin: 0; color: #a6e54b; font-size: 8px; font-weight: 800; line-height: 1.6; letter-spacing: 2px; }
.mbst-selector .mbst-promo-title { padding: 0; margin: 20px 0 18px; color: #fff; font-family: 'Barlow Condensed', 'Oswald', var(--e-global-typography-primary-font-family, 'Arial Narrow'), 'Roboto Condensed', sans-serif; font-weight: 800; font-size: 44px; letter-spacing: -.6px; line-height: .99; text-transform: uppercase; overflow-wrap: anywhere; }
.mbst-promo-title > span { display: block; }
.mbst-promo-highlight { color: #a6e54b; }
.mbst-selector .mbst-promo-description { margin: 0; padding: 0; font-size: 11px; font-weight: 400; line-height: 1.85; color: #ebf3e8; overflow-wrap: anywhere; }
.mbst-selector .mbst-promo-features { display: flex; flex-direction: column; gap: 9px; list-style: none; padding: 21px 0 0; margin: 21px 0 0; border-top: 1px solid rgba(255,255,255,.14); color: #f3f8ef; font-size: 9px; line-height: 1.6; font-weight: 600; }
.mbst-promo-features li { display: flex; gap: 13px; align-items: center; margin: 0; padding: 0; list-style: none; overflow-wrap: anywhere; }
.mbst-promo-features li > span:last-child { min-width: 0; }
.mbst-selector .mbst-feature-icon { --mbst-icon-size: 13px; color: #a6e54b; }
.mbst-selector .mbst-promo-tagline { margin: 34px 0 0; padding: 0; color: #a6e54b; font-family: 'Caveat', 'Kalam', 'Comic Sans MS', 'Comic Neue', cursive; font-size: 30px; font-weight: 700; line-height: 1.25; letter-spacing: 0; transform: rotate(-3deg); transform-origin: left center; overflow-wrap: anywhere; }
/* The host changes visibility only, never the forms' DOM or their design. */
.mbst-host { --mbst-panel-duration: 160ms; position: relative; padding: 0; margin: 0; }
.mbst-host > .mbst-panels { width: 100%; min-width: 0; height: auto; position: relative; }
.mbst-host > .mbst-panels > .mbst-panel { box-sizing: border-box; width: 100%; min-width: 0; height: auto; position: relative; }
.mbst-host > .mbst-panels > .mbst-panel[data-mbst-source]:not([data-mbst-source="nested"]) > .e-con { display: none !important; }
.mbst-direct { width: 100%; min-width: 0; overflow-wrap: anywhere; }
.mbst-direct .mbst-checkout { margin: 0; }
.mbst-direct .mbst-checkout-button { appearance: none; display: inline-flex; align-items: center; justify-content: center; min-height: 48px; max-width: 100%; width: auto; margin: 0; padding: 13px 24px; border: 1px solid #173c28; border-radius: 5px; background: #173c28; color: #fff; box-shadow: none; font-family: inherit; font-size: 15px; font-weight: 600; line-height: 1.3; text-align: center; text-decoration: none; cursor: pointer; transition: background-color .16s, transform .16s; }
.mbst-direct .mbst-checkout-button:hover { background: #23643e; color: #fff; transform: translateY(-1px); }
.mbst-direct .mbst-checkout-button:focus-visible { outline: 2px solid #207a40; outline-offset: 3px; }
.mbst-direct .mbst-payment-note, .mbst-direct.mbst-editor-preview p { margin: 0; padding: 12px 16px; border: 1px solid #dce4d9; border-radius: 4px; color: #375746; font-size: 14px; line-height: 1.6; }
.mbst-host > .mbst-panels > .mbst-panel[hidden] { display: none !important; }
.mbst-host:not(.mbst-ready)[data-initial="appointment"] > .mbst-panels > [data-mbst-panel="payment"],
.mbst-host:not(.mbst-ready)[data-initial="payment"] > .mbst-panels > [data-mbst-panel="appointment"] { display: none; }
.mbst-host[data-transition="fade"] > .mbst-panels > .mbst-panel.mbst-entering { animation: mbst-panel-in var(--mbst-panel-duration) ease-out; }
.mbst-panel:focus { outline: none; }
.mbst-panel:focus-visible { outline: 2px solid #207a40; outline-offset: 5px; }
.mbst-editor-toolbar, .mbst-editor-warning { display: none; }
@keyframes mbst-panel-in { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 767px) {
    .mbst-direct .mbst-checkout-button { width: 100%; }
    .mbst-selector { gap: 20px; }
    .mbst-book-card { padding: 20px; }
    .mbst-selector .mbst-promo-title { font-size: 40px; }
    .mbst-promo { padding: 28px; }
}
@media (max-width: 360px) {
    .mbst-book-card { padding: 18px 14px; }
    .mbst-card-header { gap: 10px; }
    .mbst-selector .mbst-card-title { font-size: 22px; }
    .mbst-selector .mbst-tab { gap: 10px; padding: 12px 10px; }
    .mbst-promo { padding: 24px 20px; }
    .mbst-selector .mbst-promo-title { font-size: 36px; }
    .mbst-selector .mbst-promo-tagline { font-size: 27px; }
}
@media (prefers-reduced-motion: reduce) {
    .mbst-selector *, .mbst-host > .mbst-panels > .mbst-panel { animation: none !important; transition-duration: 0ms !important; scroll-behavior: auto !important; }
    .mbst-selector .mbst-tab:hover { transform: none; }
}
@media print {
    .mbst-host > .mbst-panels > .mbst-panel,
    .mbst-host > .mbst-panels > .mbst-panel[hidden] { display: block !important; }
    .mbst-selector .mbst-tablist { display: none; }
}
