.sfv-directory{--sfv-blue:#006b8a;--sfv-line:#dce5e9;color:#273c47;font:inherit}
.sfv-directory *{box-sizing:border-box}
.sfv-directory__filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap;padding:22px;background:#f2f6f8;border-radius:8px;margin-bottom:20px}
.sfv-directory__filters>div{flex:1 1 300px;min-width:0}
.sfv-directory__filters label{display:block;font-weight:600;margin-bottom:8px}
.sfv-directory__filters select{display:block;width:100%;max-width:100%;height:auto;min-height:46px;background:#fff;color:#273c47;border:1px solid #9aafb9;border-radius:4px;padding:10px;font:inherit}
.sfv-directory__filters button,.sfv-directory__close{background:var(--sfv-blue);color:#fff;border:0;border-radius:4px;padding:12px 20px;font:inherit;cursor:pointer;min-height:44px}
.sfv-directory__filters>a{padding:12px 0;color:var(--sfv-blue)}
.sfv-directory__count{font-size:.9em;color:#526772}
.sfv-directory__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.sfv-directory__card{border:1px solid var(--sfv-line);border-radius:8px;background:#fff;overflow:hidden;transition:border-color .15s}
.sfv-directory__card:hover{border-color:var(--sfv-blue)}
.sfv-directory__open{display:flex;flex-direction:column;height:100%;padding:22px;color:inherit!important;text-decoration:none!important}
.sfv-directory__logo-wrap{height:95px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.sfv-directory img.sfv-directory__logo{max-width:100%;max-height:95px;width:auto;height:auto;object-fit:contain}
.sfv-directory__card h3{font-size:1.05rem;line-height:1.4;margin:0 0 8px;color:var(--sfv-blue);overflow-wrap:anywhere}
.sfv-directory__card p{margin:0 0 22px;overflow-wrap:anywhere}
.sfv-directory__more{margin-top:auto;color:var(--sfv-blue);font-size:.9em;font-weight:600}
.sfv-directory__dialog{position:fixed;inset:0;margin:auto;width:min(720px,calc(100% - 32px));max-height:85vh;max-height:85dvh;padding:32px;border:0;border-radius:10px;background:white;color:#273c47;box-shadow:0 15px 70px #0004;overflow:auto;overscroll-behavior:contain}
.sfv-directory__dialog:not([open]){display:none!important}
.sfv-directory__dialog::backdrop{background:rgb(13 32 44 / 65%)}
.sfv-directory__close{display:block;margin:0 0 20px auto}
.sfv-directory__dialog h2{font-size:1.6rem;color:var(--sfv-blue);line-height:1.3;margin:0 0 16px;overflow-wrap:anywhere}
.sfv-directory__categories{color:#526772;font-size:.9em}
.sfv-directory__dialog address{font-style:normal;margin:20px 0}
.sfv-directory__contacts{display:grid;grid-template-columns:auto 1fr;gap:8px 18px}
.sfv-directory__contacts dt{font-weight:600}
.sfv-directory__contacts dd{margin:0;overflow-wrap:anywhere}
.sfv-directory__dialog a{color:var(--sfv-blue)}
.sfv-directory__description{border-top:1px solid var(--sfv-line);margin-top:24px;padding-top:16px;overflow-wrap:anywhere}
.sfv-directory__pagination ul{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;list-style:none;margin:28px 0;padding:0}
.sfv-directory__pagination li{margin:0;padding:0}
.sfv-directory__pagination a,.sfv-directory__pagination span{display:block;padding:8px 12px;border:1px solid var(--sfv-line);border-radius:4px;color:var(--sfv-blue)}
.sfv-directory__pagination .current{background:var(--sfv-blue);color:white}
.sfv-directory :focus-visible{outline:3px solid #c17c10;outline-offset:4px}
html.sfv-directory-modal-open{overflow:hidden}
@media(max-width:1000px){.sfv-directory__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:750px){.sfv-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.sfv-directory__grid{grid-template-columns:1fr}.sfv-directory__dialog{padding:20px}.sfv-directory__contacts{grid-template-columns:1fr;gap:4px}.sfv-directory__contacts dd{margin-bottom:12px}}
