#bici-footer .visit-section{padding:32px 0}
#bici-footer .visit-section .visit-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"heading heading" "map address" "map contact" "map routes" "hours hours";gap:18px 40px;align-items:start}
#bici-footer .visit-section .visit-info{display:contents}
#bici-footer .visit-info>h2{grid-area:heading;margin:0;font-size:30px}
#bici-footer .visit-info>address{grid-area:address;margin:0}
#bici-footer .visit-info>.visit-contact{grid-area:contact;display:flex;flex-wrap:wrap;gap:12px 28px;margin:0}
#bici-footer .visit-info>.visit-routes{grid-area:routes;margin:0}
#bici-footer .visit-section .visit-map{grid-area:map;width:100%;max-width:none;margin:0;align-self:start}
#bici-footer .visit-map>a{display:block;border-radius:12px;overflow:hidden;background:#e3edf1}
#bici-footer .visit-map>a img{display:block;width:100%;height:auto;aspect-ratio:1293/680;object-fit:contain}
#bici-footer .visit-map figcaption{font-size:14px;line-height:1.4;padding:10px 0 0;margin:0;color:#21617b;text-decoration:underline;text-underline-offset:3px;background:transparent}
#bici-footer .visit-section .footer-hours{grid-area:hours;margin:4px 0 0;padding:22px 24px}
.bici-footer-map-modal{position:fixed;inset:0;margin:auto;width:min(1100px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:20px;border:0;border-radius:14px;background:#fff;color:#263e49;overflow:auto;box-shadow:0 20px 80px #081d2d66;font-family:BiciSite,Arial,sans-serif}
.bici-footer-map-modal::backdrop{background:#0b202ce0}
.bici-footer-map-modal .footer-map-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.bici-footer-map-modal h2{margin:0;padding:0;color:#21617b;font-size:26px;line-height:1.2}
.bici-footer-map-modal button{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#eaf1f3;color:#21617b;cursor:pointer;touch-action:manipulation}
.bici-footer-map-modal svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.bici-footer-map-modal>img{display:block;width:100%;height:auto;max-height:calc(100dvh - 180px);object-fit:contain}
.bici-footer-map-modal>p{font-size:14px;line-height:1.5;margin:12px 0 0;padding:0}
.bici-footer-map-modal button:focus-visible{outline:3px solid #21617b;outline-offset:3px}
@media(max-width:650px){#bici-footer .visit-section .visit-layout{grid-template-areas:"heading heading" "map address" "map contact" "routes routes" "hours hours";gap:16px 18px}#bici-footer .visit-info>h2{font-size:26px}#bici-footer .visit-info>.visit-contact a{min-width:0;overflow-wrap:anywhere}#bici-footer .visit-info>.visit-contact{gap:10px 20px}#bici-footer .visit-section .footer-hours{padding:20px 16px}.bici-footer-map-modal{width:calc(100% - 24px);padding:14px}.bici-footer-map-modal h2{font-size:23px}}
