/* Compact agenda previews. Posters and complete information live in the existing accessible dialog. */
section#vs-route-app .vs-schedule .vs-event,.cinema-page .event-list .event{margin-bottom:14px;min-height:0;transform:none}
section#vs-route-app .vs-schedule .vs-event .vs-event-body,.cinema-page .event-list .event{min-height:0;border-width:2px;box-shadow:3px 3px 0 currentColor;overflow:hidden}
section#vs-route-app .vs-schedule .vs-event-header,.cinema-page .event-list .event-header{padding:7px 12px;border-bottom:1px solid currentColor}
section#vs-route-app .vs-schedule .vs-event-header .vs-type,.cinema-page .event-list .event-category{font-size:.7rem;letter-spacing:.035em;line-height:1.3}
section#vs-route-app .vs-schedule .vs-open,.cinema-page .event-list .event-open{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);gap:4px 12px;padding:13px;align-items:start;min-height:130px;text-align:left}
.calendar-stamp{grid-column:1;grid-row:1/6;display:flex;flex-direction:column;width:56px;border:1px solid currentColor;border-radius:5px;overflow:hidden;text-align:center;background:#fff;color:#160b20;box-shadow:0 2px 0 #0002}
.calendar-stamp small{display:block;background:#160b20;color:white;padding:5px 2px;font-size:.65rem;font-weight:800;letter-spacing:.12em}
.calendar-stamp strong{font-size:1.8rem;line-height:1.1;padding:9px 2px;font-weight:900}
section#vs-route-app .vs-schedule .vs-open .vs-title,.cinema-page .event-list .event-open .event-title{grid-column:2;font-size:1rem;line-height:1.3;margin:0 0 2px;overflow:visible}
section#vs-route-app .vs-schedule .vs-open .card-schedule,.cinema-page .event-list .event-open .card-schedule{grid-column:2;gap:1px}
section#vs-route-app .vs-schedule .vs-card-date,.cinema-page .event-list .event-card-date{font-size:.72rem;line-height:1.4}
section#vs-route-app .vs-schedule .vs-card-time,.cinema-page .event-list .event-time{font-size:.8rem;font-weight:700;line-height:1.4}
section#vs-route-app .vs-open .card-instructor,.cinema-page .event-open .card-instructor{grid-column:2;font-size:.75rem;line-height:1.35}
.calendar-venue{grid-column:2;font-size:.76rem;line-height:1.4;overflow-wrap:anywhere}
section#vs-route-app .vs-schedule .vs-card-action,.cinema-page .event-list .event-cta{grid-column:2;font-size:.73rem;margin:4px 0 0;text-decoration:underline;line-height:1.4}
section#vs-route-app .vs-schedule .vs-event-footer,.cinema-page .event-list .event-footer{min-height:44px;padding:0 0 0 12px;align-items:center;justify-content:space-between;gap:8px}
section#vs-route-app .vs-schedule .vs-state,.cinema-page .event-list .event-access{font-size:.7rem;line-height:1.3;flex:1}
section#vs-route-app .vs-schedule .vs-fav,.cinema-page .event-list .favorite{min-height:44px;padding:8px 12px;font-size:.75rem}
section#vs-route-app .vs-schedule .vs-event:hover .vs-event-body{transform:none;box-shadow:3px 3px 0 currentColor}
/* Preserve original artwork, uncropped and unfiltered, once opened. */
.poster-mode .modal-event-poster img{object-fit:contain!important;filter:none!important;height:auto!important}
@media(min-width:760px){section#vs-route-app .vs-events,.cinema-page .event-list{gap:20px}}
@media(max-width:380px){section#vs-route-app .vs-schedule .vs-open,.cinema-page .event-list .event-open{grid-template-columns:48px minmax(0,1fr);gap:4px 10px;padding:11px}.calendar-stamp{width:46px}.calendar-stamp strong{font-size:1.6rem}}
