/* Compléments limités aux pages Grand Montréal ; gabarits partagés avec Montréal. */
.gm-index .gm-source-note,.gm-page .gm-source-note{font-size:.86rem;color:#475569;line-height:1.6}
.gm-index .gm-map-interactive{margin:15px 0;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#e3dac1}
.gm-map-interactive svg{width:100%;height:auto;display:block}
.gm-directory{margin:18px 0;border:1px solid #e5e7eb;border-radius:14px;padding:16px;background:#faf9f6}
.gm-directory label{display:block;font-weight:750;margin-bottom:8px}
.gm-search-row{display:flex;gap:8px;align-items:stretch}
.gm-search-row input{width:100%;min-width:0;padding:11px 13px;border:1px solid #bbb6a8;border-radius:8px;background:#fff;color:#111;font:inherit}
.gm-search-row button{padding:10px 13px;border:1px solid #bbb6a8;border-radius:8px;background:#fff;color:#111;font:inherit;cursor:pointer}
.gm-index .gm-count{font-size:.88rem;color:#475569;margin:12px 0}
.gm-table-scroll{max-height:540px;overflow:auto;border:1px solid #e5e7eb;border-radius:8px;background:#fff;scrollbar-color:#aaa28c #faf9f6}
.gm-directory table{width:100%;border-collapse:separate;border-spacing:0;font-size:.89rem;line-height:1.5;table-layout:fixed}
.gm-directory thead th{position:sticky;top:0;background:#ede9dd;z-index:1;font-weight:750;border-bottom:1px solid #d4cfbf}
.gm-directory th,.gm-directory td{padding:11px 12px;vertical-align:top;overflow-wrap:anywhere}
.gm-directory tbody th{background:#fff;font-weight:700}
.gm-directory tbody tr:hover th,.gm-directory tbody tr:hover td{background:#f8f5ec}
.gm-directory th a{text-decoration:underline;text-underline-offset:3px}
.gm-directory th:first-child{width:34%}.gm-directory th:nth-child(2){width:30%}
.gm-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.gm-page .gm-guide-link{margin:18px 0;padding:18px;border-left:4px solid #111;background:#f3ecdf;border-radius:0 10px 10px 0}
.gm-page .gm-guide-link a{text-decoration:underline;text-underline-offset:3px}
.gm-page .gm-municipalities{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;list-style:none;margin:18px 0;padding:0}
.gm-page .gm-municipalities li{border-bottom:1px solid #e5e7eb;padding:12px 0;scroll-margin-top:110px;min-width:0}
.gm-page .gm-municipalities li:target{background:#faf2d8;outline:2px solid #b39a55;outline-offset:5px;border-radius:5px}
.gm-page .gm-municipalities strong{display:block;color:#111;font-size:.98rem}
.gm-page .gm-municipalities span,.gm-page .gm-municipalities a{display:block;font-size:.87rem;color:#475569;margin-top:3px}
.gm-page .gm-municipalities a{text-decoration:underline;text-underline-offset:3px}
.gm-page .gm-sand{background:#f3ecdf;border-color:#e3d6bf}
.gm-page .gm-other-sectors{list-style:none;margin:0;padding:0}
.gm-page .gm-other-sectors li{border-bottom:1px solid #e5e7eb;padding:10px 0;font-size:.9rem}
.gm-page .faq-a p{padding:0 18px 18px!important;margin:0!important}
@media(max-width:620px){.gm-page .gm-municipalities{grid-template-columns:1fr}.gm-directory{padding:12px}.gm-directory table{font-size:.8rem}.gm-directory th,.gm-directory td{padding:10px 8px}.gm-search-row{flex-wrap:wrap}.gm-search-row input{flex:1 1 200px}.gm-search-row button{flex:0 0 auto}.gm-table-scroll{max-height:460px}}
@media print{.gm-table-scroll{max-height:none;overflow:visible}.gm-search-row,.gm-directory label{display:none}.gm-directory thead th{position:static}}

/* Fiches municipales : mêmes cartes, mêmes couleurs et même grille. */
.gm-city .gm-guide-link h2{font-size:1.15rem;line-height:1.4;margin:0 0 10px;color:#111}
.gm-city .gm-guide-link p{line-height:1.65;margin:10px 0 0}
.gm-city .borough-walk li{padding-bottom:20px}
.gm-city .borough-walk li:last-child{padding-bottom:0}
.gm-city .borough-facts dd{overflow-wrap:anywhere}
.gm-page .gm-municipalities strong a{font-size:.98rem;color:#111;font-weight:750}
