.button,
.hero-button {
    display: inline-block;

    padding: 14px 30px;

    border-radius: 8px;
}

.button {
    background: black;
    color: white;
}

.hero-button {
    background: white;
    color: black;
}

.concert-grid,
.artist-grid,
.edition-grid {

    display: grid;

    gap: 30px;
}

.concert-grid {

    grid-template-columns:
        repeat(auto-fit,minmax(280px,1fr));
}

.artist-grid {

    grid-template-columns:
        repeat(auto-fit,minmax(250px,1fr));
}

.edition-grid {

    grid-template-columns:
        repeat(auto-fit,minmax(250px,1fr));
}

.concert-card,
.artist-card,
.edition-card {

    background: white;

    border-radius: 12px;

    overflow: hidden;

    box-shadow:
        0 5px 20px rgba(0,0,0,.08);

    transition: .25s;
}

.concert-card:hover,
.artist-card:hover,
.edition-card:hover {

    transform: translateY(-4px);
}
.concert-card img {

    width: 100%;

    height: 320px;

    object-fit: cover;

    object-position: center;

    display: block;
}

.card-content,
.concert-content {

    padding: 20px;
}

.artist-card {

    text-align: center;
}

.artist-card img {

    width: 180px;

    height: 180px;

    border-radius: 50%;

    object-fit: cover;

    margin: 20px auto;
}

.edition-card {

    padding: 40px;

    text-align: center;
}

.meta-item {

    background: #f5f5f5;

    padding: 20px;

    border-radius: 12px;

    text-align: center;
}

.concert-image {

    max-width: 40em;

    margin: 0 auto;

    text-align: center;
}

.concert-image img {

    width: 100%;

    display: block;

    border-radius: 12px;
}

.artist-photo {

    max-width: 40em;

    display: block;

    margin: auto ;
   

}

.card-subtitle {

    margin: .5rem 0 1rem;

    font-size: 1rem;
    
    font-style: italic;

    line-height: 1.4;
}

