/* Shared filters and an always-visible, grouped Louvre place catalogue. */
.places-intro{max-width:760px;margin:-6px 0 20px;color:var(--muted);font-size:16px;line-height:1.55}.places-intro strong{color:var(--ink)}
.museum-map-section .museum-places-wrap .venue-map-legend.places-controls{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;max-width:100%;padding:0 0 6px;margin:0 0 8px;scrollbar-width:thin;background:none;border:0}
.museum-map-section .museum-places-wrap .places-controls .va-pill,.museum-map-section .museum-places-wrap .places-controls .va-all{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px 0 8px;border:1px solid #c6cad1;border-radius:24px;background:white;color:var(--ink);font:600 15px/1.4 Inter,system-ui,sans-serif;opacity:1;white-space:nowrap}
.museum-map-section .museum-places-wrap .places-controls .va-all{padding-inline:16px}
.museum-map-section .museum-places-wrap .places-controls .va-pill[aria-pressed="false"]{background:white;color:var(--ink);border:1px solid #c6cad1}
.museum-map-section .museum-places-wrap .places-controls .va-pill[aria-pressed="true"],.museum-map-section .museum-places-wrap .places-controls .va-all[aria-pressed="true"]{background:var(--ink);color:white;border-color:var(--ink)}
.museum-map-section .museum-places-wrap .places-controls button:hover{border-color:var(--ink);transform:none}
.museum-map-section .museum-places-wrap .places-controls .va-count{font:500 13px/1.4 var(--mono);color:inherit;opacity:.7}
.places-icon{display:inline-flex;flex:0 0 32px;width:32px;height:32px;align-items:center;justify-content:center;border-radius:50%;color:white;background:var(--place-color,#1f3fd1)}
.museum-map-section .museum-places-wrap .places-controls .places-icon{width:28px;height:28px;flex-basis:28px}
.museum-places-wrap .venue-map-legend.places-controls .va-pill .places-icon .ta-map-icon{width:16px;height:16px;color:white}
.museum-map-section .museum-places-wrap .venue-map.ta-map{margin:12px 0 28px}
.places-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.places-group{min-width:0;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.places-group>header{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#f7f8f9;border-bottom:1px solid var(--line)}
.places-group h3{flex:1;min-width:0;margin:0;font:600 20px/1.3 var(--display);letter-spacing:-.02em}
.places-group>header>span:last-child{font:600 11px/1.5 var(--mono);color:var(--muted);text-align:right;max-width:45%}
.places-group>ol{list-style:none;margin:0;padding:0}
.place-row{display:flex;align-items:start;gap:14px;padding:16px 18px;border-bottom:1px solid #eef0f2;min-width:0}
.place-row:last-child{border-bottom:0}.place-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}
.place-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.place-title>span:first-child{font-size:17px;font-weight:600;line-height:1.4}
.place-tag{padding:3px 8px;border-radius:5px;font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap;text-decoration:none}.place-tag[href]{display:inline-flex;align-items:center;min-height:32px}
.tag-rec{background:var(--yellow);color:var(--ink)}.tag-info{background:#e8ecfb;color:#1a33a8}.tag-warn{background:#fdecea;color:#7a1a12}
.place-facts{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.place-facts:empty{display:none}
.place-walk,.place-fact{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:5px;font:600 12px/1.5 var(--mono)}.place-walk{background:var(--ink);color:white}.place-walk svg{flex:0 0 13px}
.place-fact{border:1px solid #d5d8de;color:#3d424a}
.metro-line{display:inline-flex;width:24px;height:24px;flex:0 0 24px;align-items:center;justify-content:center;border-radius:50%;font:700 12px/1.4 var(--mono)}
.metro-line-1{background:#ffcd00;color:var(--ink)}.metro-line-7{background:#fa9aba;color:var(--ink)}.metro-line-14{background:#62259d;color:white}
.place-copy>p{margin:0;font-size:14px;line-height:1.55;color:#3d424a}
.place-open{display:inline-flex;flex:0 0 44px;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #d5d8de;border-radius:10px;color:var(--ink);text-decoration:none}.place-open:hover{background:var(--gray);border-color:var(--ink)}
.place-row.is-closed{background:#fcfcfd}.places-footnote{margin:20px 0;color:var(--muted);font-size:13px;line-height:1.55}.places-floorplan{margin-top:20px}
.museum-map-section .museum-places-wrap.ta-map-unavailable .places-controls{display:flex}
@media(max-width:999px){.places-grid{grid-template-columns:1fr}}
@media(max-width:599px){.places-group>header{padding:14px 16px}.place-row{padding:16px;gap:12px}.places-group>header>span:last-child{font-size:10px;max-width:40%}.place-title>span:first-child{font-size:16px}.place-fact,.place-walk{font-size:11px}.places-intro{font-size:15px}.place-copy>p{font-size:14px}}
