.acd-concert-list {
    color: var(--acd-text, inherit);
    font-size: var(--acd-base, inherit);
    line-height: 1.5;
}

.acd-year-group + .acd-year-group { margin-top: var(--acd-year-gap, 42px); }
.acd-year { margin: 0 0 0.7em; color: var(--acd-year, inherit); font-size: var(--acd-year-size, 28px); line-height: 1.15; font-weight: 600; }
.acd-events { border-top: var(--acd-line-width, 1px) solid var(--acd-line, currentColor); }
.acd-event { display: grid; grid-template-columns: minmax(0, var(--acd-date-width, 150px)) minmax(0, 1fr); column-gap: var(--acd-column-gap, 24px); padding: var(--acd-row-gap, 18px) 0; border-bottom: var(--acd-line-width, 1px) solid var(--acd-line, currentColor); }
.acd-date, .acd-main, .acd-details { min-width: 0; }
.acd-main { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--acd-column-gap, 24px); align-items: center; }
.acd-date-main, .acd-time { display: block; }
.acd-date-main { color: var(--acd-date-color, inherit); font-size: var(--acd-date-size, 16px); }
.acd-time { margin-top: 0.15em; color: var(--acd-time-color, inherit); font-size: var(--acd-time-size, 14px); }
.acd-title { margin: 0; color: var(--acd-title-color, inherit); font-size: var(--acd-title, 18px); line-height: 1.3; font-weight: 600; }
.acd-title a { color: var(--acd-link, currentColor); text-decoration: none; }
.acd-title a:hover, .acd-title a:focus { text-decoration: underline; }
.acd-place { margin-top: 0.15em; }
.acd-description { margin-top: 0.45em; color: var(--acd-subtitle-color, inherit); font-size: var(--acd-subtitle, 14px); white-space: normal; }
.acd-location { color: var(--acd-location-color, inherit); font-size: var(--acd-location-size, 16px); }
.acd-city { color: var(--acd-city-color, inherit); font-size: var(--acd-city-size, 16px); }
.acd-country { color: var(--acd-country-color, inherit); font-size: var(--acd-country-size, 16px); }
.acd-separator { color: var(--acd-text, inherit); }
.acd-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: end;
    padding: 0.65em 1em;
    border: 0;
    border-radius: var(--acd-button-radius, 4px);
    background: var(--acd-button-bg, #222);
    color: var(--acd-button-text, #fff);
    font-size: var(--acd-button-size, 14px);
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity 0.2s ease;
}
.acd-button:hover, .acd-button:focus { color: var(--acd-button-text, #fff); text-decoration: none; opacity: 0.85; }
.acd-empty { margin: 0; color: var(--acd-empty-color, inherit); font-size: var(--acd-empty-size, 16px); }

@media (max-width: 640px) {
    .acd-event { grid-template-columns: 1fr; row-gap: 0.65em; }
    .acd-main { grid-template-columns: 1fr; }
    .acd-button { margin-top: 0.8em; justify-self: end; }
}
