/* Public show listings, archive and detail pages. */
body.show-page { min-width: 0; }
.show-page .show-header { padding-top: 3rem; padding-bottom: 2.5rem; }
.show-page h1 { font-size: clamp(2rem, 4.5vw, 3.4rem); line-height: 1.25; overflow-wrap: break-word; margin-bottom: 0; }
.show-page .show-header .lead { max-width: 70ch; }
.show-page .show-lead { max-width: 75ch; font-size: 1.15rem; line-height: 1.7; }
.show-page .show-lead > :last-child { margin-bottom: 0; }
.show-page .show-card { display: flex; flex-direction: column; border: 1px solid #D8D0C2; border-radius: .75rem; overflow: hidden; background: #FFFDF4; }
.show-page .show-card-image img { display: block; width: 100%; height: auto; }
.show-page .show-card-body { padding: 1.25rem; }
.show-page .show-card h3,
.show-page .show-card h4 { font-size: clamp(1.3rem, 2.5vw, 1.65rem); line-height: 1.4; margin-bottom: 1rem; overflow-wrap: anywhere; }
.show-page .show-card h3 a,
.show-page .show-card h4 a { text-decoration: none; }
.show-page .show-card h3 a:hover,
.show-page .show-card h4 a:hover { text-decoration: underline; }
.show-page .show-summary { line-height: 1.7; overflow-wrap: anywhere; }
.show-page .show-summary > :last-child { margin-bottom: 0; }
.show-page .show-panel,
.show-page .show-archive { padding: clamp(1.25rem, 3vw, 2.5rem); background: #FFFDF4; border: 1px solid #D8D0C2; border-top: 4px solid #F5A23A; border-radius: 1rem; }
.show-page .show-archive .show-card { background: #FFF; }
.show-page .show-archive .show-card-image img { aspect-ratio: 3 / 2; object-fit: cover; }
.show-page .show-status { display: inline-block; padding: .4rem .8rem; border-radius: .5rem; background: #74399A; color: #FFF; font-size: .9rem; }
.show-page .show-status-archive { background: #E8E0D3; color: #332D25; }
.show-page .show-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.show-page .show-actions > a { display: inline-flex; align-items: center; min-height: 44px; }
.show-page .show-reading-column { max-width: 75ch; margin-inline: 0; }
.show-page .show-prose { line-height: 1.85; overflow-wrap: anywhere; }
.show-page .show-prose h2 { font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.4; margin-bottom: 1.25rem; }
.show-page .show-prose h3 { font-size: 1.35rem; line-height: 1.5; margin-bottom: 1rem; }
.show-page .show-prose img,
.show-page .show-summary img,
.show-page .show-lead img { max-width: 100%; height: auto; }
.show-page .show-prose iframe { max-width: 100%; }
.show-page .show-prose figure.table { overflow-x: auto; }
.show-page .show-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; }
.show-page .show-detail-primary,
.show-page .show-detail-photos { min-width: 0; }
.show-page .show-gallery { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 1.25rem; }
.show-page .show-gallery a { display: block; border-radius: .75rem; }
.show-page .show-gallery img { display: block; width: 100%; height: auto; border-radius: .75rem; }
.show-page #entradas.show-panel { background: #FFF; }
.show-page .show-tickets { display: block; width: 100%; min-height: 500px; border: 0; background: #FFF; }
.show-page .show-video { margin-bottom: 2rem; }
.show-page .show-video-frame { aspect-ratio: 16 / 9; margin-bottom: 1rem; }
.show-page .show-video-frame iframe { width: 100%; height: 100%; border: 0; }
.show-page .show-video figcaption { line-height: 1.7; overflow-wrap: anywhere; }
.show-page .show-review { border-top: 1px solid #D8D0C2; padding-top: 1.5rem; margin-top: 1.5rem; }
.show-page #archivo-espectaculos,
.show-page #entradas,
.show-page #show-listing,
.show-page #show-detail { scroll-margin-top: 110px; }
.show-page .show-skip-link { position: fixed; top: .5rem; left: .5rem; z-index: 2000; padding: .75rem 1rem; background: #FFF; color: #222; transform: translateY(-200%); }
.show-page .show-skip-link:focus { transform: translateY(0); }
.show-page .micelcit-signup-socials a { text-decoration: none; }
.show-page.show-gallery-open { overflow: hidden; }
.show-page .show-photo-dialog { width: min(1200px, calc(100% - 2rem)); height: calc(100vh - 2rem); height: calc(100dvh - 2rem); max-width: none; max-height: none; padding: 1rem; border: 1px solid #555; border-radius: .75rem; background: #171717; color: #FFF; overflow: hidden; }
.show-page .show-photo-dialog[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 1rem; }
.show-page .show-photo-dialog::backdrop { background: rgb(0 0 0 / 85%); }
.show-page .show-photo-toolbar,
.show-page .show-photo-navigation { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.show-page .show-photo-toolbar h2 { font-family: 'Montserrat', sans-serif; font-size: 1rem; }
.show-page .show-photo-control { display: inline-flex; align-items: center; justify-content: center; gap: .65rem; min-width: 44px; min-height: 44px; padding: .5rem .75rem; border: 1px solid #777; border-radius: .5rem; background: #292929; color: #FFF; font: inherit; font-size: .9rem; }
.show-page .show-photo-control:hover { background: #444; }
.show-page .show-photo-control[hidden] { display: none; }
.show-page .show-photo-stage { display: grid; place-items: center; min-height: 0; }
.show-page .show-photo-full { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.show-page .show-photo-full[hidden] { display: none; }
.show-page .show-photo-caption { flex: 1; text-align: center; font-size: .9rem; }
.show-page .show-photo-error { max-width: 45ch; text-align: center; }
.show-page .show-photo-arrow { width: .5rem; height: .5rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); }
.show-page .show-photo-arrow-left { transform: rotate(135deg); }
@media (min-width: 992px) {
    .show-page .show-detail-with-photos { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: clamp(2rem, 4vw, 4rem); }
}
@media (max-width: 575.98px) {
    .show-page .show-header { padding-top: 2rem; padding-bottom: 2rem; }
    .show-page .show-archive button { width: 100%; white-space: normal; }
    .show-page .show-photo-dialog { width: calc(100% - 1rem); height: calc(100vh - 1rem); height: calc(100dvh - 1rem); padding: .75rem; }
    .show-page .show-photo-navigation { flex-wrap: wrap; gap: .5rem; }
    .show-page .show-photo-caption { flex-basis: 100%; order: -1; }
}
