.zmlz-finder { --zm-accent: #0a6e5c; --zm-border: #d5dbd9; margin: 1.5em 0; }
.zmlz-form__label { display: block; font-weight: 600; margin-bottom: .4em; }
.zmlz-form__row { display: flex; flex-wrap: wrap; gap: .5em; }
.zmlz-form__input { flex: 1 1 260px; padding: .7em .9em; border: 1px solid var(--zm-border); border-radius: 6px; font-size: 1rem; }
.zmlz-form__btn { padding: .7em 1.4em; border: 0; border-radius: 6px; background: var(--zm-accent); color: #fff; font-size: 1rem; cursor: pointer; }
.zmlz-form__btn:hover, .zmlz-form__btn:focus-visible { filter: brightness(1.12); }
.zmlz-form__reset { padding: .7em 1em; border: 1px solid var(--zm-border); border-radius: 6px; background: #fff; cursor: pointer; }
.zmlz-message { min-height: 1.5em; margin: .8em 0; font-weight: 600; }
.zmlz-map { height: 420px; border: 1px solid var(--zm-border); border-radius: 8px; margin: 0 0 1.5em; z-index: 0; }
.zmlz-map--single { height: 320px; }
.zmlz-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.2em; }
.zmlz-card { border: 1px solid var(--zm-border); border-radius: 8px; overflow: hidden; background: #fff; transition: box-shadow .2s; }
.zmlz-card[hidden] { display: none; }
.zmlz-card.is-flash { box-shadow: 0 0 0 3px var(--zm-accent); }
.zmlz-card__img img { display: block; width: 100%; height: 160px; object-fit: cover; }
.zmlz-card__body { padding: .9em 1em 1.1em; }
.zmlz-card__title { margin: 0 0 .3em; font-size: 1.15rem; }
.zmlz-card__contact { margin: 0 0 .4em; color: #555; }
.zmlz-card__body p { margin: .2em 0; word-break: break-word; }
.zmlz-card__more { margin-top: .6em !important; font-weight: 600; }
