main {
    padding: 1rem;
}

.card {
    display: grid;
}

.title,
.description,
.address {
    padding: 1rem;
}

.title {
    border-bottom: 1px solid var(--accent-color);
    color: var(--secondary-color);
}

figure {
    border: thin var(--accent-color) solid;
    display: flex;
    flex-flow: column;
}

figure img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

figcaption {
    background-color: var(--secondary-color);
    color: #000;
    font: italic smaller sans-serif;
    text-align: center;
    padding: 3px;
}

.description {
    text-align: justify;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    height: 5.4rem;
}

.address {
    text-align: center;
    font-size: 0.9rem;
}

.btnLearnMore {
    grid-area: action;
    border: none;
    padding: 0.5rem 2rem;
    background-color: var(--accent-color);
    width: 100%;
    display: inline-block;
    text-align: center;
    color: #000;
}

.btnLearnMore:hover {
    background-color: var(--primary-color);
}

@media screen and (max-width: 640px) {

    #areaList {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .card {
        grid-template-areas:
            "title"
            "image"
            "description"
            "address"
            "action";
    }

    .title {
        grid-area: title;
    }

    figure {
        grid-area: image;
    }

    .description {
        grid-area: description;
    }

    .btnLearnMore {
        grid-area: action;
        padding: 1rem;
        border-bottom-left-radius: 10px;
        border-bottom-right-radius: 10px;
    }
}