.mrthao-city-events {
    --mtce-primary: #168bff;
    --mtce-dark: #0648c8;
    --mtce-ink: #152238;
    --mtce-muted: #687386;
    width: 100%;
    box-sizing: border-box;
    font-family: inherit;
}
.mrthao-city-events *, .mrthao-city-events *::before, .mrthao-city-events *::after { box-sizing: border-box; font-family: inherit !important; }
.mrthao-city-events__heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.mrthao-city-events__eyebrow { display: block; margin-bottom: 5px; color: var(--mtce-primary); font-size: .76rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.mrthao-city-events__heading h2 { margin: 0; color: var(--mtce-ink); font-size: clamp(1.6rem, 3vw, 2.35rem); line-height: 1.15; }
.mrthao-city-events__count { flex: 0 0 auto; padding: 7px 12px; border-radius: 999px; color: var(--mtce-dark); background: #eaf4ff; font-size: .78rem; font-weight: 700; }
.mrthao-city-events__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.mrthao-event-card { overflow: hidden; border: 1px solid rgba(104, 115, 134, .24); border-radius: 18px; background: transparent; box-shadow: none; transition: transform .2s ease, border-color .2s ease; }
.mrthao-event-card:hover { transform: translateY(-3px); border-color: rgba(22, 139, 255, .48); }
.mrthao-event-card--own { border-color: rgba(22, 139, 255, .35); }
.mrthao-event-card--text-only { display: flex; align-items: stretch; }
.mrthao-event-card--text-only .mrthao-event-card__body { width: 100%; }
.mrthao-event-card__image { position: relative; height: 185px; overflow: hidden; background: #eef3f9; }
.mrthao-event-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.mrthao-event-card:hover .mrthao-event-card__image img { transform: scale(1.025); }
.mrthao-event-card__image--placeholder { display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, var(--mtce-primary), var(--mtce-dark)); }
.mrthao-event-card__image--placeholder span { font-size: 3.4rem; opacity: .65; }
.mrthao-event-card__body { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 16px; padding: 19px; }
.mrthao-event-card__date { align-self: start; padding: 8px 4px; border-radius: 11px; text-align: center; color: #fff; background: linear-gradient(145deg, var(--mtce-primary), var(--mtce-dark)); }
.mrthao-event-card__date span, .mrthao-event-card__date strong { display: block; }
.mrthao-event-card__date span { font-size: 1.22rem; font-weight: 800; line-height: 1; }
.mrthao-event-card__date strong { margin-top: 4px; font-size: .67rem; letter-spacing: .05em; }
.mrthao-event-card__content { min-width: 0; }
.mrthao-event-card__label { display: inline-block; margin-bottom: 6px; color: var(--mtce-primary); font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.mrthao-event-card__content h3 { margin: 0; color: var(--mtce-ink); font-size: 1.08rem; line-height: 1.3; }
.mrthao-event-card__meta { margin: 7px 0 0; color: var(--mtce-muted); font-size: .78rem; line-height: 1.45; }
.mrthao-event-card__summary { margin: 11px 0 0; color: #465269; font-size: .86rem; line-height: 1.55; }
.mrthao-event-card__link { display: inline-flex; gap: 7px; margin-top: 13px; color: var(--mtce-dark); font-size: .84rem; font-weight: 750; text-decoration: none; }
.mrthao-event-card__link:hover { color: var(--mtce-primary); text-decoration: underline; }
.mrthao-city-events__source { margin: 15px 2px 0; color: #8b94a3; font-size: .68rem; text-align: right; }
.mrthao-city-events-error { padding: 12px 15px; border-left: 4px solid #d63638; background: #fff1f1; color: #7a1d1d; }
.mrthao-city-events-empty { padding: 16px 18px; border-radius: 10px; background: #f3f7fb; color: #536176; }
.mrthao-festivalagenda { width: 100%; padding: 24px; border: 1px solid rgba(104, 115, 134, .24); border-radius: 18px; background: transparent; box-shadow: none; font-family: inherit; }
.mrthao-festivalagenda *, .mrthao-festivalagenda *::before, .mrthao-festivalagenda *::after { font-family: inherit !important; }
.mrthao-festivalagenda h2 { margin: 0 0 17px; color: var(--mtce-ink, #152238); font-size: 1.35rem; line-height: 1.25; }
.mrthao-festivalagenda__list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.mrthao-festivalagenda__list li { display: grid; grid-template-columns: minmax(135px, .7fr) minmax(0, 1.5fr); gap: 18px; padding: 13px 0; border-top: 1px solid rgba(104, 115, 134, .18); }
.mrthao-festivalagenda__list li:first-child { padding-top: 0; border-top: 0; }
.mrthao-festivalagenda__period { color: #687386; font-size: .84rem; font-weight: 650; }
.mrthao-festivalagenda__list a { color: #0648c8; font-size: .94rem; font-weight: 750; line-height: 1.4; text-decoration: none; }
.mrthao-festivalagenda__list a:hover { color: #168bff; text-decoration: underline; }
.mrthao-festivalagenda__source { margin: 15px 0 0; color: #8b94a3; font-size: .68rem; text-align: right; }
.mrthao-festivalagenda__source a { color: inherit; }
@media (max-width: 720px) {
    .mrthao-city-events__grid { grid-template-columns: 1fr; }
    .mrthao-event-card__image { height: 200px; }
}
@media (max-width: 420px) {
    .mrthao-city-events__heading { align-items: start; }
    .mrthao-city-events__count { display: none; }
    .mrthao-event-card__image { height: 170px; }
    .mrthao-event-card__body { grid-template-columns: 48px minmax(0, 1fr); gap: 13px; padding: 16px; }
    .mrthao-festivalagenda { padding: 19px; }
    .mrthao-festivalagenda__list li { grid-template-columns: 1fr; gap: 4px; }
}
