/* MuyCerca · Commerce view 1. Scoped enhancement; existing no-JS view is retained. */
.mc-cv {
  --cv-ink: #062b59; --cv-teal: #007d79; --cv-line: #dce5eb;
  --cv-muted: #536578; --cv-soft: #f2f7f8; --cv-radius: 20px;
}
.mc-cv #portalResultsGrid { gap: 20px; align-items: start; }
.mc-cv .mc-v17-group-card { border: 1px solid var(--cv-line) !important; border-radius: var(--cv-radius) !important; box-shadow: none !important; }
.mc-cv .mc-v17-group-hero { padding: 18px 20px !important; background: #f2f8f8 !important; gap: 16px !important; box-sizing: border-box; }
.mc-cv .mc-v17-group-icon { width: 72px !important; height: 72px !important; background: transparent !important; box-shadow: none !important; border: 0 !important; overflow: visible !important; }
.mc-cv .mc-v17-group-icon img { width: 68px !important; height: 68px !important; object-fit: contain; }
.mc-cv .mc-v17-group-title > :first-child { font-size: 1.2rem !important; line-height: 1.3 !important; white-space: normal !important; color: var(--cv-ink); }
.mc-cv .mc-v17-group-title > :last-child { font-size: .875rem !important; color: var(--cv-muted) !important; }
.mc-cv .mc-v17-business-row { padding: 18px 20px !important; gap: 12px 20px !important; align-items: center !important; flex-wrap: wrap; }
.mc-cv .mc-v17-business-main { flex: 1 1 220px !important; }
.mc-cv .mc-v17-business-name { display: block !important; font-size: 1rem !important; line-height: 1.45 !important; -webkit-line-clamp: unset !important; color: var(--cv-ink); overflow-wrap: anywhere; }
.mc-cv .mc-v17-business-main > span { white-space: normal !important; font-size: .875rem !important; line-height: 1.5; color: var(--cv-muted) !important; }
.mc-cv .mc-v17-business-actions { max-width: 100% !important; overflow: visible !important; flex-wrap: wrap; gap: 8px !important; }
.mc-cv .mc-v17-business-actions > *, .mc-cv .miniContact > a, .mc-cv .mcFavBtn { min-height: 44px; min-width: 44px; box-sizing: border-box; }
.mc-cv .mc-v17-business-actions .contactChip, .mc-cv .miniContact .contactChip { display: inline-flex; align-items: center; justify-content: center; gap: 7px; border-radius: 12px; font-size: .875rem; padding: 9px 12px; text-decoration: none; border: 1px solid var(--cv-line); background: #fff; color: var(--cv-ink); }
.mc-cv .mc-v17-call, .mc-cv .miniContact .is-cta { background: var(--cv-ink) !important; color: #fff !important; border-color: var(--cv-ink) !important; }
.mc-cv .mcFavBtn { display: inline-flex; align-items: center; justify-content: center; gap: 4px; flex-shrink: 0; border: 1px solid var(--cv-line); border-radius: 50%; background: #fff; color: var(--cv-ink); text-decoration: none; }
.mc-cv .mcFavBtn.is-active { color: #b72126; border-color: #eebabe; }
.mc-cv .mc-portal-line-card { border: 1px solid var(--cv-line); box-shadow: none; border-radius: var(--cv-radius); overflow: hidden; }
.mc-cv .mc-portal-line-card .meta { padding: 18px; min-width: 0; }
.mc-cv .mc-portal-line-card .name { color: var(--cv-ink); font-size: 1.125rem; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; }
.mc-cv .mc-portal-line-card .loc { font-size: .875rem; line-height: 1.5; white-space: normal; color: var(--cv-muted); }
.mc-cv .miniContact, .mc-cv .priceStrip { flex-wrap: wrap; overflow: visible; gap: 8px; }
.mc-cv .priceStrip .priceChip { font-size: .875rem; white-space: normal; }
.mc-cv .mc-portal-line-card .row { flex-wrap: wrap; gap: 8px; }
.mc-cv .cv-action-icon { width: 20px; height: 20px; flex-shrink: 0; vertical-align: middle; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.mc-cv .mcFavBtn.is-active .cv-action-icon { fill: currentColor; }
.mc-cv .cv-favorite-glyph { font-size: 0; }
.mc-cv a:focus-visible, .mc-cv button:focus-visible, .mc-cv input:focus-visible { outline: 3px solid #007d79; outline-offset: 3px; }
.mc-cv .quickSearch { border-radius: var(--cv-radius); }
.mc-cv .quickSearch input { font-size: 1rem; }
.mc-cv .quickSearch .advancedBtn { min-height: 48px; color: var(--cv-ink); background: #fff; border: 1px solid #b7c7d1; border-radius: 12px; font-size: .9375rem; }
.mc-cv.cv-filters-ready #advancedSearchPanel { display: none !important; }
.mc-cv .cv-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 18px; }
.mc-cv .cv-chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid var(--cv-line); border-radius: 100px; background: #fff; color: var(--cv-ink); font-size: .875rem; line-height: 1.4; }
.mc-cv .cv-more-local { margin: 28px 0; border-top: 1px solid var(--cv-line); }
.mc-cv .cv-more-local > summary { padding: 20px 4px; cursor: pointer; font-size: 1rem; font-weight: 700; color: var(--cv-ink); }
.mc-cv.cv-searching .cleanHero .heroGrid { display: flex; flex-direction: column; gap: 16px; }
.mc-cv.cv-searching .cleanHero .quickSearch { width: 100%; box-sizing: border-box; }
.mc-cv .cv-local-map > summary { cursor: pointer; color: var(--cv-ink); padding: 12px 4px; font-size: .9375rem; }
.mc-cv .cv-local-map { width: 100%; }
.mc-cv .cv-local-map[open] .localMap { min-height: 220px; }
.cv-dialog { --cv-ink: #062b59; --cv-teal: #007d79; color: var(--cv-ink); border: none; border-radius: 24px 0 0 24px; padding: 0; width: min(520px, 100%); max-width: 100%; height: 100vh; max-height: 100vh; height: 100dvh; max-height: 100dvh; margin: 0 0 0 auto; background: #fff; box-shadow: -12px 0 60px #062b5933; font-family: inherit; }
.cv-dialog::backdrop { background: #05213c80; }
.cv-dialog form { height: 100%; display: flex; flex-direction: column; }
.cv-dialog header { padding: 24px; display: flex; align-items: center; gap: 14px; border-bottom: 1px solid #dce5eb; }
.cv-dialog h2 { font-size: 1.5rem; margin: 0; line-height: 1.2; }
.cv-dialog button, .cv-dialog input { font: inherit; font-size: 1rem; }
.cv-dialog button { cursor: pointer; }
.cv-dialog .cv-close { width: 44px; height: 44px; flex-shrink: 0; border: 1px solid #dce5eb; border-radius: 50%; background: #fff; color: var(--cv-ink); font-size: 1.5rem; }
.cv-fields { padding: 24px; flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.cv-field { margin-bottom: 24px; }
.cv-field label { display: block; font-size: .9375rem; font-weight: 700; margin-bottom: 9px; }
.cv-field input { width: 100%; box-sizing: border-box; padding: 14px; border: 1px solid #92a6b5; border-radius: 12px; background: #fff; color: var(--cv-ink); min-height: 50px; }
.cv-help { font-size: .875rem; line-height: 1.5; color: #536578; margin: 8px 0 0; }
.cv-options { margin-top: 8px; border: 1px solid #dce5eb; border-radius: 12px; overflow: hidden; max-height: 240px; overflow-y: auto; }
.cv-options:empty { display: none; }
.cv-option { padding: 12px; cursor: pointer; font-size: 1rem; line-height: 1.4; border-bottom: 1px solid #edf1f4; }
.cv-option[aria-selected=true], .cv-option:hover { background: #e8f6f5; }
.cv-option small { display: block; color: #536578; font-size: .875rem; }
.cv-toggle { display: flex; align-items: center; gap: 12px; padding: 16px 0; font-size: 1rem; }
.cv-toggle input { width: 22px; height: 22px; accent-color: #007d79; }
.cv-geo { min-height: 44px; border: 0; background: transparent; padding: 8px 0; text-align: left; color: #007d79; font-weight: 700; }
.cv-dialog footer { padding: 20px 24px max(20px, env(safe-area-inset-bottom)); border-top: 1px solid #dce5eb; display: flex; gap: 12px; background: #fff; }
.cv-dialog footer button { border-radius: 12px; padding: 13px 18px; min-height: 50px; border: 1px solid #a7b8c4; background: #fff; color: var(--cv-ink); }
.cv-dialog footer .cv-apply { flex: 1; background: var(--cv-ink); border-color: var(--cv-ink); color: #fff; font-weight: 700; }
.cv-dialog :focus-visible { outline: 3px solid #007d79; outline-offset: 3px; }
.cv-status { font-size: .875rem; line-height: 1.5; color: #536578; min-height: 1.5em; }
.cv-status[data-error=true] { color: #a21d25; }
.cv-local-links { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 20px; }
.cv-local-links a { color: #007d79; font-size: .9375rem; padding: 10px 0; }
/* Override the old compact inline stylesheet without deleting its no-JS fallback. */
body.mc-cv #portalResultsGrid.grid, body.mc-cv #portalResultsGrid.grid[data-view] { gap: 20px !important; }
body.mc-cv #portalResultsGrid .mc-v17-business-row { padding: 18px 20px !important; gap: 12px 20px !important; }
body.mc-cv #portalResultsGrid .mc-v17-business-main .mc-v17-business-name { display: block !important; font-size: 1rem !important; line-height: 1.45 !important; -webkit-line-clamp: unset !important; overflow: visible !important; }
body.mc-cv #portalResultsGrid .mc-v17-business-actions .mc-v17-route { width: auto !important; }
body.mc-cv.cv-filters-ready #portalSearchForm .placeField { display: none !important; }
body.mc-cv #portalResultsGrid > .mc-portal-line-card { --mc-thumb-w: 260px; --mc-chip-h: 44px; --mc-card-pad: 0px; border: 1px solid var(--cv-line) !important; box-shadow: none !important; }
body.mc-cv #portalResultsGrid > .mc-portal-line-card > .meta { padding: 20px !important; gap: 10px !important; overflow: visible !important; }
body.mc-cv #portalResultsGrid > .mc-portal-line-card > .ph { min-height: 180px !important; padding: 0 !important; border: 0 !important; }
body.mc-cv #portalResultsGrid > .mc-portal-line-card > .ph img { border-radius: 0 !important; border: 0 !important; box-shadow: none !important; }
body.mc-cv #portalResultsGrid > .mc-portal-line-card > .meta .name { font-size: 1.125rem !important; line-height: 1.4 !important; white-space: normal !important; color: var(--cv-ink) !important; font-weight: 750 !important; }
body.mc-cv #portalResultsGrid > .mc-portal-line-card > .meta .loc { font-size: .875rem !important; line-height: 1.5 !important; font-weight: 500 !important; display: block !important; -webkit-line-clamp: unset !important; }
body.mc-cv #portalResultsGrid .mc-v17-business-actions,
body.mc-cv #portalResultsGrid > .mc-portal-line-card > .meta .miniContact,
body.mc-cv #portalResultsGrid > .mc-portal-line-card > .meta .priceStrip { max-width: 100% !important; flex-wrap: wrap !important; overflow: visible !important; gap: 8px !important; }
body.mc-cv #portalResultsGrid .mc-v17-business-actions .contactChip,
body.mc-cv #portalResultsGrid > .mc-portal-line-card > .meta .contactChip { min-height: 44px !important; min-width: 44px !important; padding: 9px 12px !important; font-size: .875rem !important; border-radius: 12px !important; color: var(--cv-ink) !important; line-height: 1.3 !important; white-space: normal !important; }
body.mc-cv #portalResultsGrid .mc-v17-business-actions .mc-v17-call,
body.mc-cv #portalResultsGrid > .mc-portal-line-card > .meta .contactChip.is-cta { background: var(--cv-ink) !important; border-color: var(--cv-ink) !important; color: white !important; }
body.mc-cv #portalResultsGrid .mc-v17-business-actions .contactChip strong,
body.mc-cv #portalResultsGrid > .mc-portal-line-card > .meta .contactChip strong { color: inherit !important; }
body.mc-cv #portalResultsGrid > .mc-portal-line-card > .meta .priceChip { padding: 6px 10px !important; font-size: .875rem !important; white-space: normal !important; font-weight: 650 !important; }
body.mc-cv #portalResultsGrid .mc-v17-business-actions .mcFavBtn,
body.mc-cv #portalResultsGrid > .mc-portal-line-card .mcFavBtn { width: auto !important; height: auto !important; min-width: 44px !important; min-height: 44px !important; padding: 8px !important; font-size: 0 !important; color: var(--cv-ink) !important; gap: 4px !important; box-shadow: none !important; border: 1px solid var(--cv-line) !important; background: #fff !important; }
body.mc-cv #portalResultsGrid .mc-v17-business-actions .mcFavBtn span,
body.mc-cv #portalResultsGrid > .mc-portal-line-card .mcFavBtn span { font-size: .875rem !important; }
body.mc-cv #portalResultsGrid .mc-v17-business-actions .mcFavBtn.is-active,
body.mc-cv #portalResultsGrid > .mc-portal-line-card .mcFavBtn.is-active { color: #b72126 !important; border-color: #eebabe !important; }
body.mc-cv #portalResultsGrid > .mc-portal-line-card .badge,
body.mc-cv #portalResultsGrid > .mc-portal-line-card .priceBadge { font-size: .8125rem !important; line-height: 1.4 !important; padding: 6px 9px !important; max-width: calc(100% - 20px) !important; min-height: 28px !important; }
@media (max-width: 640px) {
  .mc-cv #portalResultsGrid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .mc-cv .mc-v17-group-hero { padding: 16px !important; gap: 12px !important; }
  .mc-cv .mc-v17-group-icon { width: 64px !important; height: 64px !important; }
  .mc-cv .mc-v17-group-icon img { width: 60px !important; height: 60px !important; }
  body.mc-cv #portalResultsGrid .mc-v17-business-row { padding: 16px !important; }
  .mc-cv .mc-v17-business-main { flex-basis: 100% !important; }
  .mc-cv .mc-v17-business-actions { width: 100%; justify-content: flex-start; }
  .mc-cv .mc-v17-business-actions .mcFavBtn { margin-left: auto; order: 2; }
  .mc-cv .mc-portal-line-card { display: flex; flex-direction: column; }
  .mc-cv .mc-portal-line-card .ph { width: 100%; aspect-ratio: 16/9; height: auto; }
  .mc-cv .mc-portal-line-card .ph > img { width: 100%; height: 100%; object-fit: cover; }
  .mc-cv .quickSearch__line--query { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
  .mc-cv .quickSearch__line--query > .field { grid-column: 1/-1; }
  .cv-dialog { border-radius: 0; width: 100%; }
  .cv-dialog header, .cv-fields { padding: 20px; }
  .cv-dialog footer { padding-left: 20px; padding-right: 20px; }
  body.mc-cv #portalResultsGrid > .mc-portal-line-card { display: flex !important; flex-direction: column !important; --mc-thumb-w: 100%; }
  body.mc-cv #portalResultsGrid > .mc-portal-line-card > .ph { aspect-ratio: 16/9 !important; height: auto !important; min-height: 0 !important; display: block !important; }
  body.mc-cv #portalResultsGrid > .mc-portal-line-card > .ph img { aspect-ratio: 16/9 !important; height: auto !important; }
  body.mc-cv #portalResultsGrid > .mc-portal-line-card > .meta { padding: 16px !important; }
}
@media (prefers-reduced-motion: reduce) { .mc-cv *, .cv-dialog * { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
