/* Business widget presentation; shared skin assets contain no personal state. */
.mm-biz-view[data-field="description"] { white-space: normal; }
.grid-stack-item-content.mm-biz-widget {
  background: transparent !important; border: 0; box-shadow: none; padding: 0;
  overflow: visible; position: relative;
}
.mm-biz-widget > .mm-pw {
  height: 100%; display: flex; flex-direction: column; min-height: 0;
  position: relative; background: var(--pw-bg);
}
.mm-biz-widget .mm-pw__bar { flex-shrink: 0; padding-right: 52px; }
.mm-biz-widget .mm-pw__body { position: relative; flex: 1; min-height: 0; overflow: auto; }
.mm-biz-widget .mm-pw__body::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-color: rgb(var(--mm-widget-bg-rgb, 0 0 0 / 0));
  background-image: var(--mm-widget-bgimg, none);
  background-size: cover; background-position: center;
  opacity: var(--mm-widget-bg-layer-opacity, 0);
}
.mm-biz-widget-content { position: relative; z-index: 1; }
.mm-biz-widget a { color: inherit; }
.mm-biz-widget > .mm-pw > .mm-widget-style-layer {
  position: absolute; inset: 0; z-index: 30; pointer-events: none;
}
.mm-biz-widget > .mm-pw > .mm-widget-style-layer > .mm-widget-style-btn {
  position: absolute; top: 8px; right: 8px; left: auto; bottom: auto;
  pointer-events: auto;
}
.mm-biz-widget .mm-widget-style-btn { opacity: 0; transition: opacity 120ms ease; }
.mm-biz-widget:hover .mm-widget-style-btn,
.mm-biz-widget:focus-within .mm-widget-style-btn,
.mm-biz-widget.mm-widget-style-open .mm-widget-style-btn { opacity: 1; }
@media (hover: none) { .mm-biz-widget .mm-widget-style-btn { opacity: 1; } }
.mm-biz-style-pop.mm-floating { position: fixed; z-index: 9999; margin: 0; overflow-y: auto; }

