.student-map-section{grid-template-columns:1fr;gap:28px}.student-map-section .map-copy{max-width:850px}.student-map-section .map-copy h2{font-size:clamp(2.5rem,5vw,4.5rem)}.student-map-shell{min-width:0;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}#map-layers{border:0;margin:0 0 18px;padding:0;display:flex;gap:9px;flex-wrap:wrap}#map-layers legend{font-weight:800;margin-bottom:10px}#map-layers label{display:flex;align-items:center;gap:7px;border:1px solid #cbd8db;padding:9px 12px;border-radius:30px;font-size:.86rem;cursor:pointer}#map-layers label:has(input:checked){background:#edf5f3;border-color:#39766b}#map-layers input{accent-color:#28665a;width:17px;height:17px}.map-symbol{display:inline-flex;align-items:center;justify-content:center}.map-symbol svg{width:20px;height:20px}.map-toolbar{display:flex;gap:10px;align-items:center;margin:0 0 16px;flex-wrap:wrap}.map-toolbar label{font-size:.85rem;font-weight:800}.map-toolbar input{flex:1;min-width:160px;border:1px solid #b7c9cc;border-radius:10px;padding:12px;font:inherit}.map-toolbar button,.map-place button{border:1px solid #b7c9cc;border-radius:9px;padding:10px 13px;background:var(--paper);color:var(--ink);font:inherit;cursor:pointer}.map-toolbar button:hover,.map-place button:hover{background:#e2efeb}#student-map{height:540px;border-radius:14px;background:#e6eee9;z-index:0;font-family:'DM Sans',sans-serif}#student-map:focus-visible{outline:3px solid var(--coral)}.galway-pin{border:0;background:transparent}.galway-pin>span{width:34px;height:34px;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);display:flex;justify-content:center;align-items:center;background:var(--pin);border:2px solid white;box-shadow:0 2px 7px #1235}.galway-pin svg{width:19px;height:19px;color:white;transform:rotate(45deg)}.area-label{background:#fbf6e8;border:1px solid #a78031;border-radius:7px;padding:3px 8px;color:#654d20;font-weight:800;font-size:11px;box-shadow:0 2px 5px #0002}.area-label:before{display:none}.map-status,.map-small{font-size:.8rem;color:var(--muted);margin:12px 0}.map-small a{color:var(--ink);text-underline-offset:3px}.map-directory{border-top:1px solid var(--line);padding-top:14px}.map-directory summary{cursor:pointer;font-weight:800}#map-count{font-weight:400;color:var(--muted)}#map-place-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;max-height:360px;overflow:auto;padding:2px}.map-place{border:1px solid var(--line);border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:5px}.map-place h3{font:700 .93rem 'DM Sans',sans-serif;margin:0}.map-place p{font-size:.78rem;line-height:1.45;margin:0;color:var(--muted)}.map-place-actions{display:flex;gap:12px;align-items:center;margin-top:auto;padding-top:8px}.map-place-actions a{font-size:.78rem;color:var(--ink)}.map-place button{font-size:.78rem;padding:7px 10px}.map-popup h3{font-size:1rem;margin:0 0 8px}.map-popup p{margin:8px 0}.map-popup a{display:inline-block;margin-right:12px;color:#215e54}.map-popup small{display:block;color:#65777c}.map-place:focus-within{outline:2px solid #28665a}@media(max-width:900px){#map-place-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.student-map-shell{padding:12px}#student-map{height:410px}#map-place-list{grid-template-columns:1fr;max-height:310px}#map-layers{gap:6px}#map-layers label{padding:8px 10px;font-size:.77rem}.map-toolbar label{width:100%}.map-toolbar input{width:100%;min-width:0}.area-label{font-size:10px}.student-map-section{padding-left:15px;padding-right:15px}}

.map-service-note{background:#eef3f8;border-left:4px solid #38587d;border-radius:10px;padding:16px 18px;margin:0 0 18px;font-size:.86rem}.map-service-note[hidden]{display:none}.map-service-note p{margin:8px 0}.map-service-note a{color:#284d75;text-underline-offset:3px}

.map-modes{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;scroll-margin-top:110px}.map-modes button{font:700 .94rem 'DM Sans',sans-serif;border:1px solid #becdca;border-radius:12px;background:#fff;color:var(--ink);padding:12px 18px;cursor:pointer}.map-modes button[aria-pressed="true"]{background:#215e54;border-color:#215e54;color:#fff}.music-filters{background:#fff3f6;border:1px solid #edced8;padding:20px;border-radius:14px;margin-bottom:20px}.music-filters[hidden]{display:none}.music-filters h3{margin:0 0 8px;font-size:1.3rem}.music-filters p{font-size:.88rem;line-height:1.6;margin:8px 0}#music-days{border:0;padding:0;margin:16px 0;display:flex;gap:8px;flex-wrap:wrap}#music-days legend{font-weight:700;font-size:.88rem;margin-bottom:10px}#music-days label{display:flex;align-items:center;gap:7px;border:1px solid #dcb6c5;border-radius:9px;padding:9px 12px;background:white;font-size:.85rem;cursor:pointer}#music-days label:has(input:checked){background:#f6dce6;border-color:#b34870}#music-days input,.music-variable input{width:17px;height:17px;accent-color:#b34870}.music-variable{display:flex;align-items:center;gap:8px;font-size:.85rem;cursor:pointer}.music-schedule{color:#963457!important;font-size:.76rem!important;line-height:1.6!important}.map-place-actions{flex-wrap:wrap}.map-modes button:focus-visible,#music-days label:focus-within{outline:3px solid #b34870;outline-offset:3px}@media(max-width:620px){.music-filters{padding:14px}#music-days label{padding:9px;font-size:.8rem}.map-modes button{flex:1;padding:12px 10px;font-size:.85rem}}

.study-map-filters{background:#eef3fa;border:1px solid #ccd8e9;border-radius:14px;padding:20px;margin-bottom:20px}.study-map-filters[hidden]{display:none}.study-map-filters h3{margin:0 0 8px;font-size:1.3rem;scroll-margin-top:170px}.study-map-filters p{font-size:.88rem;line-height:1.6}#study-options{border:0;padding:0;margin:16px 0;display:flex;flex-wrap:wrap;gap:8px}#study-options legend{font-weight:700;font-size:.88rem;margin-bottom:10px}#study-options label{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #becde3;border-radius:9px;padding:10px;font-size:.83rem;cursor:pointer}#study-options input{accent-color:#4f6793;width:17px;height:17px}#study-options label:has(input:checked){background:#dce6f6;border-color:#4f6793}#study-options label:focus-within{outline:3px solid #4f6793;outline-offset:2px}.study-place-info{border-top:1px solid var(--line);padding-top:8px;margin-top:5px}.study-place-info p{margin-bottom:5px}.study-place-info a{font-size:.78rem;color:#385585}@media(max-width:620px){.study-map-filters{padding:14px}.map-modes button{flex:1 1 40%}}
