/* Aceleași componente pe listare, eveniment și artist. */
.ic-event-card{border:1px solid #e5e7eb;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 1px 2px rgb(0 0 0 / .04)}
.dark .ic-event-card{border-color:#2a2a2a;background:#1a1a1a}
.ic-event-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 16px;border-radius:8px;font-size:12px;font-weight:600;line-height:1.3;text-align:center;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s}
.ic-event-button--primary{border:1px solid #f0831a;background:#f0831a;color:#fff}
.ic-event-button--primary:hover{background:#d9700f;border-color:#d9700f;color:#fff}
.ic-event-button--secondary{border:1px solid #d1d5db;background:transparent;color:#374151}
.ic-event-button--secondary:hover{border-color:#f0831a;color:#f0831a}
.dark .ic-event-button--secondary{border-color:#444;color:#d1d5db}
.dark .ic-event-button--secondary:hover{border-color:#f0831a;color:#f0831a}
.ic-event-button:focus-visible,.ic-event-calendar summary:focus-visible{outline:2px solid #f0831a;outline-offset:3px}
.ic-event-badge{display:inline-flex;align-items:center;flex-shrink:0;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:600;line-height:1.35;text-transform:uppercase;letter-spacing:.025em;background:#f3f4f6;color:#4b5563}
.ic-event-badge--cancelled{background:#fef2f2;color:#dc2626}
.ic-event-badge--rescheduled,.ic-event-badge--postponed{background:#eff6ff;color:#2563eb}
.ic-event-badge--free,.ic-event-badge--new{background:#ecfdf5;color:#047857}
.ic-event-badge--dead{background:#fff7ed;color:#c2410c}
.ic-event-badge--recommended{background:#fffbeb;color:#a16207}
.ic-event-badge--sponsored{background:#faf5ff;color:#9333ea}
.ic-event-badge--today{background:#e11d48;color:#fff}
.ic-event-badge--updated{background:#f0f9ff;color:#0369a1}
.ic-event-badge--price{text-transform:none;letter-spacing:0}
.dark .ic-event-badge,.ev-hero .ic-event-badge{background:#2a2a2a;color:#d1d5db}
.dark .ic-event-badge--cancelled,.ev-hero .ic-event-badge--cancelled{background:#7f1d1d66;color:#fca5a5}
.dark .ic-event-badge--rescheduled,.dark .ic-event-badge--postponed,.ev-hero .ic-event-badge--rescheduled,.ev-hero .ic-event-badge--postponed{background:#1e3a8a66;color:#93c5fd}
.dark .ic-event-badge--free,.dark .ic-event-badge--new,.ev-hero .ic-event-badge--free,.ev-hero .ic-event-badge--new{background:#064e3b66;color:#6ee7b7}
.dark .ic-event-badge--dead,.ev-hero .ic-event-badge--dead{background:#7c2d1266;color:#fdba74}
.dark .ic-event-badge--recommended,.ev-hero .ic-event-badge--recommended{background:#78350f66;color:#fcd34d}
.dark .ic-event-badge--sponsored,.ev-hero .ic-event-badge--sponsored{background:#581c8766;color:#d8b4fe}
.dark .ic-event-badge--today,.ev-hero .ic-event-badge--today{background:#be123c;color:#fff}
.dark .ic-event-badge--updated,.ev-hero .ic-event-badge--updated{background:#0c4a6e66;color:#7dd3fc}
.ic-event-icon{width:16px;height:16px;flex-shrink:0}
.ic-event-meta{display:flex;align-items:flex-start;gap:6px;font-size:12px;line-height:1.5;color:#6b7280}
.dark .ic-event-meta{color:#9ca3af}
.ic-artist-concerts{list-style:none;padding:0;display:grid;gap:12px}
.ic-event-calendar{position:relative}
.ic-event-calendar summary{list-style:none;cursor:pointer;min-height:40px;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:12px;color:#4b5563}
.ic-event-calendar summary::-webkit-details-marker{display:none}
.dark .ic-event-calendar summary{border-color:#444;color:#d1d5db}
.ic-event-calendar[open] summary{border-color:#f0831a;color:#f0831a}
.ic-event-calendar-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:170px;padding:6px;border:1px solid #d1d5db;border-radius:8px;background:#fff;box-shadow:0 8px 24px rgb(0 0 0 / .15);z-index:20}
.dark .ic-event-calendar-menu{border-color:#444;background:#242424}
.ic-event-calendar-menu a{display:block;padding:10px;font-size:12px;border-radius:4px;color:#374151}
.dark .ic-event-calendar-menu a{color:#d1d5db}
.ic-event-calendar-menu a:hover{color:#f0831a;background:#f3f4f6}
.dark .ic-event-calendar-menu a:hover{background:#333}
@media(max-width:639px){.ic-event-button,.ic-event-calendar summary{min-height:44px}}
/* Aspectul listei de concerte este folosit direct și pe artist. */
:is(#fest-grid.fest-list > article,.ic-artist-list-card){display:grid;grid-template-columns:92px minmax(0,1fr)}
:is(#fest-grid.fest-list,.ic-artist-concerts) .concerte-event-media{aspect-ratio:150/215;align-self:center}
:is(#fest-grid.fest-list,.ic-artist-concerts) .concerte-event-body{padding-right:2rem}
:is(#fest-grid,.ic-artist-concerts) .concerte-event-meta{font-size:.8125rem}
:is(#fest-grid,.ic-artist-concerts) .concerte-event-meta>*+*{margin-top:.25rem!important}
.ic-artist-list-card .concerte-event-media img{display:block;width:100%;height:100%;object-fit:cover}
.ic-artist-list-card .concerte-list-chevron{display:flex}
.ic-artist-poster-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:#f0831a;font-size:32px}
.ic-artist-guest-actions{position:absolute;bottom:8px;right:8px;z-index:10}
.ic-artist-guest-actions summary{width:32px;min-height:32px;padding:0;border:0;font-size:22px;color:#9ca3af}
.ic-artist-guest-actions .ic-event-calendar-menu{top:auto;bottom:calc(100% + 6px)}
.ic-artist-list-card:has(.ic-event-calendar[open]){overflow:visible;z-index:20}
@media(min-width:768px){#fest-grid.fest-list>article{grid-template-columns:112px minmax(0,1fr)}:is(#fest-grid.fest-list,.ic-artist-concerts) .concerte-event-body{padding-right:2.5rem}}

.ic-artist-list-card .ev-period-full{display:none}
.ic-artist-list-card .concerte-event-media{width:calc(100% - 16px);margin:8px;border-radius:6px}
.ic-artist-concerts .concerte-event-body{padding-left:8px}
/* Pe desktop, păstrăm afișul întreg într-un rând mai compact. */
@media(min-width:768px){
  .ic-artist-concerts .concerte-event-body{padding-top:12px;padding-bottom:12px;gap:8px}
}