/* Business page themes do not alter body or personal preferences. */
/* Paint beneath the fixed header as well as the content; retain content positions. */
.mm-biz-page { margin-top: calc(-1 * var(--mm-nav-height, 64px)); padding-top: var(--mm-nav-height, 64px); min-height: 100vh; background: var(--mm-bg, #f8fafc); color: var(--mm-text, #0f172a); }
.mm-biz-page .mm-biz-card { background: var(--mm-card-bg, #fff); border: 1px solid var(--mm-card-border, transparent); border-radius: var(--mm-radius, 8px); box-shadow: var(--mm-card-shadow, 0 1px 3px #0002); backdrop-filter: blur(var(--mm-blur, 0px)); }
.mm-biz-card :is(.text-gray-900,.text-gray-700) { color: var(--mm-text, #0f172a); }
.mm-biz-card :is(.text-gray-600,.text-gray-500,.text-gray-400) { color: var(--mm-text-muted, #475569); }
.mm-biz-card :is(.text-blue-600,.text-blue-700) { color: var(--mm-accent, #2563eb); }
.mm-biz-card [id$="-panel"] { --mm-text: #0f172a; --mm-text-muted: #475569; --mm-accent: #2563eb; }
#mm-biz-settings { width: min(420px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow: auto; }
#mm-biz-settings::backdrop { background: transparent; backdrop-filter:none; }

.mm-biz-card > .prose { color: var(--mm-text, #0f172a); }

/* Editor controls keep their own contrast across page themes. */
.mm-biz-page .mm-biz-editor-actions > :is(a, button) {
  color: #0f172a;
  background-color: #fff;
  border-color: #cbd5e1;
}
.mm-biz-page .mm-biz-editor-actions > :is(a, button):hover {
  color: #0f172a;
  background-color: #f8fafc;
}

/* Separate image and theme overlay layers leave content sharp. */
.mm-biz-page { position: relative; isolation: isolate; background: #f8fafc; overflow: clip; }
.mm-biz-page::before,.mm-biz-page::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.mm-biz-page::before { background-image: var(--mm-biz-bg-image,none); background-size: cover; background-position: center; filter: blur(var(--mm-biz-bg-blur,0px)); }
.mm-biz-page::after { background: var(--mm-bg,#f8fafc); opacity: var(--mm-biz-overlay-opacity,0.6); }
.mm-biz-page:not(.mm-biz-has-background)::after { opacity: 1; }

/* Theme inheritance hides retained overrides without deleting them. */
.mm-biz-widget[data-use-theme-defaults="1"] > .mm-pw { background: transparent; }
.mm-biz-widget[data-use-theme-defaults="1"] .mm-pw__body { color: var(--mm-text, #0f172a); }
.mm-biz-widget[data-use-theme-defaults="1"] .mm-pw__body::before { background: none; opacity: 0; }

.mm-biz-style-pop .mm-style-drag-handle { cursor: move; touch-action: none; user-select: none; }
.mm-biz-style-pop .mm-style-drag-handle:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
.mm-biz-style-pop .mm-style-close { cursor: pointer; }

.mm-biz-logo { width: 128px; height: 128px; object-fit: contain; margin-bottom: 12px; }
.mm-biz-page .mm-biz-action, .mm-biz-inline-form .mm-biz-action { display: inline-block; color: #0f172a; background: #fff; border: 1px solid #cbd5e1; border-radius: 6px; padding: 4px 8px; font-size: 12px; margin: 2px; }
.mm-biz-page [hidden], .mm-biz-inline-form [hidden] { display: none !important; }
.mm-biz-about-display[data-empty="1"] { min-height: 40px; cursor: text; }
.mm-biz-branding { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.mm-biz-inline-form,.mm-biz-about-panel { color: #0f172a; background: #fff; padding: 8px; border-radius: 8px; }
.mm-biz-inline-form input,.mm-biz-inline-form select { border: 1px solid #cbd5e1; padding: 6px; border-radius: 4px; max-width: 100%; }
.mm-biz-about-editor { min-height: 180px; padding: 10px; border: 1px solid #cbd5e1; margin: 8px 0; overflow-wrap: anywhere; }
.mm-biz-rich-content p { margin-bottom: 8px; }
.mm-biz-rich-content :is(h2,h3,h4) { font-weight: 600; margin: 12px 0 8px; }
.mm-biz-rich-content ul { list-style: disc; padding-left: 24px; }
.mm-biz-rich-content ol { list-style: decimal; padding-left: 24px; }
.mm-biz-rich-content blockquote { border-left: 3px solid #94a3b8; padding-left: 12px; }
.mm-biz-rich-content a { text-decoration: underline; }
.mm-biz-font-serif { font-family: Georgia,serif; }
.mm-biz-font-mono { font-family: monospace; }
.mm-biz-empty { background: var(--mm-card-bg,#fff); color: var(--mm-text,#0f172a); }

.mm-biz-view[data-field="location"][tabindex]:empty::after { content: "Add location"; opacity: .65; }
.mm-biz-inline-form textarea { width: 100%; min-height: 72px; border: 1px solid #cbd5e1; padding: 6px; }

/* Editing surfaces retain contrast independently of the page theme. */
.mm-biz-page #mm-biz-edit-panel,.mm-biz-page #mm-biz-contact-panel { background: #f8fafc; color: #0f172a; }
.mm-biz-page #mm-biz-edit-panel :is(input,textarea,select) { color: #0f172a; background: #fff; border-color: #94a3b8; }
.mm-biz-page #mm-biz-edit-panel label { color: #334155; }
.mm-biz-logo-frame { position: relative; width: var(--mm-biz-logo-size,192px); max-width: 100%; margin-bottom: 12px; }
.mm-biz-logo-frame .mm-biz-logo { display: block; width: 100%; height: auto; object-fit: contain; margin: 0; }
.mm-biz-logo-resize { display: none; position: absolute; right: 0; bottom: 0; width: 28px; height: 28px; color: #0f172a; background: #fff; border: 1px solid #64748b; border-radius: 4px; cursor: nwse-resize; touch-action: none; }
.mm-biz-editing .mm-biz-logo-resize { display: block; }
.mm-biz-editing .mm-biz-logo-frame { outline: 1px dashed #64748b; }

.mm-biz-contact-entry { margin: 8px 0; overflow-wrap: anywhere; }
.mm-biz-contact-entry a { color: var(--mm-accent,#2563eb); text-decoration: underline; }
.mm-biz-contact-editor-row { padding: 6px 0; border-bottom: 1px solid #cbd5e1; overflow-wrap: anywhere; }

/* Inline contacts stay compact; banner Edit retains full management. */
.mm-biz-contact-inline-form { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 6px 0; font-size: 13px; }
.mm-biz-contact-inline-field { min-width: 0; }
.mm-biz-page .mm-biz-contact-inline-form :is(input,select) { color: #0f172a; background: #fff; border: 1px solid #94a3b8; border-radius: 5px; padding: 4px 6px; max-width: 100%; }
.mm-biz-contact-inline-field:nth-child(2) { flex: 1 1 160px; }
.mm-biz-contact-inline-field:nth-child(2) input { width: 100%; }
.mm-biz-contact-inline-primary { display: inline-flex; gap: 4px; align-items: center; }
.mm-biz-contact-inline-status { flex-basis: 100%; color: #b91c1c; }

/* Float identity editors above the page without changing banner geometry. */
.mm-biz-inline-form { position: fixed; z-index: 10000; width: 340px; max-width: calc(100vw - 16px); max-height: calc(100vh - 16px); overflow: auto; box-sizing: border-box; border: 1px solid #94a3b8; box-shadow: 0 8px 28px rgba(0,0,0,.25); }
.mm-biz-inline-form label { display: block; margin-bottom: 8px; }
.mm-biz-inline-form :is(input,select,textarea) { display: block; width: 100%; box-sizing: border-box; color: #0f172a; background: #fff; }

.mm-biz-inline-form .mm-biz-action { margin: 0 8px 0 0; cursor: pointer; }
.mm-biz-inline-form .mm-biz-action:hover { background: #e2e8f0; }
.mm-biz-inline-form .mm-biz-action:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
.mm-biz-inline-form [role="status"] { display: block; margin-top: 6px; }
.mm-biz-inline-form [role="status"]:empty { display: none; }

/* Business profile design: decorative layers never clip owner controls. */
.mm-biz-banner{position:relative;isolation:isolate;min-height:300px;padding:28px;margin:-8px -8px 24px;color:var(--mm-text,#0f172a)}
.mm-biz-banner> .flex{position:relative;z-index:2}
.mm-biz-banner-paint,.mm-biz-banner-art{position:absolute;inset:0;pointer-events:none;z-index:-1;border-radius:var(--mm-radius,16px)}
.mm-biz-banner-paint{background:var(--mm-card-bg,#fff);border:1px solid var(--mm-card-border,#e2e8f0);box-shadow:var(--mm-card-shadow,0 6px 22px #0f172a15)}
.mm-biz-banner[data-shape=none] .mm-biz-banner-paint{background:none;border:0;box-shadow:none}
.mm-biz-banner[data-shape=soft] .mm-biz-banner-paint{border-radius:28px}
.mm-biz-banner[data-shape=organic] .mm-biz-banner-paint{border-radius:24% 12% 22% 15% / 20% 30% 18% 28%}
.mm-biz-banner[data-shape=cloud] .mm-biz-banner-paint{border:0;border-radius:0;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 300' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M75 250 Q10 250 25 200 Q-5 160 30 120 Q10 65 80 60 Q110 5 200 30 Q280 0 350 25 Q450 0 530 20 Q650 0 730 25 Q830 0 895 45 Q980 25 975 90 Q1020 125 985 165 Q1010 225 950 235 Q940 285 850 270 Q760 300 675 275 Q570 300 470 275 Q350 300 255 275 Q130 290 75 250Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.mm-biz-banner[data-shape=ticket] .mm-biz-banner-paint{border:0;border-radius:14px;mask:radial-gradient(circle at left,transparent 16px,#000 17px) left/51% 100% no-repeat,radial-gradient(circle at right,transparent 16px,#000 17px) right/51% 100% no-repeat}
.mm-biz-banner-art{z-index:0;opacity:.7}
.mm-biz-banner[data-backdrop=brush] .mm-biz-banner-art{inset:10% 3%;background:linear-gradient(175deg,transparent 7%,#c4b5fd 8% 28%,transparent 29% 35%,#fbcfe8 36% 56%,transparent 57% 63%,#a5f3fc 64% 85%,transparent 86%);clip-path:polygon(3% 0,100% 4%,96% 18%,100% 32%,95% 46%,100% 68%,97% 85%,100% 100%,0 97%,4% 80%,0 60%,4% 45%,0 25%)}
.mm-biz-banner[data-backdrop=watercolour] .mm-biz-banner-art{background:radial-gradient(ellipse at 18% 30%,#a5f3fc88,transparent 50%),radial-gradient(ellipse at 75% 60%,#fbcfe8aa,transparent 60%),radial-gradient(ellipse at 50% 10%,#c4b5fd99,transparent 55%)}
.mm-biz-banner[data-backdrop=clouds] .mm-biz-banner-art{background:radial-gradient(ellipse at 15% 70%,#bfdbfe 0 15%,transparent 16%),radial-gradient(ellipse at 65% 30%,#ddd6fe 0 22%,transparent 23%),radial-gradient(ellipse at 85% 75%,#e0f2fe 0 18%,transparent 19%)}
.mm-biz-banner[data-backdrop=collage] .mm-biz-banner-art{background:linear-gradient(120deg,#fde68a66 0 30%,transparent 31% 65%,#f9a8d477 66%),repeating-linear-gradient(30deg,transparent 0 35px,#c4b5fd44 36px 70px)}
.mm-biz-banner[data-backdrop=aurora] .mm-biz-banner-art{background:linear-gradient(120deg,#67e8f966,#a78bfa77,#f9a8d466);filter:blur(12px)}
#mm-biz-banner-open{position:absolute;right:12px;top:12px;z-index:10;border:1px solid #d8dfea;border-radius:50%;width:36px;height:36px;background:#fff;color:#6d28d9;box-shadow:0 2px 9px #0001}
#mm-biz-logo-frame,#mm-biz-identity{z-index:3;position:relative}
#mm-biz-identity{max-width:100%;overflow-wrap:anywhere}
.mm-biz-banner[data-frame=tv] #mm-biz-logo-frame{padding:12px 25px 12px 12px;background:#805a3e;border:3px solid #c9a881;border-radius:22px;box-shadow:0 8px 22px #0002}
.mm-biz-banner[data-frame=tv] #mm-biz-logo{border-radius:22%;border:5px solid #262626}
.mm-biz-banner[data-frame=mirror] #mm-biz-logo-frame{padding:10px;background:linear-gradient(135deg,#e2e8f0,#fff,#94a3b8);border-radius:50% 50% 12% 12%;box-shadow:0 8px 22px #0002}
.mm-biz-banner[data-frame=mirror] #mm-biz-logo{border-radius:50% 50% 10% 10%}
.mm-biz-banner[data-frame=polaroid] #mm-biz-logo-frame{padding:12px 12px 36px;background:#fff;box-shadow:0 10px 22px #0003;transform:rotate(-5deg)}
.mm-biz-banner[data-frame=polaroid][data-tilt=straight] #mm-biz-logo-frame{transform:none}
.mm-biz-banner[data-frame=polaroid][data-tilt=right] #mm-biz-logo-frame{transform:rotate(5deg)}
.mm-biz-banner[data-frame=arch] #mm-biz-logo{border-radius:50% 50% 5% 5%}
.mm-biz-design-window{width:min(460px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:20px;border:1px solid #d8dfea;border-radius:22px;background:white;color:#0f172a;box-shadow:0 16px 48px #0f172a25;z-index:100070;overflow:auto}
.mm-biz-design-window header{display:flex;justify-content:space-between;align-items:center;font-size:20px;font-weight:700;margin-bottom:16px}
.mm-biz-design-window header button{background:#f1f5f9;border-radius:10px;padding:4px 10px}
.mm-biz-design-tabs{display:flex;gap:4px;padding:4px;background:#f1f5f9;border-radius:12px;margin-bottom:16px}
.mm-biz-design-tabs button{flex:1;padding:8px;font-size:13px;border-radius:9px}
.mm-biz-design-tabs [aria-selected=true]{background:#fff;color:#6d28d9;box-shadow:0 2px 6px #0001}
.mm-biz-design-window [role=tabpanel]{min-height:280px}
.mm-biz-design-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mm-biz-design-choices button{text-align:left;border:1px solid #d8dfea;border-radius:12px;padding:8px;font-size:13px}
.mm-biz-design-choices [aria-pressed=true]{border-color:#8b5cf6;background:#faf5ff;box-shadow:0 0 0 2px #8b5cf611}
.mm-biz-design-preview{display:block;height:48px;background:linear-gradient(135deg,#ddd6fe,#e2e8f0);border-radius:8px;margin-bottom:5px}
.mm-biz-design-preview[data-shape=none]{background:repeating-conic-gradient(#e2e8f0 0 25%,white 0 50%) 0/12px 12px}
.mm-biz-design-preview[data-shape=cloud]{border-radius:40%;outline:4px dashed #ddd6fe;outline-offset:-3px}
.mm-biz-design-preview[data-shape=organic]{border-radius:30% 15% 25% 20%}
.mm-biz-design-preview[data-shape=ticket]{mask:radial-gradient(circle at left,transparent 6px,#000 7px) left/51% 100% no-repeat,radial-gradient(circle at right,transparent 6px,#000 7px) right/51% 100% no-repeat}
.mm-biz-design-preview[data-backdrop=brush]{background:repeating-linear-gradient(170deg,#ddd6fe 0 12px,transparent 13px 18px,#fbcfe8 19px 30px)}
.mm-biz-design-preview[data-backdrop=watercolour],.mm-biz-design-preview[data-backdrop=aurora]{background:linear-gradient(120deg,#a5f3fc,#ddd6fe,#fbcfe8)}
.mm-biz-design-preview[data-frame=tv]{border:8px solid #805a3e;border-right-width:16px}
.mm-biz-design-preview[data-frame=polaroid]{border:6px solid white;border-bottom-width:14px;box-shadow:0 2px 5px #0003;transform:rotate(-4deg)}
.mm-biz-design-preview[data-frame=mirror],.mm-biz-design-preview[data-frame=arch]{border-radius:50% 50% 10% 10%}
.mm-biz-design-label{display:block;font-size:13px;margin:14px 0}.mm-biz-design-label select{border:1px solid #cbd5e1;border-radius:8px;padding:6px}.mm-biz-design-label input{width:100%}
.mm-biz-design-window footer{border-top:1px solid #e2e8f0;padding-top:12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.mm-biz-design-window footer p{width:100%}
.mm-biz-about-editor{min-height:0;padding:0;margin:0;border:0;outline:0;background:transparent;color:inherit;font:inherit}
.mm-biz-about-panel,.mm-biz-about-display{padding:0;margin:0}
.mm-biz-text-heading{font-size:1.45em;line-height:1.2;font-weight:700;margin:0 0 .5em}
.mm-biz-about-status{font-size:12px;width:100%}.mm-biz-about-editor>:first-child,.mm-biz-about-display>:first-child{margin-top:0}
[data-biz-title-owner]{cursor:text}.mm-biz-display-status{font-size:12px}
@media(max-width:767px){.mm-biz-banner{padding:16px;min-height:0;margin:0 0 18px}.mm-biz-banner>.flex{display:block}.mm-biz-editor-actions{margin-top:20px}.mm-biz-banner #mm-biz-logo-frame{max-width:100%}.mm-biz-banner #mm-biz-logo{max-width:100%}.mm-biz-banner #mm-biz-logo-resize{display:none}.mm-biz-design-window [role=tabpanel]{min-height:240px}}
@media(prefers-reduced-motion:no-preference){.mm-biz-design-choices button{transition:background .18s,box-shadow .18s}}

.mm-biz-page .mm-biz-profile-card{background:transparent;border:0;box-shadow:none;backdrop-filter:none;padding:0}
.mm-biz-profile-card>hr{display:none}
.mm-biz-banner>.flex>.min-w-0{display:flex;align-items:center;gap:28px;flex:1}
.mm-biz-banner #mm-biz-logo{margin:0;max-width:100%}
.mm-biz-banner #mm-biz-identity{flex:1;min-width:0}
.mm-biz-banner #mm-biz-logo-frame{flex:none;box-sizing:content-box}
.mm-biz-banner-slot:empty{flex:none}
.mm-biz-banner .mm-biz-editor-actions{padding-top:35px}
.mm-biz-about-panel{background:transparent;color:inherit}
.mm-biz-about-open{position:absolute;right:10px;top:8px}
.mm-biz-about{position:relative}
.mm-biz-about:not(:hover):not(:focus-within) .mm-biz-about-open{visibility:hidden}
.mm-biz-design-window [hidden],.mm-biz-about-toolbar [hidden]{display:none!important}
@media(max-width:767px){.mm-biz-banner>.flex>.min-w-0{display:block}.mm-biz-banner #mm-biz-logo-frame{margin-bottom:16px;width:min(var(--mm-biz-logo-size,192px),160px,65vw)}.mm-biz-banner .mm-biz-editor-actions{padding-top:0}}

.mm-biz-banner>.flex{position:static}
.mm-biz-banner .mm-biz-editor-actions{position:absolute;right:12px;bottom:12px;padding:0;z-index:10}
.mm-biz-banner:not(:hover):not(:focus-within) .mm-biz-editor-actions{visibility:hidden}
.mm-biz-banner.mm-biz-banner-unlocked :is(#mm-biz-logo-frame,#mm-biz-identity){cursor:grab;touch-action:none;outline:1px dashed #8b5cf655;outline-offset:5px}
.mm-biz-banner.mm-biz-banner-unlocked :is(#mm-biz-logo-frame,#mm-biz-identity):focus-visible{outline:2px solid #8b5cf6}
@media(max-width:767px){.mm-biz-banner .mm-biz-editor-actions{position:static;margin-top:16px;visibility:visible}}

.mm-biz-banner>.flex>.min-w-0{flex-wrap:wrap}
.mm-biz-banner #mm-biz-identity{min-width:min(320px,100%)}

@media(max-width:767px){.mm-biz-banner .mm-biz-editor-actions{visibility:visible!important}.mm-biz-banner .mm-biz-editor-actions :is(a,button){min-height:44px}.mm-biz-about .mm-biz-about-open{visibility:visible!important}#mm-biz-banner-open{width:44px;height:44px}}

/* Actual failed saves remain visible after a settings window closes. */
.mm-biz-display-error{position:absolute;left:8px;right:8px;bottom:8px;z-index:30}
.mm-biz-display-error>.mm-biz-persistence-status,.mm-biz-banner-save-error>.mm-biz-persistence-status{background:#fff7ed;color:#9a3412;border:1px solid #fdba74;border-radius:10px;padding:8px;box-shadow:0 3px 12px #0001;font:13px/1.4 system-ui,sans-serif;overflow-wrap:anywhere}
.mm-biz-display-error button,.mm-biz-banner-save-error button{min-height:32px;color:#9a3412}
.mm-biz-banner-save-error>.mm-biz-persistence-status{margin:0 0 12px}

@media(max-width:767px){.mm-biz-display-error button,.mm-biz-banner-save-error button,.mm-biz-design-window footer button,.mm-biz-design-window header button,.mm-biz-about-toolbar button{min-height:44px}}

.mm-biz-banner.mm-biz-banner-unlocked :is(#mm-biz-logo-frame,#mm-biz-identity){user-select:none}

/* The entire Banner design header is a drag handle, including its empty space. */
.mm-biz-design-window > header{cursor:grab;touch-action:none;user-select:none;}
.mm-biz-design-window > header:active{cursor:grabbing;}
.mm-biz-design-window > header .mm-biz-banner-close{cursor:pointer;}

.mm-biz-contact-inline-form.mm-biz-inline-form{display:block;z-index:100080;margin:0;}
.mm-biz-contact-inline-form.mm-biz-inline-form label{display:block;margin-bottom:8px;}
.mm-biz-contact-entry{position:relative;}
.mm-biz-contact-entry .mm-biz-contact-edit{opacity:0;transition:opacity .15s;}
.mm-biz-contact-entry:hover .mm-biz-contact-edit,.mm-biz-contact-entry:focus-within .mm-biz-contact-edit{opacity:1;}
@media(hover:none){.mm-biz-contact-entry .mm-biz-contact-edit{opacity:1;}}

.mm-biz-view[data-field="description"]{white-space:pre-line;}

.mm-biz-contact-inline-form.mm-biz-inline-form .mm-biz-contact-inline-primary{display:flex;align-items:center;gap:8px;}
.mm-biz-contact-inline-form.mm-biz-inline-form input[type="checkbox"]{display:inline-block;width:auto;}
.mm-biz-contact-entry .mm-biz-contact-edit{position:absolute;right:0;top:0;}

/* Default is a readable card theme even over a dark image or solid colour. */
.mm-biz-page[data-theme="default"] .mm-biz-widget[data-use-theme-defaults="1"]>.mm-pw{background:var(--pw-bg,#fff)}
.mm-biz-page[data-theme="default"] .mm-biz-widget[data-use-theme-defaults="1"] .mm-pw__body{background:var(--pw-bg,#fff);color:var(--pw-body-text,#0f172a)}
.mm-biz-page>main{max-width:var(--mm-biz-content-width,896px)}
.mm-biz-page::before{background-color:var(--mm-biz-base-color,transparent)}
.mm-biz-page{font-family:var(--mm-biz-font,var(--mm-font,system-ui,sans-serif))}
.mm-biz-page .mm-biz-widget .mm-pw__body{font-family:var(--mm-widget-font,var(--mm-biz-font,var(--mm-font,system-ui,sans-serif)));font-size:calc(14px * var(--mm-biz-text-scale,1));line-height:1.5}
.mm-biz-page :is(.mm-biz-rich-content,.mm-bsite-intro){font-size:calc(16px * var(--mm-biz-text-scale,1))}
#mm-biz-settings.mm-biz-settings-window{width:min(640px,calc(100vw - 16px));padding:0;overflow:hidden;max-height:calc(100dvh - 16px)}
.mm-biz-settings-window>form{display:flex;flex-direction:column;min-height:0;max-height:calc(100dvh - 18px);margin:0}
.mm-biz-settings-window header{flex:none}
.mm-biz-settings-window footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--mm-ui-panel-border,#ddd6fe);padding:12px 16px;flex:none}
.mm-biz-settings-window [data-cal-overlay-body]{min-height:0;overflow:auto}
.mm-biz-settings-panel{display:grid;gap:12px;font:14px/1.5 system-ui,sans-serif;margin-top:12px}
.mm-biz-settings-window [hidden]{display:none!important}
.mm-biz-settings-panel label{display:grid;gap:6px;font-size:12px}
.mm-biz-settings-panel input:not([type=checkbox]),.mm-biz-settings-panel select{width:100%;box-sizing:border-box}
.mm-biz-settings-panel input[type=color]{width:72px;height:36px;padding:3px}
.mm-biz-settings-panel input[type=range]{accent-color:var(--mm-ui-accent,#6350bd)}
.mm-biz-settings-panel .mm-biz-settings-check{display:flex;align-items:center;gap:8px;font-size:14px}
.mm-biz-settings-panel p{margin:0;font-size:13px}
.mm-biz-settings-panel output{font-variant-numeric:tabular-nums}
.mm-biz-theme-previews{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.mm-biz-theme-previews>button{display:grid;gap:5px;min-width:0;text-align:left}
.mm-biz-theme-previews>button>span{display:flex;gap:5px;padding:8px;background:var(--mm-bg,#f1f5f9);border-radius:6px;height:54px}
.mm-biz-theme-previews i{flex:1;border:1px solid var(--mm-card-border,#e2e8f0);border-radius:4px;background:var(--mm-card-bg,#fff)}
.mm-biz-theme-previews [aria-pressed=true]{outline:2px solid var(--mm-ui-accent,#6350bd);outline-offset:1px}
#mm-biz-background-preview{width:100%;max-height:130px;object-fit:cover;border-radius:8px}
#mm-biz-settings-status:empty{display:none}
@media(max-width:480px){.mm-biz-theme-previews{grid-template-columns:repeat(2,minmax(0,1fr))}.mm-biz-settings-window footer{padding:10px}.mm-biz-settings-window [role=tablist]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}

.mm-biz-page{--mm-ui-accent:var(--mm-accent,#2563eb);--mm-ui-focus:var(--mm-accent,#2563eb);--mm-ui-on-accent:var(--mm-biz-on-accent,#fff)}
.mm-biz-settings-window .mm-biz-settings-panel input[type=color]{width:72px!important;max-width:72px!important}

/* Business banner text alignment and content-safe height resizing. */
#mm-biz-banner[data-text-align=left] #mm-biz-identity{text-align:left}
#mm-biz-banner[data-text-align=center] #mm-biz-identity{text-align:center}
#mm-biz-banner[data-text-align=right] #mm-biz-identity{text-align:right}
#mm-biz-banner[data-text-align=center] #mm-biz-identity>.flex{justify-content:center}
#mm-biz-banner[data-text-align=right] #mm-biz-identity>.flex{justify-content:flex-end}
#mm-biz-banner-resize{display:none;position:absolute;right:5px;bottom:5px;z-index:12;width:28px;height:28px;border:1px solid var(--mm-ui-border,#d8dfea);border-radius:7px;background:var(--mm-ui-surface,#fff);color:var(--mm-ui-button-text,#5041a1);cursor:ns-resize;touch-action:none}
.mm-biz-banner-unlocked #mm-biz-banner-resize{display:block}
#mm-biz-banner-design{padding:0;overflow:hidden;width:min(520px,calc(100vw - 16px))}
#mm-biz-banner-design[open]{display:flex;flex-direction:column}
#mm-biz-banner-design>header{padding:12px 16px;margin:0;flex:none}
#mm-biz-banner-design>[data-cal-overlay-body]{padding:12px 16px;min-height:0;overflow:auto}
#mm-biz-banner-design>footer{padding:12px 16px;flex:none}
#mm-biz-banner-design [role=tabpanel]{min-height:0;padding-top:12px}
#mm-biz-banner-design .mm-biz-design-tabs{flex-wrap:wrap}
#mm-biz-banner-design [type=range],#mm-biz-banner-design select{max-width:100%}

#mm-biz-banner-design .mm-biz-design-label{display:grid;gap:6px;margin:12px 0;font-size:13px}
#mm-biz-banner-design .mm-biz-design-check{display:flex;align-items:center;gap:8px}
#mm-biz-banner-design .mm-biz-design-check input{width:auto;flex:none}
#mm-biz-banner-design p{font-size:13px;line-height:1.5}
/* Contact is a normal Business app; its chrome and custom skins use shared rules. */
.mm-biz-contact-content{font-family:var(--mm-contact-font,inherit);font-size:var(--mm-contact-size,14px);text-align:var(--mm-contact-align,left)}
.mm-biz-contact-content .mm-biz-contact-entry{display:flex;flex-wrap:wrap;gap:5px;align-items:center;overflow-wrap:anywhere;font:inherit;margin-bottom:8px}
.mm-biz-contact-content #mm-biz-contact-view a,.mm-biz-contact-content #mm-biz-contact-view span,.mm-biz-contact-content .mm-biz-contact-entry>div{font:inherit;max-width:100%;overflow-wrap:anywhere}
.mm-biz-contact-content .mm-biz-contact-entry>div{flex-basis:100%;margin:0}
.mm-biz-contact-content[data-contact-align=center] .mm-biz-contact-entry{justify-content:center}
.mm-biz-contact-content[data-contact-align=right] .mm-biz-contact-entry{justify-content:flex-end}
.mm-biz-contact-content .mm-biz-contact-edit{font:12px system-ui,sans-serif}
.mm-contact-style-controls label{margin-top:10px}
.mm-contact-style-controls select{max-width:100%;font:inherit}

/* Business Widget style: wide controls on desktop, one scrollable column on phones. */
.mm-biz-style-pop.mm-floating{width:min(640px,calc(100vw - 16px));box-sizing:border-box;max-height:calc(100dvh - 16px);padding:0;overflow:hidden;border:1px solid var(--mm-ui-panel-border,#d8dfea);border-radius:var(--mm-ui-radius-panel,14px);background:var(--mm-ui-surface,#fff);color:var(--mm-ui-text,#243047);box-shadow:0 14px 40px #0f172a24}
.mm-biz-style-pop.mm-floating:not(.hidden){display:flex;flex-direction:column}
.mm-biz-style-pop .mm-style-drag-handle{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:11px 14px;margin:0;border-bottom:1px solid var(--mm-ui-panel-border,#d8dfea);cursor:grab;background:var(--mm-ui-panel-bg,#faf9ff);border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0}
.mm-biz-style-pop .mm-style-drag-handle strong{font-size:14px}
.mm-biz-style-pop .mm-style-close{min-width:28px}
.mm-biz-style-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;padding:12px;overflow:auto;min-height:0;overscroll-behavior:contain}
.mm-style-theme-row{grid-column:1/-1;display:flex;gap:8px 14px;align-items:center;flex-wrap:wrap}
.mm-style-theme-row p{margin:0;font-size:12px;color:var(--mm-ui-muted,#64748b)}
.mm-style-column{display:grid;gap:12px;min-width:0}
.mm-style-panel{border:1px solid var(--mm-ui-panel-border,#e2def1);border-radius:var(--mm-ui-radius-panel,10px);padding:12px;min-width:0;background:var(--mm-ui-panel-bg,#faf9ff)}
.mm-style-panel h3{font-size:13px;font-weight:650;margin:0 0 10px}
.mm-biz-style-pop .mm-style-panel label{display:flex;flex-direction:column;gap:5px;margin:10px 0 5px;font-size:12px;min-width:0}
.mm-biz-style-pop label.mm-style-check{display:flex;flex-direction:row;align-items:center;gap:8px;margin:0;font-size:12px}
.mm-biz-style-pop .mm-style-panel label.mm-style-check{margin-top:12px}
.mm-biz-style-pop .mm-style-check input{width:auto;flex:none}
.mm-style-panel input:not([type=checkbox]):not([type=color]),.mm-style-panel select{width:100%;min-width:0;box-sizing:border-box;font:inherit}
.mm-style-panel input:not([type=range]):not([type=checkbox]):not([type=color]),.mm-style-panel select{min-height:32px;border:1px solid var(--mm-ui-border,#cbd5e1);border-radius:var(--mm-ui-radius-control,8px);padding:5px 7px;background:var(--mm-ui-surface,#fff);color:inherit}
.mm-style-panel input[type=color]{width:48px;height:32px;padding:0;border:1px solid var(--mm-ui-border,#cbd5e1);border-radius:6px;flex:none}
.mm-style-inline,.mm-style-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mm-style-inline{justify-content:flex-start}.mm-style-panel-heading h3{margin:0}
.mm-style-range-ends{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--mm-ui-muted,#64748b)}
.mm-style-panel .mm-style-help{font-size:11px;margin:6px 0 0;color:var(--mm-ui-muted,#64748b)}
.mm-style-field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mm-biz-style-pop .hidden{display:none!important}
.mm-biz-style-pop>[role=status],.mm-biz-style-pop>.mm-biz-persistence-status{flex:none;max-height:25vh;overflow:auto}
@media(max-width:599px){.mm-biz-style-fields{grid-template-columns:minmax(0,1fr)}.mm-style-theme-row{align-items:flex-start;flex-direction:column;gap:5px}}

/* Match the banner edges while retaining GridStack's internal app gutters. */
.mm-biz-page{--mm-biz-banner-outset:8px}
.mm-biz-page #mm-biz-banner{margin-left:calc(0px - var(--mm-biz-banner-outset));margin-right:calc(0px - var(--mm-biz-banner-outset))}
.mm-biz-page #biz-widgets-container{--mm-biz-grid-edge:calc(var(--mm-biz-app-inset,16px) + var(--mm-biz-banner-outset));width:calc(100% + var(--mm-biz-grid-edge) + var(--mm-biz-grid-edge));margin-left:calc(0px - var(--mm-biz-grid-edge));margin-right:calc(0px - var(--mm-biz-grid-edge))}
@media(max-width:767px){.mm-biz-page{--mm-biz-banner-outset:0px}}

/* Footer shares the Business background rather than the site body. */
.mm-biz-page>footer{background:transparent;color:var(--mm-biz-footer-ink,var(--mm-text,#0f172a))!important;text-shadow:0 1px 2px var(--mm-biz-footer-shadow,transparent)}



/* Banner text choices override legacy grey utilities only in the identity block. */
#mm-biz-banner[data-text-tone]:not([data-text-tone="theme"]) #mm-biz-identity{color:var(--mm-biz-banner-text,inherit);text-shadow:var(--mm-biz-banner-text-shadow,none)}
#mm-biz-banner[data-text-tone]:not([data-text-tone="theme"]) #mm-biz-identity :is(h1,span,div,a){color:inherit}
.mm-biz-banner-colours{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.mm-biz-colour-input{display:flex;align-items:center;gap:8px}.mm-biz-colour-input input[type=color]{width:46px;height:34px;min-width:46px;padding:3px}.mm-biz-colour-input output{font-size:12px;font-variant-numeric:tabular-nums}#mm-biz-banner-design .mm-biz-banner-colour-note{margin:0 0 12px;font-size:12px;color:var(--mm-ui-muted,#64748b)}
@media(max-width:480px){.mm-biz-banner-colours{grid-template-columns:minmax(0,1fr)}.mm-biz-banner-colours .mm-biz-design-label{margin-bottom:0}}

/* Opt-in Text Box reading area: scroll only the text, never the surrounding page. */
.mm-biz-widget .mm-pw__body:has(.mm-biz-about[data-auto-scroll="1"]:not([data-scroll-editing="true"])){overflow:hidden}
.mm-biz-widget-content:has(>.mm-biz-about[data-auto-scroll="1"]:not([data-scroll-editing="true"])){height:100%;min-height:0}
.mm-biz-about[data-auto-scroll="1"]:not([data-scroll-editing="true"]){height:100%;min-height:0;display:flex;flex-direction:column}
.mm-biz-about[data-auto-scroll="1"]:not([data-scroll-editing="true"])>.mm-biz-text-heading{flex:none}
.mm-biz-about[data-auto-scroll="1"]:not([data-scroll-editing="true"])>.mm-biz-about-display{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scroll-behavior:auto;overscroll-behavior:auto}
.mm-text-scroll-controls{flex:none;display:flex;justify-content:flex-end;margin-top:8px}.mm-text-scroll-controls[hidden]{display:none!important}
