/* Quick details slide up inside the map; results remain independently usable. */
.mb-business-preview { --mb-preview-red:#cc0000; position:relative; display:flex; flex-direction:column; box-sizing:border-box; min-width:0; min-height:0; padding:0; border:1px solid #ddd; border-radius:12px; background:#fff; color:#333; text-align:left; font-family:inherit; visibility:hidden; opacity:0; pointer-events:none; }
.mb-business-preview *, .mb-business-preview *::before, .mb-business-preview *::after { box-sizing:border-box; }
.mb-business-preview.is-open { visibility:visible; opacity:1; pointer-events:auto; }
.mb-business-preview.is-map { position:absolute; z-index:8; inset:auto auto 16px 16px; width:min(400px,calc(100% - 32px)); height:min(860px,calc(100% - 32px)); max-height:calc(100% - 32px); margin:0; overflow:hidden; box-shadow:0 8px 32px #0002; transform:translateY(calc(100% + 32px)); transition:transform 180ms ease,opacity 140ms ease,visibility 0s 180ms; }
.mb-business-preview.is-map.is-open { transform:translateY(0); transition:transform 200ms cubic-bezier(.16,1,.3,1),opacity 140ms ease,visibility 0s; }
.mb-preview-header #mb-preview-label:not(.visually-hidden) { font-size:13px; font-weight:600; }
.mb-preview-back[hidden] { display:none; }
.mb-business-preview.is-sheet { position:fixed; z-index:1100; inset:auto 8px max(8px, env(safe-area-inset-bottom)); width:calc(100% - 16px); max-width:540px; height:min(90dvh,860px); max-height:calc(var(--mb-preview-visible-height,100dvh) - 16px); margin:0 auto; overflow:hidden; transform:translateY(110%); transition:transform 180ms ease,opacity 140ms ease,visibility 0s 180ms; }
.mb-business-preview.is-sheet.is-open { transform:translateY(0); transition:transform 220ms cubic-bezier(.16,1,.3,1),opacity 160ms ease,visibility 0s; }
.mb-business-preview.is-sheet::backdrop { background:rgb(20 25 32 / 38%); }
.mb-preview-header { display:flex; align-items:center; flex-shrink:0; gap:4px; padding:6px 12px; border-bottom:1px solid #eee; min-height:56px; }
.mb-preview-back { display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:6px 0; font:inherit; font-size:13px; font-weight:600; color:#333; background:none; border:0; cursor:pointer; }
.mb-preview-back svg { width:18px; height:18px; }
.mb-preview-bookmark { margin-left:auto; }
.mb-preview-bookmark .mb-save { position:static; margin:0; float:none; }
.mb-preview-bookmark .mb-save__icon, .mb-preview-close { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:8px; border:0; border-radius:6px; background:#fff; color:#333; cursor:pointer; }
.mb-preview-bookmark svg { width:18px; height:23px; }
.mb-preview-bookmark [aria-pressed=true] svg { fill:currentColor; color:#cc0000; }
.mb-preview-close svg { width:22px; height:22px; }
.mb-preview-close:hover, .mb-preview-bookmark button:hover { background:#fff3f3; color:#cc0000; }
.mb-preview-scroll { min-height:0; flex:1 1 auto; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-width:thin; padding:0; }
.mb-preview-text, .mb-preview-content > .mb-preview-details:not([data-preview-business-id]) { padding:16px; }
.mb-business-preview .mb-preview-name { margin:0 0 5px; font-size:20px; line-height:1.3; font-weight:600; letter-spacing:0; color:#333; overflow-wrap:anywhere; }
.mb-business-preview .mb-preview-category { margin:0 0 5px; font-size:13px; line-height:1.5; color:#cc0000; }
.mb-business-preview .mb-preview-reviews { margin:0 0 10px; font-size:13px; line-height:1.5; color:#626b78; }
.mb-preview-demo { display:inline-block; font-size:12px; padding:2px 6px; margin-bottom:4px; background:#f3f4f6; color:#626b78; }
.mb-preview-hours { display:flex; flex-wrap:wrap; align-items:center; gap:2px 8px; margin-bottom:10px; font-size:13px; line-height:1.5; }
.mb-preview-today { flex-basis:100%; color:#626b78; font-size:12px; }
.mb-preview-status { display:inline-flex; align-items:center; gap:6px; color:#626b78; font-weight:600; }
.mb-preview-status > span { width:8px; height:8px; border-radius:50%; background:currentColor; }
.mb-preview-status.is-open { color:#078235; }
.mb-preview-hours:is(.is-opening,.is-closing) .mb-preview-status { color:#946000; }
.mb-preview-closing { color:#626b78; }
.mb-preview-hours-toggle, .mb-preview-retry { min-height:44px; min-width:44px; border:0; background:none; padding:0; color:#cc0000; font:inherit; font-size:13px; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.mb-preview-hours-list { margin-bottom:12px; padding:10px; border:1px solid #e2e5eb; border-radius:6px; background:#fafbfc; }
.mb-preview-hours-list dl { margin:0; font-size:12px; line-height:1.5; }
.mb-preview-hours-list dl > div { display:flex; justify-content:space-between; gap:8px; padding:4px 0; }
.mb-preview-hours-list dt { font-weight:600; }
.mb-preview-hours-list dd { margin:0; text-align:right; color:#626b78; }
.mb-business-preview .mb-preview-address { display:flex; align-items:center; gap:8px; margin:0 0 12px; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.mb-preview-address svg { width:21px; height:24px; flex-shrink:0; color:#cc0000; }
.mb-preview-actions { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.mb-preview-actions > a { display:inline-flex; flex:1 1 90px; justify-content:center; align-items:center; gap:6px; min-height:44px; padding:8px; border:1px solid #cc0000; border-radius:6px; background:#fff; color:#cc0000; font-size:13px; font-weight:600; line-height:1.4; text-decoration:none; }
.mb-preview-actions > a:hover { background:#fff3f3; }
.mb-preview-actions svg { width:18px; height:18px; }
.mb-business-preview .mb-preview-section { float:none; width:100%; padding:12px 0 0; margin:0 0 14px; border-top:1px solid #eee; }
.mb-business-preview .mb-preview-section:last-child { margin-bottom:0; }
.mb-business-preview .mb-preview-section h3 { margin:0 0 6px; color:#333; font-size:15px; font-weight:600; line-height:1.4; }
.mb-business-preview .mb-preview-section p, .mb-preview-about { margin:0; color:#333; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.mb-preview-about p { margin:0 0 8px; }
.mb-preview-about img, .mb-preview-about iframe { max-width:100%; }
.mb-preview-about a, .mb-preview-about-more summary { color:#cc0000; }
.mb-preview-about ul, .mb-preview-about ol { padding-left:18px; }
.mb-preview-about-more summary { display:flex; align-items:center; min-height:44px; font-size:13px; cursor:pointer; }
.mb-preview-about-more .mb-preview-read-less { display:none; }
.mb-preview-about-more[open] .mb-preview-read-more { display:none; }
.mb-preview-about-more[open] .mb-preview-read-less { display:inline; }
.mb-preview-section:has(.mb-preview-about-more[open]) > .mb-preview-excerpt { display:none; }
.mb-preview-chips { display:flex; flex-wrap:wrap; gap:6px; padding:0; margin:0; list-style:none; }
.mb-preview-chips li { padding:4px 9px; border:1px solid #e1e5eb; border-radius:999px; background:#f3f5f7; font-size:12px; line-height:1.5; overflow-wrap:anywhere; max-width:100%; }
.mb-preview-options { display:grid; gap:6px; margin:0; padding:0; list-style:none; }
.mb-preview-options li { display:flex; align-items:center; gap:8px; font-size:13px; line-height:1.5; }
.mb-preview-options svg { width:22px; height:22px; color:#626b78; flex-shrink:0; }
.mb-preview-footer { flex-shrink:0; padding:12px 16px; border-top:1px solid #eee; background:#fff; }
.mb-preview-profile { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px; border-radius:6px; background:#cc0000; color:#fff; font-size:13px; font-weight:600; line-height:1.5; text-decoration:none; }
.mb-preview-profile:hover { background:#a30000; color:#fff; }
.mb-preview-profile svg { width:20px; height:20px; }
.mb-business-preview :is(a,button,summary):focus-visible { outline:3px solid #cc0000; outline-offset:2px; }
.mb-business-preview [hidden] { display:none !important; }
.mb-business-preview .visually-hidden { position:absolute !important; width:1px !important; height:1px !important; margin:-1px !important; padding:0 !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; border:0 !important; }
.mb-preview-feedback { padding:0 16px 16px; font-size:13px; line-height:1.5; color:#626b78; }
.mb-preview-feedback:empty { display:none; }
.mb-preview-feedback.is-loading { padding:16px; }
.mb-preview-media { position:relative; width:100%; padding:0; overflow:hidden; background:#f3f4f6; }
.mb-preview-slide { position:relative; aspect-ratio:16/9; width:100%; background:#f3f4f6; }
.mb-preview-slide > a { display:block; width:100%; height:100%; }
.mb-preview-slide img { display:block; width:100%; height:100%; object-fit:cover; }
.mb-preview-slide.is-logo img { object-fit:contain; padding:16px; }
.mb-preview-image-error { position:absolute; inset:0; display:flex; justify-content:center; align-items:center; font-size:13px; color:#626b78; }
.mb-preview-carousel.owl-carousel:not(.owl-loaded) { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; }
.mb-preview-carousel:not(.owl-loaded) > .mb-preview-slide { flex:0 0 100%; scroll-snap-align:start; }
.mb-preview-photo-nav { position:absolute; z-index:3; top:calc((100% - 44px)/2 - 22px); left:8px; right:8px; display:flex; justify-content:space-between; pointer-events:none; }
.mb-preview-photo-nav button { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:1px solid #ffffff90; border-radius:50%; background:#202631d9; color:#fff; font-size:28px; cursor:pointer; pointer-events:auto; }
.mb-preview-photo-nav button:disabled { opacity:.4; cursor:default; }
.mb-preview-photo-dots { height:44px; display:flex; flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; background:#fff; }
.mb-preview-photo-dots button { flex:0 0 44px; width:44px; height:44px; display:flex; align-items:center; justify-content:center; padding:0; border:0; background:#fff; cursor:pointer; }
.mb-preview-photo-dots span { width:6px; height:6px; border-radius:50%; background:#9aa1ab; }
.mb-preview-photo-dots [aria-pressed=true] span { background:#cc0000; }
@media (prefers-reduced-motion:reduce) { .mb-business-preview.is-map, .mb-business-preview.is-map.is-open, .mb-business-preview.is-sheet, .mb-business-preview.is-sheet.is-open { transition:none; } }

.mb-preview-photo-dots button:first-child { margin-left:auto; }
.mb-preview-photo-dots button:last-child { margin-right:auto; }
