.hzo { max-width: 52rem; margin: 0 auto; padding: 1rem 1rem 3rem; }
.hzo h1 { font-size: 1.75rem; line-height: 1.3; margin: 0.5rem 0; }
.hzo__intro, .hzo__note, .hzo__count, .hzo__empty { margin: 0.5rem 0 1rem; }
.hzo__filters { display: grid; gap: 0.75rem; margin: 1rem 0; }
.hzo__field { display: grid; gap: 0.25rem; font-weight: 600; }
.hzo__field input, .hzo__field select, .hzo__field textarea {
    min-height: 44px; font: inherit; font-weight: 400; padding: 0.4rem 0.6rem; width: 100%;
}
.hzo__actions, .hzo__card-actions, .hzo__pager { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; }
.hzo__actions a, .hzo__pager a, .hzo-side__link { min-height: 44px; display: inline-flex; align-items: center; }
.hzo__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.75rem; }
.hzo__card { border: 1px solid #d7d2c8; border-radius: 12px; padding: 0.9rem; }
.hzo__name { font-size: 1.15rem; margin: 0; }
.hzo__badge { display: inline-block; margin: 0.35rem 0; padding: 0.15rem 0.45rem; border-radius: 999px; background: #f4efe4; font-size: 0.85rem; }
.hzo__card dl { display: grid; gap: 0.25rem; margin: 0.5rem 0; }
.hzo__card dt { display: inline; font-weight: 600; }
.hzo__card dt::after { content: ": "; }
.hzo__card dd { display: inline; margin: 0; }
.hzo__cta { margin-top: 1.5rem; }
.hzo-side { margin-top: 1rem; padding: 0.9rem; border: 1px solid #d7d2c8; border-radius: 12px; }
@media (min-width: 720px) {
    .hzo__filters { grid-template-columns: 1fr 1fr; }
    .hzo__actions { grid-column: 1 / -1; }
}
