.listing-grid{display:grid;gap:var(--s-3);grid-template-columns:repeat(2,1fr);list-style:none;padding:0;margin:0}@media(min-width:1024px){.listing-grid{grid-template-columns:repeat(3,1fr)}}.listing-grid>.is-hidden{display:none}.listing-grid--bento{grid-auto-flow:dense}.listing-grid--compact{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}@media(min-width:640px){.listing-grid--bento>.place-card[data-size=lg]{grid-column:span 2}.listing-grid--bento>.place-card[data-size=lg] .place-card-image-wrap{aspect-ratio:16 / 9}.listing-grid--bento>.place-card .place-card-image-wrap{flex:1 1 auto}}.split-section{display:grid;gap:var(--s-5)}@media(min-width:900px){.split-section{grid-template-columns:minmax(240px,1fr) 2fr;gap:var(--s-6);align-items:start}.split-section--mirrored{grid-template-columns:2fr minmax(240px,1fr)}.split-section--mirrored .split-section-intro{order:2}}.split-section-intro{display:flex;flex-direction:column;gap:var(--s-3)}.split-section-intro .section-title{margin-bottom:0}.split-section-link{align-self:start;font-size:var(--text-md)}@media(min-width:640px){.split-section-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:639px){.split-section-grid>.place-card[data-size=lg]{grid-column:1 / -1}}.listing{margin-top:var(--s-4)}.listing-header{margin-bottom:var(--s-6)}.listing-header .section-title{margin-bottom:var(--s-3)}.listing-lead{margin:0;max-width:52ch;color:#fff;opacity:.85;font-size:var(--text-lg);line-height:1.5;text-shadow:var(--glass-text-shadow);text-wrap:pretty}.listing-layout{display:flex;gap:var(--s-3);align-items:flex-start}@media(max-width:899px){.listing-layout{flex-direction:column;align-items:stretch}}.listing-filters-bar{display:none}@media(max-width:899px){.listing-filters-bar{display:block;width:100%}}.listing-filters-bar-btn{all:unset;cursor:pointer;display:flex;align-items:center;gap:var(--s-2);width:100%;padding:var(--s-2) var(--s-4);background:#fffffff0;border-radius:var(--pill-radius);border:2px solid var(--border-soft);box-shadow:var(--shadow-card-soft);font-size:var(--text-base);font-weight:600;color:var(--ink);box-sizing:border-box}.listing-filters-bar-summary{font-variant-numeric:tabular-nums}.listing-filters-bar-sep{color:var(--muted);font-weight:400}.listing-filters-bar-sort{color:var(--muted);flex:1}.listing-filters-bar-icon{font-size:var(--text-xl);color:var(--muted)}.vista-toggle{display:flex;position:relative;background:var(--bg-subtle, rgba(0, 0, 0, .06));border-radius:var(--pill-radius);padding:3px;margin-bottom:var(--s-3)}.vista-highlight{position:absolute;top:3px;left:3px;width:calc(50% - 3px);height:calc(100% - 6px);background:#fff;border-radius:calc(var(--pill-radius) - 2px);box-shadow:0 1px 3px #00000014;transition:transform .2s cubic-bezier(.4,0,.2,1);pointer-events:none;z-index:0}.vista-toggle[data-vista=mapa] .vista-highlight{transform:translate(100%)}.vista-btn{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;flex:1;padding:var(--s-1) var(--s-2);border-radius:calc(var(--pill-radius) - 2px);font-size:var(--text-sm, .875rem);font-weight:600;color:var(--muted);position:relative;z-index:1;transition:color .15s ease}.vista-btn:hover,.vista-btn[aria-checked=true]{color:var(--ink)}.vista-btn svg{flex-shrink:0}.listing-content{flex:1;min-width:0}.listing-content--has-map{display:grid}.listing-content--has-map .listing-grid,.listing-content--has-map .listing-mapa{grid-area:1 / 1}.vista-panel{opacity:1;transition:opacity .25s ease}.vista-panel.is-leaving{opacity:0;pointer-events:none}.vista-panel.is-entering{opacity:0}.listing-mapa[hidden],.listing-grid[hidden]{display:none}.listing-mapa{display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fffffff0;border-radius:var(--pill-radius);border:2px solid var(--border-soft);box-shadow:var(--shadow-card-soft);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.mapa-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-2);color:var(--muted);text-align:center;width:100%;min-height:517px;height:517px}.mapa-state[hidden]{display:none}.mapa-state p{margin:0;font-weight:600;font-size:var(--text-lg, 1.125rem);color:var(--ink)}.mapa-state--idle svg{opacity:.4}.mapa-state--idle span{font-size:var(--text-sm, .875rem);font-style:italic}.mapa-spinner{width:32px;height:32px;border:3px solid var(--border-soft);border-top-color:var(--ink, #1d1d1f);border-radius:50%;animation:mapa-spin .6s linear infinite}@keyframes mapa-spin{to{transform:rotate(360deg)}}.mapa-state--ready{width:100%;height:420px;position:relative}@media(min-width:900px){.listing[data-vista=mapa] .listing-layout:has(.listing-grid[hidden]){align-items:stretch}.listing[data-vista=mapa] .listing-sidebar{align-self:flex-start}.listing-content--has-map .mapa-state{height:100%;min-height:600px}}@media(prefers-reduced-motion:reduce){.vista-highlight,.vista-panel{transition-duration:0s}.mapa-spinner{animation:none}}.listing-sidebar{flex:0 0 260px;background:#fffffff0;border-radius:var(--pill-radius);padding:var(--s-3);border:2px solid var(--border-soft);box-shadow:var(--shadow-card-soft);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}@media(min-width:900px){.listing-sidebar{position:sticky;top:4.5rem;z-index:1}}@media(max-width:899px){.listing-layout .listing-sidebar{flex:none;position:fixed;left:0;right:0;bottom:0;z-index:100;width:100%;max-height:70vh;overflow-y:auto;border-radius:var(--pill-radius) var(--pill-radius) 0 0;padding:var(--s-5);box-shadow:0 -4px 24px #00000026;transform:translateY(100%);transition:transform .3s ease;visibility:hidden}.listing-layout .listing-sidebar.is-open{transform:translateY(0);visibility:visible}}.sheet-close{display:none}@media(max-width:899px){.sheet-close{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;position:absolute;top:var(--s-3);right:var(--s-3);color:var(--muted);width:32px;height:32px;border-radius:50%;transition:background .15s}.sheet-close span{display:inline-block;font-size:1.5rem;line-height:0;margin-top:-6px;font-weight:700}.sheet-close:hover{background:#0000000f}}.listing-filters-backdrop{display:none}@media(max-width:899px){.listing-filters-backdrop{display:block;position:fixed;inset:0;z-index:99;background:#0000004d;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.listing-filters-backdrop.is-open{opacity:1;visibility:visible}}.sidebar-heading{font-size:var(--text-base);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 var(--s-3);user-select:none;-webkit-user-select:none}.sort-options{display:flex;flex-direction:column;gap:var(--s-1);margin-bottom:var(--s-5)}.sort-btn{all:unset;cursor:pointer;flex:1;text-align:center;font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:var(--s-1) var(--s-2);border-radius:var(--pill-radius);background:#fff9;color:var(--muted);border:1px solid var(--border-soft);transition:background .15s,color .15s;user-select:none;-webkit-user-select:none}.sort-btn:hover{background:#ffffffe6;color:var(--ink)}.sort-btn[aria-pressed=true]{background:#fffffff0;color:var(--ink);border-color:var(--border);box-shadow:0 1px 3px #00000014}.sort-btn:disabled{cursor:not-allowed;opacity:.4}.listing-filters{display:flex;flex-direction:column;gap:var(--s-2)}.listing-filters .severity-pill{display:grid;grid-template-columns:minmax(7rem,1fr) 2.8em;align-items:stretch;border-radius:var(--pill-radius);overflow:hidden;cursor:pointer;opacity:.6;transition:opacity .2s ease,box-shadow .2s ease;border:none;padding:0;font-weight:700;width:100%;background:var(--sev);color:var(--sev-ink);line-height:1;user-select:none;-webkit-user-select:none}.listing-filters .severity-pill:hover{opacity:.85}.listing-filters .severity-pill[aria-pressed=true]{opacity:1;box-shadow:0 0 0 2px var(--surface-cream),0 0 0 3px var(--sev),0 0 0 5px var(--sev-accent)}.listing-filters .severity-pill[disabled]{opacity:.25;cursor:default;pointer-events:none}.listing-filters .report-sev-label{font-size:var(--text-base);padding:clamp(.4rem,1vw,.6rem) clamp(.5rem,1.8vw,.75rem)}.listing-filters .report-sev-note{font-size:var(--text-base);padding:clamp(.4rem,1vw,.6rem) 0;font-variant-numeric:tabular-nums;text-align:center;border-left:none}.listing-filters .severity-pill[data-severity=all]{--sev: rgba(255, 255, 255, .94);--sev-ink: var(--ink);--sev-accent: #cbd5e1;background:var(--sev);color:var(--sev-ink);opacity:1}
