/* Compact cards outside, one complete poster after opening. Text and original actions stay accessible. */
.poster-mode .modal-event-poster{display:block;margin:0 auto 18px;width:100%;max-width:540px}
.poster-mode .modal-event-poster img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;filter:none;mix-blend-mode:normal;border:0;border-radius:0}
.poster-mode .poster-current-facts{font:inherit;line-height:1.55;margin:18px 0;padding:14px 16px;border:1px solid currentColor}
.poster-mode .poster-current-facts p{margin:0 0 10px;font-size:.95rem;line-height:1.55}
.poster-mode .poster-current-facts p:last-child{margin-bottom:0}
.poster-mode .poster-route-note{font-size:.8rem!important}
.poster-mode .poster-text-detail{border-top:1px solid currentColor;margin:18px 0;padding-top:8px}
.poster-mode .poster-text-detail>summary{font-size:1rem;font-weight:800;padding:12px 0;cursor:pointer;line-height:1.4}
.poster-mode .poster-text-detail[open]>summary{margin-bottom:14px}
.poster-mode .detail-header{padding:14px 24px;display:block}
.poster-mode .detail-date,.poster-mode .detail-topline,.poster-mode #detail-type{display:none}
.poster-mode #detail-title{font-size:1.25rem;line-height:1.3;letter-spacing:0;margin:0}
.poster-mode .detail-meta{font-size:.9rem;margin:7px 0 0;line-height:1.4}
.poster-mode .detail-content{padding-top:0}
#vs-route-app .poster-mode .vs-detail-top{display:block;padding:14px 22px}
#vs-route-app .poster-mode .vs-detail-date,#vs-route-app .poster-mode .vs-detail-tag,#vs-route-app .poster-mode .vs-detail-promise{display:none}
#vs-route-app .poster-mode .vs-detail-top h3{font-size:1.25rem;line-height:1.3;letter-spacing:0;margin:0}
#vs-route-app .poster-mode .vs-meta{font-size:.9rem;line-height:1.4;margin:7px 0 0}
#vs-route-app .poster-mode .vs-detail-content{padding-top:0}
.poster-mode :is(.vs-actions,.detail-actions){margin-top:0;display:flex;flex-wrap:wrap;gap:10px}
.poster-mode :is(.vs-save,#save-event,.vs-form,#form-event){order:-1}
.poster-mode :is(.vs-actions,.detail-actions)>[hidden]{display:none!important}
@media(max-width:600px){
 .poster-mode .detail-header{padding:12px 16px}
 #vs-route-app .poster-mode .vs-detail-top{padding:12px 16px}
 .poster-mode .poster-current-facts{padding:12px}
 .poster-mode :is(.vs-actions,.detail-actions)>:is(button,a){flex:1 1 140px;white-space:normal;line-height:1.4;min-height:44px}
}

/* Photographs belong only to opened activity details, not preview cards. */
.vs-detail .detail-artist-photo,.detail .detail-artist-photo{display:block;width:100%;max-width:260px;height:210px;object-fit:contain;filter:none!important;margin:0 auto 10px}
.vs-detail .festival-artist-person:has(.detail-artist-photo),.detail .festival-artist-person:has(.detail-artist-photo){min-width:0}
.detail-moderator-photo{margin:22px 0;max-width:280px;text-align:center}
.detail-moderator-photo .portrait-close{display:block;width:100%;height:260px;overflow:hidden}
.detail-moderator-photo figcaption{margin-top:9px;line-height:1.4}
@media(max-width:660px){.vs-detail .detail-artist-photo,.detail .detail-artist-photo{height:170px}.detail-moderator-photo{max-width:220px}.detail-moderator-photo .portrait-close{height:220px}}

/* Opened detail guest portraits: maintain normal flow and bounded mobile sizing. */
.vs-detail .guest-list--portraits .portrait-close,.detail .guest-list--portraits .portrait-close{display:block;width:100%;height:220px;overflow:hidden}
.vs-detail .guest-list--portraits img,.detail .guest-list--portraits img{max-width:100%;object-fit:cover}

.gala-special-portrait{display:block;max-width:200px;max-height:250px;object-fit:contain;margin:0 auto 16px}.activity-portraits figure{min-width:0}.activity-portraits img{max-width:100%}

/* Shared opened-card order and consistent participant sizing across both identities. */
.detail-participants h4,.detail-moderator h4,.conversation-guests h4{margin:24px 0 14px;font-size:1.2rem;line-height:1.25}
.detail-moderator-photo>img{display:block;width:100%;height:240px;object-fit:cover}
.detail-participants .activity-portraits img{height:220px;object-fit:cover}
.special-performance img{max-width:320px!important;height:auto!important;object-fit:contain!important;filter:none!important}
.detail-address{margin:20px 0;line-height:1.5}
@media(max-width:600px){.detail-participants .activity-portraits img{height:180px}.detail-moderator-photo>img{height:220px}}
