.cpa-mm { --cpa-red: #a6262b; --cpa-navy: #1f3650; --cpa-line: #d9dde2; margin: 0 auto; max-width: 1100px; color: var(--cpa-navy); }
.cpa-mm * { box-sizing: border-box; }
.cpa-mm-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.cpa-mm-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: stretch; margin-bottom: 8px; }
.cpa-mm-grow { flex: 1 1 260px; }
.cpa-mm-bar input, .cpa-mm-bar select { width: 100%; height: 44px; padding: 0 12px; border: 1px solid var(--cpa-line); border-radius: 4px; font: inherit; background: #fff; }
.cpa-mm-bar button { height: 44px; padding: 0 22px; border: 0; border-radius: 4px; background: var(--cpa-red); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.cpa-mm-bar button:hover, .cpa-mm-bar button:focus-visible { background: #861e22; }

.cpa-mm-status { margin: 4px 0 10px; min-height: 1.4em; font-size: 0.95em; }

.cpa-mm-body { display: grid; grid-template-columns: 1fr 300px; gap: 12px; }
.cpa-mm-map { height: 520px; border: 1px solid var(--cpa-line); border-radius: 4px; background: #e8edf2; }
.cpa-mm-list { margin: 0; padding: 0; list-style: none; max-height: 520px; overflow-y: auto; border: 1px solid var(--cpa-line); border-radius: 4px; }
.cpa-mm-list:empty { display: none; }
.cpa-mm-body:has(.cpa-mm-list:empty) { grid-template-columns: 1fr; }
.cpa-mm-item + .cpa-mm-item { border-top: 1px solid var(--cpa-line); }
.cpa-mm-itembtn { display: block; width: 100%; padding: 12px; border: 0; background: #fff; text-align: left; font: inherit; color: inherit; cursor: pointer; }
.cpa-mm-itembtn:hover, .cpa-mm-itembtn:focus-visible { background: #f3f5f8; }
.cpa-mm-itemname { display: block; font-weight: 600; }
.cpa-mm-itemplace { display: block; font-size: 0.9em; opacity: 0.8; }

.cpa-mm-card { max-width: 260px; font-size: 14px; line-height: 1.4; color: #1f3650; }
.cpa-mm-name { margin: 0 0 4px; font-size: 16px; }
.cpa-mm-place, .cpa-mm-contact { margin: 0 0 6px; }
.cpa-mm-link { display: block; color: var(--cpa-red, #a6262b); }

@media (max-width: 760px) {
	.cpa-mm-body { grid-template-columns: 1fr; }
	.cpa-mm-map { height: 420px; }
	.cpa-mm-list { max-height: 320px; }
}
