/* Town-specific additions to the shared locality presentation. */
.portal-town-page .activity-search {
    max-width: none;
    margin-inline: 0;
}

.portal-town-page .town-nearby-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    min-width: 0;
    margin: 0;
    padding: 0;
}

.portal-town-page .town-nearby-link {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-content: center;
    align-items: center;
    gap: 6px 14px;
    min-width: 0;
    min-height: 78px;
    padding: 15px;
    border: 1px solid var(--locality-line);
    border-radius: 11px;
    background: var(--locality-soft);
    color: var(--locality-ink);
    font-size: 15px;
    line-height: 1.5;
    text-align: start;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
}

.portal-town-page .town-nearby-name {
    grid-column: 1;
    min-width: 0;
    font-weight: 500;
}

.portal-town-page .town-nearby-link .portal-distance {
    grid-column: 1;
    justify-content: flex-start;
    min-width: 0;
    margin: 0;
    color: var(--locality-muted);
    font-size: 13px;
    line-height: 1.5;
}

.portal-town-page .town-nearby-link::after {
    content: "";
    grid-column: 2;
    grid-row: 1 / span 2;
    width: 7px;
    height: 7px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    transform: rotate(45deg);
}

.portal-town-page .town-nearby-link:hover {
    border-color: #92b0c4;
    background: #fff;
    color: var(--locality-ink);
    text-decoration: none;
}

.portal-town-page .town-nearby-link:focus-visible {
    outline: 3px solid #1479b8;
    outline-offset: 3px;
}

.portal-town-page .town-nearby-link .portal-whole-word {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

/* A real map, when the server supplies one, occupies its own row. */
.portal-town-page #ContentPlaceHolderMain_mapBox {
    float: none;
    clear: both;
    width: 100%;
    min-width: 0;
    padding-inline: 0;
}

.portal-town-page #ContentPlaceHolderMain_mapBox .widget.map {
    margin: 0 0 24px;
}

.portal-town-page #ContentPlaceHolderMain_mapBox .row { margin-inline: 0; }
.portal-town-page #ContentPlaceHolderMain_mapBox .col-lg-12 { padding-inline: 0; }
.portal-town-page #ContentPlaceHolderMain_mapBox iframe { display: block; width: 100%; max-width: 100%; }

.portal-town-page #panelPagination {
    margin-top: 20px;
    padding-bottom: 20px !important;
}

@media (min-width: 768px) {
    .portal-town-page .town-nearby-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .portal-town-page .town-nearby-link { padding: 16px; }
}

@media (min-width: 1200px) {
    .portal-town-page .town-nearby-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
