/* Only the shops page; retain the other displays. */
.mh-shops { --shops-purple: #3e236d; }
.mh-shops .mh-shops-intro { font-size: 1.08rem; max-width: 65ch; margin: 0 0 1.5rem; }
.mh-shops .views-exposed-form { max-width: none; margin: 0!important; padding: 1.25rem!important; border-radius: 12px; }
.mh-shops .form--inline { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; }
.mh-shops .form--inline .form-item { float: none; margin: 0; min-width: 0; flex: 1 1 220px; }
.mh-shops .form--inline label { display: block; font-weight: 600; margin-bottom: .35rem; }
.mh-shops .form--inline input.form-text, .mh-shops .form--inline select { width: 100%; max-width: 100%; min-height: 46px; background: white; color: #242424; border: 1px solid #9c8bb5; border-radius: 5px; }
.mh-shops .form-actions { width: auto; display: flex; flex-wrap: wrap; gap: .5rem; }
.mh-shops .form-actions input { margin: 0!important; min-height: 46px; border-radius: 5px; }
.mh-shops .form-actions [type=submit]:first-child { background: var(--shops-purple); color: white; }
.mh-shops .mh-shops-count { margin: 1.25rem 0; color: #51465f; }
.mh-shops .view-content { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.mh-shops .view-content > .views-row { width: auto; float: none; min-width: 0; display: flex; }
.mh-shops .mh-shop { width: 100%; padding: 1.25rem; border: 1px solid #ded6e8; border-radius: 10px; background: #fff; overflow-wrap: anywhere; }
.mh-shops .mh-shop-kind { display: inline-block; font-size: .85rem; padding: .2rem .65rem; background: #f0eaf8; color: var(--shops-purple); border-radius: 20px; margin-bottom: .6rem; }
.mh-shops .mh-shop-title { font-size: 1.2rem; line-height: 1.35; margin: 0 0 .65rem; font-weight: 700; }
.mh-shops .mh-shop-title a { color: var(--shops-purple); text-decoration: underline; text-underline-offset: 3px; }
.mh-shops .mh-shop-summary { color: #45404b; line-height: 1.6; margin-bottom: .8rem; }
.mh-shops .mh-shop-links { margin-top: .75rem; display: flex; flex-direction: column; gap: .65rem; align-items: flex-start; }
.mh-shops .mh-shop-links a { text-decoration: underline; text-underline-offset: 3px; }
.mh-shops .mh-shop-more { font-weight: 600; padding: .35rem 0; }
.mh-shops .mh-shop-summary { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.mh-shops .pager { margin: 1.5rem 0; }
.mh-shops .mh-shops-help { padding: 1.25rem; background: #f4f0f9; border-left: 4px solid var(--shops-purple); margin-top: 1.5rem; }
.mh-shops .mh-shops-help p { margin: .4rem 0 0; }
.mh-shops a:focus-visible, .mh-shops input:focus-visible, .mh-shops select:focus-visible { outline: 3px solid #b56b00; outline-offset: 3px; }
@media(max-width: 650px) {
  .mh-shops .view-content { grid-template-columns: minmax(0,1fr); }
  .mh-shops .form--inline .form-item { flex-basis: 100%; }
  .mh-shops .form-actions { width: 100%; }
}

.mh-shops .form--inline::before, .mh-shops .form--inline::after, .mh-shops .form-actions::before, .mh-shops .form-actions::after { display: none; }
.mh-shops .form--inline .form-item { margin: 0!important; }
.mh-shops .mh-shops-intro, .mh-shops .mh-shops-count { padding: 0; }

.mh-shops .mh-shop-address { margin: .8rem 0; color: #51465f; }
