.psf{display:grid;gap:var(--space-m);width:100%}
.psf__bar{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:stretch;margin:0}
.psf__search{flex:1 1 18rem;display:block}
.psf__search input,.psf__select select{width:100%;height:100%;min-height:3rem;padding:.6em 1em;border:1px solid color-mix(in oklch,var(--primary) 18%,transparent);border-radius:var(--radius);background:var(--white,#fff);font:inherit;color:inherit}
.psf__select{flex:0 1 14rem;display:block}
.psf__near{min-height:3rem;padding:.6em 1.2em;border:1px solid var(--primary);border-radius:var(--radius);background:var(--primary);color:#fff;font:inherit;font-weight:500;cursor:pointer}
.psf__near.is-active{background:var(--accent-dark);border-color:var(--accent-dark)}
.psf__chips{display:flex;flex-wrap:wrap;gap:var(--space-xs)}
.psf__chip{padding:.45em 1em;border:1px solid color-mix(in oklch,var(--primary) 18%,transparent);border-radius:999px;background:var(--base-ultra-light);color:var(--primary);font:inherit;font-size:var(--text-s);cursor:pointer;transition:background .15s ease,color .15s ease}
.psf__chip:hover{background:color-mix(in oklch,var(--primary) 10%,transparent)}
.psf__chip.is-active{background:var(--primary);border-color:var(--primary);color:#fff}
.psf__status{margin:0;font-size:var(--text-s);color:color-mix(in oklch,var(--primary) 70%,transparent)}
.psf__body{display:grid;gap:var(--space-m);align-items:start}
@media (min-width:992px){.psf__body{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.psf__map{position:sticky;top:var(--space-m)}.psf__list{max-height:min(80vh,900px);overflow:auto;padding-right:var(--space-xs)}}
@media (max-width:767px){.psf__search{flex-basis:100%}}
@media (max-width:991px){.psf__map{order:-1;min-height:min(52vh,420px)}.psf__list{max-height:70vh;overflow:auto;overscroll-behavior:contain;padding-right:var(--space-xs)}}
.psf__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-s)}
.psf__map{min-height:min(70vh,640px);border-radius:var(--radius);overflow:hidden;background:var(--base-ultra-light);z-index:0}
.psf__card{background:var(--base-ultra-light);border:1px solid transparent;border-radius:var(--radius);padding:var(--space-s);display:grid;grid-template-columns:3rem minmax(0,1fr);column-gap:var(--space-s);align-items:start;scroll-margin-top:var(--space-m);transition:border-color .15s ease,box-shadow .15s ease}
.psf__logo{width:3rem;height:3rem;object-fit:contain;border-radius:var(--radius);background:#fff;border:1px solid color-mix(in oklch,var(--primary) 10%,transparent);display:grid;place-items:center;font-size:var(--text-s);font-weight:700;color:var(--primary);letter-spacing:.02em}
.psf__main{display:grid;gap:calc(var(--space-xs)*.6);min-width:0}
.psf__hours li.is-today span{font-weight:700}
.psf__card.is-active{border-color:var(--accent-dark);box-shadow:var(--box-shadow-1)}
.psf__badge{margin:0;font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dark);font-weight:500}
.psf__name{margin:0;font-size:var(--text-l);font-weight:500;line-height:1.25}
.psf__addr{margin:0;font-size:var(--text-s)}
.psf__labels{margin:0;font-size:var(--text-xs);color:color-mix(in oklch,var(--primary) 70%,transparent)}.psf__labels span,.psf__dirs>span{font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:var(--text-xs);margin-right:.3em}
.psf__dirs{display:inline-flex;flex-wrap:wrap;gap:.6em;align-items:baseline}
.psf__dist{margin:0;font-size:var(--text-s);font-weight:500;color:var(--primary)}
.psf__hours{font-size:var(--text-s)}.psf__hours summary{cursor:pointer;list-style:none;display:inline-flex;gap:.4em;align-items:center}.psf__hours summary::-webkit-details-marker{display:none}.psf__hours summary::after{content:"";width:.5em;height:.5em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-left:.2em;transition:transform .15s ease}.psf__hours[open] summary::after{transform:rotate(-135deg)}
.psf__hours ul{list-style:none;margin:var(--space-xs) 0 0;padding:0;display:grid;grid-template-columns:3em 1fr;gap:.15em .6em}.psf__hours li{display:contents}
.psf__actions{margin:0;display:flex;flex-wrap:wrap;gap:var(--space-s);font-size:var(--text-s)}
.psf__link{color:var(--accent-dark);font-weight:700;text-decoration:none}.psf__link:hover{text-decoration:underline}
.psf__empty{margin:0;padding:var(--space-m);background:var(--base-ultra-light);border-radius:var(--radius)}
.psf .leaflet-popup-content{font:inherit;font-size:var(--text-s);margin:var(--space-xs) var(--space-s)}
.psf .leaflet-popup-content-wrapper{border-radius:var(--radius)}
.psf__popup strong{display:block;font-weight:500;font-size:var(--text-m);margin-bottom:.2em}
