.directory-result-card { --result-accent: #5262a5; --result-soft: #f0f3fb; display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid #e4e8ee; border-radius: 17px; overflow: hidden; box-shadow: 0 4px 18px rgba(29, 42, 61, .04); transition: transform .2s ease, box-shadow .2s ease; }
.directory-result-card:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(29, 42, 61, .1); }
.directory-result-tone--terracotta { --result-accent: #b15e43; --result-soft: #fbf2ed; }
.directory-result-tone--rose { --result-accent: #a25d83; --result-soft: #fbf0f6; }
.directory-result-tone--teal { --result-accent: #36847b; --result-soft: #eef7f5; }
.directory-result-tone--violet { --result-accent: #7960ac; --result-soft: #f4f0fa; }
.directory-result-photo { position: relative; flex-shrink: 0; height: 195px; overflow: hidden; background: #f0f2f5; }
.directory-result-photo > a { display: block; height: 100%; }
.directory-result-image { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.directory-result-card:hover .directory-result-image { transform: scale(1.035); }
.directory-result-save { position: absolute; inset-block-start: 12px; inset-inline-end: 12px; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; background: rgba(255,255,255,.94); color: #536070; box-shadow: 0 2px 8px rgba(20,30,40,.08); }
.directory-result-save.active { color: #b64f74; }
.directory-result-save.active svg { fill: currentColor; }
.directory-result-save:focus-visible, .directory-result-details:focus-visible, .directory-result-title a:focus-visible { outline: 2px solid var(--result-accent); outline-offset: 3px; }
.directory-result-purpose { position: absolute; inset-block-start: 14px; inset-inline-start: 14px; padding: 5px 10px; border-radius: 6px; background: #fff; color: #326c65; font-size: 11px; font-weight: 600; }
.directory-result-content { display: flex; flex-direction: column; flex: 1; min-width: 0; padding: 17px; }
.directory-result-identity { display: flex; align-items: center; gap: 9px; min-width: 0; margin-bottom: 13px; }
.directory-result-sector-icon { display: grid; place-items: center; flex: 0 0 40px; height: 40px; border-radius: 10px; background: var(--result-soft); }
.directory-result-sector-icon img { opacity: .65; }
.directory-result-identity > div { min-width: 0; }
.directory-result-sector { display: block; color: var(--result-accent); font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; line-height: 1.5; }
.directory-result-category { display: block; color: #6e7987; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.directory-result-rating { display: inline-flex; align-items: center; gap: 3px; flex-shrink: 0; margin-inline-start: auto; color: #384455; font-size: 12px; font-weight: 600; }
.directory-result-rating small { color: #929aa5; font-size: 10px; font-weight: 400; }
.directory-result-title { margin: 0 0 8px; font-size: 17px; font-weight: 650; line-height: 1.45; }
.directory-result-title a { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; color: #263446; }
.directory-result-title a:hover { color: var(--result-accent); }
.directory-result-location { display: flex; align-items: flex-start; gap: 5px; margin: 0 0 14px; color: #84909d; font-size: 11px; line-height: 1.6; }
.directory-result-location img { margin-top: 2px; opacity: .5; flex-shrink: 0; }
.directory-result-location span { overflow-wrap: anywhere; }
.directory-result-hours { display: flex; align-items: center; gap: 5px; margin: -5px 0 14px; color: #9c7774; font-size: 10px; }
.directory-result-hours span { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.directory-result-hours.is-open { color: #4c8a72; }
.directory-result-specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0 0 14px; }
.directory-result-spec { display: flex; align-items: center; gap: 7px; min-width: 0; padding: 9px 7px; background: #fafbfc; border: 1px solid #edf0f3; border-radius: 8px; }
.directory-result-spec > img { opacity: .55; flex: 0 0 19px; width: 19px; height: 19px; }
.directory-result-spec > div { min-width: 0; }
.directory-result-spec dt { font-size: 9px; font-weight: 400; line-height: 1.4; color: #88919e; margin-bottom: 3px; overflow-wrap: anywhere; }
.directory-result-spec dd { font-size: 11px; font-weight: 600; line-height: 1.5; color: #465365; margin: 0; overflow-wrap: anywhere; }
.directory-result-features { display: flex; flex-wrap: wrap; gap: 5px; list-style: none; padding: 0; margin: 0 0 16px; }
.directory-result-features li { display: inline-flex; align-items: center; gap: 4px; padding: 4px 7px; border-radius: 5px; background: var(--result-soft); color: #697582; font-size: 9px; line-height: 1.5; overflow-wrap: anywhere; }
.directory-result-features img { flex-shrink: 0; opacity: .5; }
.directory-result-features .directory-result-more { background: transparent; color: var(--result-accent); }
.directory-result-footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: auto; padding-top: 14px; border-top: 1px solid #edf0f3; }
.directory-result-price { color: #263446; font-size: 17px; font-weight: 700; }
.directory-result-price-unit, .directory-result-review-note { color: #929ba7; font-size: 10px; }
.directory-result-old-price { display: block; color: #929ba7; font-size: 10px; }
.directory-result-details { display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0; color: var(--result-accent); font-size: 11px; font-weight: 600; padding: 8px 10px; border-radius: 7px; background: var(--result-soft); }
.directory-result-details:hover { color: #263446; }
.directory-result-details span { font-size: 16px; line-height: 1; }
.directory-result-card--list { flex-direction: row; }
.directory-result-card--list .directory-result-photo { width: 31%; height: auto; min-height: 240px; }
.directory-result-card--list .directory-result-content { padding: 21px; }
.directory-result-card--list .directory-result-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 1400px) { .directory-result-card--list .directory-result-specs { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 575.98px) {
    .directory-result-card--list { flex-direction: column; }
    .directory-result-card--list .directory-result-photo { width: 100%; height: 210px; min-height: 0; }
    .directory-result-photo { height: 220px; }
    .directory-result-card--list .directory-result-content { padding: 17px; }
}
@media (prefers-reduced-motion: reduce) { .directory-result-card, .directory-result-image { transition: none; } .directory-result-card:hover { transform: none; } }
