#map {
    height: 480px;
    border-radius: 0.75rem;
    border: 1px solid #e5e7eb;
}

.facility-list-header {
    font-size: 1.05rem;
}

.facility-list-header .badge {
    font-size: 0.95rem;
}

@media (max-width: 576px) {
    #map {
        height: 360px;
    }

    .facility-list-card table {
        font-size: 0.9rem;
        table-layout: fixed;
    }

    .facility-list-card th,
    .facility-list-card td {
        white-space: normal;
    }

    .facility-table thead {
        display: none;
    }

    .facility-table tr {
        display: block;
        border-bottom: 1px solid #e5e7eb;
        padding: 0.25rem 0.25rem;
    }

    .facility-table td {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        text-align: left;
        border: none;
        padding: 0.1rem 0;
        gap: 0.5rem;
    }

    .facility-table td::before {
        content: attr(data-label);
        font-weight: 600;
        color: #374151;
        flex: 0 0 20%;
    }

    .facility-table td[data-label="距離"],
    .facility-table td[data-label="Map"] {
        text-align: left !important;
        justify-content: flex-start;
    }

    .facility-list-header {
        font-size: 0.9rem;
    }

    .facility-list-header .badge {
        font-size: 0.80rem;
    }
}
