.city-events{padding:var(--space-lg) var(--space-2xl);max-width:1200px;margin:0 auto}.city-events__section{margin-bottom:var(--space-lg)}.city-events__heading{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);margin-bottom:var(--space-sm)}.city-events__chip-group{display:flex;flex-wrap:wrap;gap:var(--space-xs);padding-left:0;list-style:none}.city-events__chip{background-color:var(--gray-100);border-radius:var(--radius-lg);padding:var(--space-xs) var(--space-md);font-size:var(--font-size-sm);border:var(--border-width-thin) solid transparent}.city-events__link{text-decoration:none;color:var(--gray-700);font-weight:var(--font-weight-medium);display:block}.city-events__chip.active{background-color:var(--primary-100);border-color:var(--primary-800)}.city-events__chip.active .city-events__link{color:var(--primary-800);font-weight:var(--font-weight-bold)}.event-empty-state{flex-direction:column;min-height:60vh;text-align:center;padding:var(--space-xl) var(--space-md);background-color:var(--gray-100);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin:var(--space-2xl) auto;max-width:600px}.event-empty-state,.event-empty-state__image-wrapper{display:flex;align-items:center;justify-content:center}.event-empty-state__image-wrapper{margin-bottom:var(--space-md)}.event-empty-state__image{max-width:180px;height:auto;opacity:var(--opacity-80)}.event-empty-state__text{color:var(--gray-700)}.event-empty-state__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-sm);color:var(--gray-900)}.event-empty-state__description{font-size:var(--font-size-md);line-height:var(--line-height-body);color:var(--gray-600)}@keyframes pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.city-events{padding-left:0;padding-right:0}.city-events__heading{font-size:var(--font-size-md);margin-bottom:var(--space-xs)}.city-events__chip-group{gap:var(--space-xs)}.city-events__chip{font-size:var(--font-size-xs);padding:calc(var(--space-xs) * .8) calc(var(--space-md) * .75)}.city-events__chip.active{background-color:var(--primary-100)}.city-events__chip.active .city-events__link{font-weight:var(--font-weight-bold)}.event-empty-state{min-height:30vh;padding:var(--space-lg) var(--space-sm)}.event-empty-state__image{max-width:140px}.event-empty-state__title{font-size:var(--font-size-lg)}.event-empty-state__description{font-size:var(--font-size-sm)}}