/* header:has(section) + main {
   margin-top: calc(var(--marg)*2);
} */

main nav.nav-bar {
    max-width: 100%;
    box-shadow: 0 0 0.3em 0 rgb(0 0 0 / 25%);
    background-color: rgba(var(--rgb2), 1);
    position: fixed;
}

.content a {
    text-decoration: none;
}

header + main {
    margin-top: var(--header-pre-nav-offset);
}

.programacao article {
    padding: 1rem 2rem;
    border-bottom: solid var(--cor) thin;
    background-color: rgba(var(--rgb), .2);
    text-align: left;
    margin-bottom: var(--marg);
}

.circula article h1,
.programacao a article h1 {
    margin: 0;
    padding: 0;
    color: var(--off);
    font-size: var(--font-size-h3);
    line-height: var(--line-height-heading);
    letter-spacing: var(--tracking-tight);
    font-weight: var(--font-weight-semibold);
}

.circula article h2,
.circula article h3,
.programacao a article h2,
.programacao a article h3,
h2 {
    /*    margin: 0;
    padding: 0;
    color: var(--off);*/
    font-size: var(--font-size-h2);
    line-height: var(--line-height-heading);
    font-weight: var(--font-weight-semibold);
    letter-spacing: var(--tracking-tight);
    /*line-height: 1.45rem;*/
    text-shadow: none;
}

.programacao a article h4,
h4 {
    /*   margin: 0;
    padding: 0;*/
    color: rgb(var(--rgb));
    text-transform: uppercase;
    font-size: var(--font-size-meta);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-meta);
    letter-spacing: var(--tracking-wide);
    text-shadow: none;
}

.textos p {
    line-height: var(--line-height-body);
    font-size: var(--font-size-body);
    color: #555;
    text-align: justify;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}

.notas {
    margin-top: calc(2* var(--marg));
}

.notas p {
    font-size: var(--font-size-small);
}

.destaque {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    overflow: hidden;
}

section:has(.texto),
section:has(.events),
section:has(.year-buttons) {
    background-color: var(--claro);
    padding: var(--marg);
}

section.corpo {
    display: block;
}

section.corpo .texto,
section.corpo .ficha {
    min-width: 0;

}

body.is-colaboradores section.corpo > .corpo-meta > .slide {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: calc(var(--marg) / 4);
}

body.is-colaboradores section.corpo > .corpo-meta > .slide > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.corpo-meta {
    list-style: none;
    margin: 0;
    padding: 0;
}

.corpo-meta li + li {
    margin-top: calc(var(--marg) / 4);
}

.corpo-meta__cta button {
    width: 100%;
    height: auto;
}

.corpo-meta__cta a {
    display: inline-flex;
    width: 100%;
    min-height: calc(var(--marg) * 1.5);
    align-items: center;
    justify-content: center;
    padding: 0 calc(var(--marg) / 2);
    box-sizing: border-box;
    border-radius: calc(var(--marg) / 6);
    text-decoration: none;
    background-color: var(--off);
    color: var(--on);
    font-size: var(--font-size-small);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.sinopse-print {
    display: none;
}

section.newsletter {
    background-color: rgba(var(--rgb), 0.2);
    padding: var(--marg);
}

.texto {
    background-color: var(--on);
    border-radius: calc(var(--marg)/4);
    /*font-family: monospace;*/
    box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, .3);
}

.texto p {
    margin: 0;
    line-height: 1.7em;
}

.newsletter .content {
    max-width: 900px;
    margin: 0 auto;
}

.newsletter .content > p {
    margin: 0;
    font-size: var(--font-size-h3);
    line-height: var(--line-height-heading);
    font-weight: var(--font-weight-semibold);
    letter-spacing: var(--tracking-tight);
}

.newsletter-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(var(--marg) / 3);
    margin-top: calc(var(--marg) / 2);
}

.newsletter-form label {
    font-size: var(--font-size-meta);
    color: rgba(var(--rgb), .3);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
}

.newsletter-form input {
    width: 100%;
    border: none;
    font-weight: var(--font-weight-semibold);
    padding: calc(var(--marg)/2);
    margin: calc(var(--marg)/6) 0;
    font-size: var(--font-size-body);
    color: var(--off);
    border-radius: calc(var(--marg)/6);
    background-color: var(--on);
    box-sizing: border-box;
}

.newsletter-form input::placeholder {
    color: rgba(0, 0, 0, .5);
    font-weight: 600;
}

.newsletter-form button {
    width: 100%;
}

.newsletter-form button {
    grid-column: 1 / -1;
}

.public-form {
    grid-template-columns: 1fr;
    gap: calc(var(--marg) / 2);
}

.public-form--compact {
    gap: calc(var(--marg) / 3);
}

.public-form--compact .newsletter-signup__field {
    min-width: 0;
}

.public-form--compact button {
    grid-column: auto;
}

.public-form [hidden] {
    display: none !important;
}

.public-form__row {
    display: grid;
    gap: calc(var(--marg) / 3);
    grid-column: 1 / -1;
}

.public-form__row--triple {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.public-form__row--double {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.public-form__field {
    min-width: 0;
}

.public-form__field select,
.public-form__field textarea {
    width: 100%;
    border: none;
    font-weight: var(--font-weight-semibold);
    padding: calc(var(--marg) / 2);
    margin: calc(var(--marg) / 6) 0;
    font-size: var(--font-size-body);
    color: var(--off);
    border-radius: calc(var(--marg) / 6);
    background-color: var(--on);
    box-sizing: border-box;
    font-family: 'Albert Sans', sans-serif;
}

.public-form__field select {
    height: calc(var(--marg) * 1.6);
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, currentColor 50%),
        linear-gradient(135deg, currentColor 50%, transparent 50%);
    background-position:
        calc(100% - 22px) calc(50% - 3px),
        calc(100% - 16px) calc(50% - 3px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    padding-right: 2.5rem;
}

.public-form__field textarea {
    min-height: calc(var(--marg) * 5.5);
    resize: vertical;
    line-height: var(--line-height-body);
}

.public-form__field--summary {
    grid-column: 1 / -1;
}

.public-form__summary {
    font-size: var(--font-size-small);
    color: var(--off);
}

.public-form__field--message,
.public-form__submit {
    grid-column: 1 / -1;
}

.public-form__submit {
    width: 100%;
}

@media screen and (orientation:portrait) {
    .newsletter-form {
        grid-template-columns: 1fr;
    }

    .newsletter-form button {
        grid-column: 1;
    }

    .public-form__row--triple,
    .public-form__row--double {
        grid-template-columns: 1fr;
    }
}

@media screen and (orientation:landscape) {
    .newsletter-form {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
        align-items: end;
    }

    .public-form--compact {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .newsletter-form input,
    .newsletter-form button {
        height: calc(var(--marg) * 1.5);
        box-sizing: border-box;
    }

    .newsletter-form button {
        grid-column: 3;
        width: auto;
        align-self: end;
        margin: calc(var(--marg) / 6) 0;
        padding: 0 calc(var(--marg) / 2);
        font-size: var(--font-size-small);
        line-height: 1.2;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: calc(var(--marg) / 6);
        white-space: nowrap;
    }

    .public-form--compact button {
        grid-column: 2;
    }
}

.newsletter-privacy {
    grid-column: 1 / -1;
    margin: 0;
    font-size: var(--font-size-small);
    line-height: var(--line-height-meta);
}

.newsletter-privacy a {
    text-decoration: underline;
}

.global-feedback {
    background-color: var(--cor);
    min-height: var(--header-feedback-height);
    padding: var(--header-feedback-padding-y) var(--marg);
    box-sizing: border-box;
    display: flex;
    align-items: center;
}

.global-feedback p {
    margin: 0;
    font-size: var(--header-feedback-font-size);
    line-height: var(--header-feedback-line-height);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.newsletter-hp {
    position: absolute;
    left: -9999px;
    opacity: 0;
    pointer-events: none;
}

section:has(.cards),
section:has(.entity-cards),
section:has(.ficha) {
    background-color: var(--claro);
}

section.eventos {
 /*   background-color: rgb(var(--rgb2));*/
/*    background-color: var(--cor);*/
padding: 0;}

.agenda-grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1px;
}

.agenda-grid__link {
    display: block;
    text-decoration: none;
    color: rgb(var(--rgb));
    background-color: rgba(var(--rgb), 0.2);
    padding: calc(var(--marg) / 2);
    box-sizing: border-box;
}

.agenda-grid__link:hover {
    background-color: rgba(var(--rgb), 0.4);
}

.agenda-grid__top {
    display: grid;
    grid-template-columns: auto 2fr;
    gap: calc(var(--marg) / 3);
    align-items: center;
}

.agenda-grid__date {
    display: grid;
    align-content: center;
    justify-items: center;
    min-width: calc(var(--marg) * 2.3);
    min-height: calc(var(--marg) * 2.3);
    padding: calc(var(--marg) / 8);
    box-sizing: border-box;
    border: 1px solid rgba(var(--rgb), 0.7);
    border-radius: calc(var(--marg) / 6);
}

.agenda-grid__day {
    font-size: clamp(1.29rem, 2.86vw, 2.04rem);
    line-height: 0.9;
    font-weight: var(--font-weight-bold);
}

.agenda-grid__day--range {
    font-size: clamp(1.02rem, 2.18vw, 1.53rem);
    letter-spacing: -0.01em;
    display: inline-flex;
    align-items: baseline;
    gap: 0;
}

.agenda-grid__day-part {
    display: inline-block;
}

.agenda-grid__day-part--first {
    transform: translateY(-20%);
}

.agenda-grid__day-part--last {
    transform: translateY(20%);
}

.agenda-grid__month {
    margin-top: calc(var(--marg) / 6);
    font-size: var(--font-size-meta);
    line-height: 1;
    letter-spacing: var(--tracking-wide);
    font-weight: var(--font-weight-semibold);
}

.agenda-grid__meta {
    min-width: 0;
}

.agenda-grid__category,
.agenda-grid__venue {
    margin: 0;
    text-transform: uppercase;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.agenda-grid__category {
    font-size: calc(var(--font-size-meta) * 0.8);
    line-height: 1.2;
    letter-spacing: var(--tracking-wide);
    font-weight: var(--font-weight-medium);
}

.agenda-grid__venue {
    margin-top: calc(var(--marg) / 8);
    font-size: calc(var(--font-size-h3) * 0.55);
    line-height: var(--line-height-heading);
    font-weight: var(--font-weight-semibold);
}

.agenda-grid__venue--no-category {
    margin-top: 0;
    -webkit-line-clamp: 3;
    line-clamp: 3;
}

.agenda-grid__title {
    margin: calc(var(--marg) / 1.5) 0 0;
    font-size: clamp(0.85rem, 1.68vw, 1.49rem);
    line-height: 1.05;
    font-weight: var(--font-weight-bold);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
}

.agenda-grid__secondary {
    margin: calc(var(--marg) / 5) 0 0;
    font-size: calc(var(--font-size-h3) * 0.6);
    line-height: 1.2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
}

.agenda-grid__cta a {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(1.3rem, 2.59vw, 2.01rem);
    line-height: 1;
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--tracking-tight);
    text-transform: uppercase;
    background-color: var(--on);
    background-image: linear-gradient(to right top, rgba(var(--rgb), .95), rgba(var(--rgb), 1), rgba(var(--rgb), 1), rgba(var(--rgb), .95));
    color: var(--on);
    text-decoration: none;
    box-sizing: border-box;
}

.agenda-grid__weekday {
    margin-bottom: calc(var(--marg) / 12);
    font-size: var(--font-size-meta);
    line-height: 1;
    letter-spacing: var(--tracking-wide);
    font-weight: var(--font-weight-regular);
    text-transform: uppercase;
}

.agenda-grid__time {
    margin: calc(var(--marg) / 5) 0 0;
    font-size: var(--font-size-small);
    line-height: var(--line-height-meta);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
}

.agenda-grid__month-marker {
    display: flex;
}

.agenda-grid__month-marker > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center;
    font-size: var(--font-size-h3);
    line-height: 1;
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--tracking-tight);
    text-transform: uppercase;
    background-color: var(--on);
    background-image: linear-gradient(to right top, rgba(var(--rgb), .95), rgba(var(--rgb), 1), rgba(var(--rgb), 1), rgba(var(--rgb), .95));
    color: var(--on);
    box-sizing: border-box;
}

.agenda-page__top {
    position: sticky;
    top: var(--header-pre-nav-offset, 0px);
    z-index: 999;
    background-color: rgb(var(--rgb2));
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
                            padding: calc(var(--marg) * 3.2) 50% calc(var(--marg) * 2) calc(var(--marg)*5);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: calc(var(--marg) / 2);
}

.agenda-page__heading {
    flex: 0 0 auto;
}

.agenda-page__heading h1 {
    margin: 0;
    color: rgb(var(--rgb));
}

.agenda-page__year-list {
    display: flex;
    align-items: center;
    gap: calc(var(--marg) / 3);
}

.agenda-page__top .btn-year--current {
    flex: 0 0 auto;
}

.agenda-page__top .btn-year {
    height: calc(var(--marg) * 1.5);
    min-height: calc(var(--marg) * 1.5);
    margin: 0;
    padding: 0 calc(var(--marg) / 1.5);
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 999px;
    background: transparent;
    color: rgba(255, 255, 255, 0.95);
    font-size: var(--font-size-h4);
    font-weight: var(--font-weight-semibold);
    letter-spacing: var(--tracking-normal);
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--marg) / 4);
    white-space: nowrap;
    box-sizing: border-box;
    line-height: normal;
}

.agenda-page__top .btn-year:hover {
    background-color: rgba(255, 255, 255, 0.12);
}

.agenda-page__top .btn-year--current.active {
    background-color: var(--on);
    border-color: var(--on);
    color: rgb(var(--rgb));
}

.agenda-page__top .btn-year--current.active:hover {
    background-color: var(--on);
    border-color: var(--on);
    color: rgb(var(--rgb));
}

.agenda-page__top .btn-year--year.active {
    background-color: var(--on);
    border-color: var(--on);
    color: rgb(var(--rgb));
}

.agenda-page__top .btn-year--year.active:hover {
    background-color: var(--on);
    border-color: var(--on);
    color: rgb(var(--rgb));
}

.btn-year__label {
    display: inline-block;
    min-width: 4ch;
    text-align: center;
}

.btn-year__nav {
    width: 1.4em;
    height: 1.4em;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: currentColor;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.btn-year__nav::before {
    content: "";
    width: 0.55em;
    height: 0.55em;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    display: block;
}

.btn-year__nav--prev::before {
    transform: rotate(-135deg);
}

.btn-year__nav--next::before {
    transform: rotate(45deg);
}

.btn-year__nav:hover {
    background-color: rgba(255, 255, 255, 0.12);
}

.btn-year__nav.is-disabled {
    opacity: 0.28;
    pointer-events: none;
}

.agenda-page__top .btn-year--year.is-inactive {
    background-color: transparent;
    border-color: rgba(255, 255, 255, 0.8);
    color: rgba(255, 255, 255, 0.95);
}

.agenda-page__top .btn-year--year.is-inactive .btn-year__label {
    opacity: 1;
}

.agenda-page__top .btn-year--year.is-inactive .btn-year__nav.is-disabled {
    opacity: 1;
}

.agenda-page__top .btn-year--year.is-inactive:hover {
    background-color: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.8);
    color: rgba(255, 255, 255, 0.95);
}

.agenda-page__top .btn-year--year.active .btn-year__nav:hover {
    background-color: rgba(var(--rgb), 0.12);
}

.page-top,
main > section:has(> h1):not(.agenda-page__top) {
    position: sticky;
    top: var(--header-pre-nav-offset, 0px);
    z-index: 999;
    background-color: var(--off);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    padding: calc(var(--marg) * 1) calc(var(--marg)*5) calc(var(--marg)/2);
    color: var(--on);
}

.page-top > h1,
main > section:has(> h1):not(.agenda-page__top) > h1 {
    margin: 0;
    color: var(--on);
}

main > section.destaque + section:has(> h1):not(.agenda-page__top) {
    padding: calc(var(--marg) * 1) calc(var(--marg)*5) calc(var(--marg) / 2);
}

main > section:has(> .texto),
main > section:has(> .ficha),
main > section:has(> .video),
main > section.corpo {
    padding-left: 15%;
    padding-right: 15%;
    box-sizing: border-box;
}

main > section:has(> .video) {
    background-color: var(--off);
}



.agenda-grid--agenda-page .agenda-grid__title {
    font-size: clamp(0.9rem, 1.3vw, 1.18rem);
}

body.is-home section.eventos {
    background: transparent;
}

@media screen and (orientation:portrait) {
        .page-top,
            main>section:has(> h1):not(.agenda-page__top) {
                padding: calc(var(--marg) * 1) calc(var(--marg)*3.2) calc(var(--marg) * 1);
            }

            main>section.destaque+section:has(> h1):not(.agenda-page__top) {
                padding: calc(var(--marg) * 1) calc(var(--marg)*3.2) calc(var(--marg) * 1);
            }
    .agenda-page__top {
        flex-wrap: wrap;
        justify-content: center;
        row-gap: calc(var(--marg) / 3);
        padding: calc(var(--marg) * 1) calc(var(--marg)/2) calc(var(--marg) * 1);
        }

    .agenda-page__heading {
        flex-basis: 100%;
        padding-left: calc(var(--marg)*5.5);
        text-align: left;
    }

    .agenda-page__top .btn-year--current {
        order: 2;
    }

    .agenda-page__year-list {
        order: 3;
        justify-content: center;
    }

    body.is-home section.eventos {
        padding: 0;
        margin: 0;
    }

    .agenda-grid {
        grid-template-columns: 1fr;
        gap: 1px;
    }

    .agenda-grid__item .agenda-grid__link {
        display: grid;
        grid-template-columns: auto 1fr;
        column-gap: calc(var(--marg) / 3);
        align-items: start;
    }

    .agenda-grid__top {
        display: contents;
    }

    .agenda-grid__date {
        grid-column: 1;
        grid-row: 1 / span 3;
    }

    .agenda-grid__meta {
        grid-column: 2;
        grid-row: 1;
    }

    .agenda-grid__title {
        grid-column: 2;
        grid-row: 2;
        margin: calc(var(--marg) / 4) 0 0;
    }

    .agenda-grid__secondary {
        grid-column: 2;
        grid-row: 3;
        margin: calc(var(--marg) / 10) 0 0;
    }

    .agenda-grid__time {
        grid-column: 2;
        grid-row: 4;
        margin: calc(var(--marg) / 10) 0 0;
    }

    .agenda-grid__cta a {
        font-size: calc(clamp(1.3rem, 2.59vw, 2.01rem) * 1.3);
        padding: var(--marg);
    }

    .agenda-grid__day {
        font-size: calc(clamp(1.29rem, 2.86vw, 2.04rem) * 1.3);
    }

    .agenda-grid__day--range {
        font-size: calc(clamp(1.02rem, 2.18vw, 1.53rem) * 1.3);
    }

    .agenda-grid__month {
        font-size: calc(var(--font-size-meta) * 1.3);
    }

    .agenda-grid__category {
        font-size: calc((var(--font-size-meta) * 0.8) * 1.3);
    }

    .agenda-grid__venue {
        font-size: calc((var(--font-size-h3) * 0.68) * 1.3);
    }

    .agenda-grid__title {
        font-size: calc(clamp(0.85rem, 1.68vw, 1.49rem) * 1.5);
    }

    .agenda-grid__secondary {
        font-size: calc((var(--font-size-h3) * 0.6) * 1.5);
    }

    .agenda-grid__month-marker > span {
        min-height: calc(var(--marg) * 1.8);
    }

    .agenda-grid--agenda-page .agenda-grid__title {
        font-size: clamp(1rem, 1.6vw, 1.4rem);
    }
}

@media screen and (orientation:landscape) {
    .agenda-grid {
        grid-template-columns: repeat(var(--agenda-cols, 6), minmax(0, 1fr));
    }

    .agenda-page__top {
        padding: calc(var(--marg) * 1.2) 50% calc(var(--marg) * 2) calc(var(--marg)*5);
    }

    .agenda-grid--agenda-page {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .agenda-grid--agenda-page .agenda-grid__item,
    .agenda-grid--agenda-page .agenda-grid__month-marker {
        aspect-ratio: 1 / 1;
    }

    .agenda-grid__item,
    .agenda-grid__cta {
        display: flex;
    }

    .agenda-grid__item .agenda-grid__link,
    .agenda-grid__cta a {
        flex: 1 1 auto;
        height: 100%;
    }

    .agenda-grid__month-marker > span {
        flex: 1 1 auto;
        height: 100%;
    }
    .page-top,
    main > section:has(> h1):not(.agenda-page__top) {
        padding: calc(var(--marg) * 1.2) calc(var(--marg) * 5) calc(var(--marg) * 2);
    }

    main > section.destaque + section:has(> h1):not(.agenda-page__top) {
        padding: calc(var(--marg) * 1.2) calc(var(--marg) * 5) calc(var(--marg) * 2);
    }

    main > section:has(> .texto),
    main > section:has(> .ficha),
    main > section:has(> .video),
    main > section.corpo {
        padding-left: 15%;
        padding-right: 15%;
    }
}

@media screen and (orientation:landscape) and (min-width: 1024px) and (max-width: 1279px) {
    .agenda-grid--agenda-page {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

}

@media screen and (orientation:landscape) and (min-width: 1280px) and (max-width: 1979px) {
    .agenda-grid--agenda-page {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .page-top,
    main > section:has(> h1):not(.agenda-page__top) {
        padding: calc(var(--marg) * 1.2) 45% calc(var(--marg) * 2) calc(var(--marg) * 5);
    }

    main > section.destaque + section:has(> h1):not(.agenda-page__top) {
        padding: calc(var(--marg) * 1.2) 45% calc(var(--marg) * 2) calc(var(--marg) * 5);
    }

}

@media screen and (orientation:landscape) and (min-width: 1980px) {
    .agenda-grid--agenda-page {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    .page-top,
    main > section:has(> h1):not(.agenda-page__top) {
        padding: calc(var(--marg) * 1.2) 40% calc(var(--marg) * 2) calc(var(--marg) * 5);
    }

    main > section.destaque + section:has(> h1):not(.agenda-page__top) {
        padding: calc(var(--marg) * 1.2) 40% calc(var(--marg) * 2) calc(var(--marg) * 5);
    }

}




.cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: var(--marg);
    padding: var(--marg) 0;
    padding-inline: 0;
    margin-block: 0;
}

.entity-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--marg);
    padding: var(--marg) 0;
    margin: 0;
    list-style: none;
}

.entity-cards__item {
    display: flex;
    background-color: var(--on);
    border-radius: calc(var(--marg) / 4);
    padding: calc(var(--marg) / 2);
}

.entity-cards__link {
    display: grid;
    grid-template-columns: clamp(64px, 6vw, 96px) minmax(0, 1fr);
    gap: calc(var(--marg) / 2);
    align-items: center;
    width: 100%;
    text-decoration: none;
    color: var(--off);
}

.entity-cards__media {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 50%;
    background-color: rgba(var(--rgb), 0.08);
    border: 1px solid rgba(var(--rgb), 0.3);
}

.entity-cards__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.entity-cards__media--placeholder {
    background-color: rgba(var(--rgb), 0.2);
    position: relative;
}

.entity-cards__media--placeholder::before {
    content: "";
    position: absolute;
    inset: 26%;
    border-radius: 50%;
    border: 2px solid rgba(var(--rgb), 0.5);
}

.entity-cards__title {
    margin: 0;
    font-size: var(--font-size-h4);
    line-height: var(--line-height-heading);
    font-weight: var(--font-weight-semibold);
    letter-spacing: var(--tracking-tight);
}

.entity-cards__item:hover {
    background-color: var(--cor);
}

@media screen and (orientation:landscape) {
    .entity-cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}


ul.events {
    display: flex;
    flex-wrap: wrap;
    padding: calc(var(--marg)/4) 0;
    text-decoration: none;
    color: var(--off);
    border-radius: calc(var(--marg)/4);
    background-color: rgba(255, 255, 255, .3);
}

.events[data-clickable="true"] {
    cursor: pointer;
    background-color: rgba(255, 255, 255, .6);
    color: var(--off);
}

.events li {
overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: calc(var(--marg)/10) calc(var(--marg)/4);
}

.events[data-clickable="true"]:hover {
    background-color: var(--on);
}

.evento, .events .dia + .dia {
    flex-basis: 100%;
    flex-grow: 1;
}

body.is-espetaculos section:has(.event-list) {
    background-color: #cab8df;
}

body.is-espetaculos ul.events.event-list {
    display: block;
    margin: 0 0 calc(var(--marg) / 5);
    padding: calc(var(--marg) / 2) calc(var(--marg) / 1.8);
    border-radius: calc(var(--marg) / 4);
    background-color: #e9e9ec;
    color: #7a1be8;
}

body.is-espetaculos ul.events.event-list:last-child {
    margin-bottom: 0;
}

body.is-espetaculos .events.event-list[data-clickable="true"] {
    background-color: #ececef;
    color: #7a1be8;
}

body.is-espetaculos .events.event-list[data-clickable="true"]:hover {
    color: #fff;
    background: linear-gradient(135deg, #6d0fd8 0%, #9d2fff 60%, #6d0fd8 100%);
}

body.is-espetaculos .event-list li {
    display: block;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    padding: 0;
}

body.is-espetaculos .event-list__day {
    font-weight: var(--font-weight-semibold);
    margin-bottom: calc(var(--marg) / 8);
}

body.is-espetaculos .event-list__name,
body.is-espetaculos .event-list__location {
    text-transform: uppercase;
    font-weight: var(--font-weight-semibold);
    letter-spacing: var(--tracking-wide);
}

body.is-espetaculos .event-list__location {
    margin-top: calc(var(--marg) / 10);
}

ul.cards,
ul.entity-cards,
ul.events {
    list-style: none;
}

.cards li {
    display: flex;
    padding: 0;
}

.cards li a {
    text-decoration: none;
    display: block;
    transition: all .4s ease;
    color: var(--off);
    flex-grow: 1;
        overflow: hidden;
            border-radius: calc(var(--marg)/4);
                background-color: var(--on);
        }

.cards li a:hover {
    background-color: var(--cor);
}

.cards li .ratio {
    aspect-ratio: 16/9;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.ratio img {
    object-fit: cover;
}

.cards li h2 {
    font-size: var(--font-size-h3);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-heading);
    letter-spacing: var(--tracking-tight);
    padding: calc(var(--marg)/2);
    margin: 0;
}

.cards li .card-year {
    margin: calc(var(--marg)/2) calc(var(--marg)/2) 0 calc(var(--marg)/2);
    font-size: var(--font-size-small);
    line-height: var(--line-height-meta);
    color: rgb(var(--rgb));
    font-weight: var(--font-weight-regular);
}

.evento, .datas, .dia, .hora, .local {
font-size: var(--font-size-small);
line-height: var(--line-height-meta);
}

.ficha > .ficha {
padding: calc( var(--marg)/2);
margin: calc(var(--marg)/2);
border: thin solid rgba(var(--rgb), 0.3);
}


.ficha ul {
    font-size: var(--font-size-small);
    list-style-type: none;
    padding: calc(var(--marg)/4);
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    margin: 0;
}


.creditos-category {
        margin-top: calc(var(--marg) / 3);
        padding-top: calc(var(--marg) / 3);
            margin: calc(var(--marg) / 8) calc(var(--marg) / 4);
    font-size: var(--font-size-meta);
    text-transform: uppercase;
    font-weight: var(--font-weight-medium);
    letter-spacing: var(--tracking-wide);
        color: var(--off);
}

.creditos li {
    padding: 0;
    margin: 0 calc(var(--marg)/8);
}

.ficha ul li a {
    font-weight: var(--font-weight-medium);
    color: var(--off);
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    display: inline-block;
}

.ficha ul li a:hover {
    background-color: var(--cor);
}

.ficha ul li.cargo {
    font-size: var(--font-size-meta);
    text-transform: uppercase;
    font-weight: var(--font-weight-medium);
    letter-spacing: var(--tracking-wide);
    color: var(--off);    margin: 0 calc(var(--marg)/4);
    flex-grow: 1;
    flex-basis: 100%;
}

.slider,
.hero-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
    touch-action: pan-y;
}

.slides,
.hero-slider__track {
    display: flex;
    transition: transform 0.5s ease-in-out;
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.slide,
.hero-slider__slide {
    min-width: 100%;
    position: relative;
    display: block;
    overflow: hidden;
}

.hero-slider--fade .hero-slider__track {
    display: grid;
    transition: none;
}

.hero-slider--fade .hero-slider__slide {
    grid-area: 1 / 1;
    opacity: 0;
    transition: opacity 0.55s ease-in-out;
    pointer-events: none;
}

.hero-slider--fade .hero-slider__slide.is-active {
    opacity: 1;
    pointer-events: auto;
    z-index: 1;
}

.hero-slider__slide::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 50%;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.0));
    z-index: 1;
    pointer-events: none;
}

.slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    left: 0;
}

.media-info-host {
    position: relative;
}

.media-info-toggle {
    position: absolute;
    right: calc(var(--marg) / 2);
    bottom: calc(var(--marg) / 2);
    width: 1.6rem;
    height: 1.6rem;
    min-height: 0;
    margin: 0;
    padding: 0;
    border-radius: 999px;
    border: 0;
    font-size: 0.95rem;
    font-weight: var(--font-weight-semibold);
    line-height: 1;
    text-transform: none;
    letter-spacing: 0;
    color: var(--on);
    background: rgba(0, 0, 0, 0.55);
    z-index: 30;
}

.media-info-toggle:hover {
    background: rgba(0, 0, 0, 0.75);
}

.media-info-panel {
    position: absolute;
    right: calc(var(--marg) / 2);
    bottom: calc(var(--marg) / 2);
    width: fit-content;
    max-width: 80%;
    padding: calc(var(--marg) / 3);
    border-radius: calc(var(--marg) / 6);
    background: rgba(0, 0, 0, 0.78);
    color: var(--on);
    font-size: var(--font-size-small);
    line-height: var(--line-height-meta);
    text-align: right;
    white-space: normal;
    overflow-wrap: anywhere;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.3);
    z-index: 30;
    opacity: 0;
    transform-origin: right center;
    transform: scaleX(0.88);
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.media-info-panel.is-open {
    opacity: 1;
    transform: scaleX(1);
    visibility: visible;
    pointer-events: auto;
}

.media-info-panel p {
    display: inline;
    margin: 0;
}

.media-info-panel:empty {
    display: none;
}

.media-info-panel p + p::before {
    content: " ";
}

body.is-home .media-info-toggle,
body.is-home .media-info-panel {
    display: none;
}

@media screen and (orientation:portrait) {
    .media-info-panel {
        max-width: 80%;
    }
}

.slide video {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    left: 0;
}

.caption,
.hero-slider__caption {
    position: absolute;
    top: 55%;
    left: calc(var(--marg)* 2);
    width: calc(50% - (var(--marg) * 2));
    transition: opacity 0.5s ease;
    z-index: 2;
    text-align: left;
}

.hero-slider__caption.is-overflowing {
    top: auto;
    bottom: var(--marg);
}

.hero-slider__caption.is-truncated {
    max-height: var(--caption-max-height, 75%);
    overflow: hidden;
}

.hero-slider__caption.is-truncated::after {
    content: "...";
    position: absolute;
    right: 0;
    bottom: 0;
    padding-left: 0.25em;
    color: var(--on);
    line-height: 1;
}

.caption h1,
.caption h3,
.hero-slider__title,
.hero-slider__meta {
    margin: 0;
    color: var(--on);
    text-align: left;
}

.caption h1,
.hero-slider__title {
    font-size: var(--font-size-display);
    line-height: var(--line-height-tight);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--tracking-tight);
}

.caption h1+h3,
.caption h3+h3 {
    margin-top: calc(var(--marg) / 8);
}

.caption h3,
.hero-slider__meta {
    text-transform: uppercase;
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-meta);
    line-height: var(--line-height-meta);
    letter-spacing: var(--tracking-wide);
}

.hero-slider__title-text,
.hero-slider__meta-text {
    display: inline;
    background: none;
    padding: 0;
    box-shadow: none;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.categoria,
.hero-slider__category,
.event-card__category {
    font-size: 75%;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
    font-weight: var(--font-weight-medium);
}

.caption .categoria,
.hero-slider__caption .hero-slider__category {
    display: inline-block;
    margin-bottom: calc(var(--marg) / 6);
    padding: 0;
    background: none;
    color: var(--on);
}

/* Estilos dos botões */
.prev,
.next,
.hero-slider__nav {
    position: absolute;
    top: 0;
    width: 15%;
    height: calc(100% - (var(--marg) * 2.5));
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
}

.prev {
    left: 0;
}

.next {
    right: 0;
}

.hero-slider__nav--prev {
    left: 0;
}

.hero-slider__nav--next {
    right: 0;
}

.prev:hover,
.next:hover,
.hero-slider__nav:hover {
    background: transparent;
}

.slider-bullets {
    position: absolute;
    left: 50%;
    bottom: 3%;
    transform: translateX(-50%);
    z-index: 11;
    display: flex;
    align-items: center;
    gap: calc(var(--marg) / 4);
}

.slider-bullet {
    width: 32px;
    height: 3px;
    border: 0;
    border-radius: 999px;
    background-color: rgba(255, 255, 255, 0.5);
    padding: 0;
    margin: 0;
    cursor: pointer;
}

.slider-bullet:hover,
.slider-bullet:focus-visible {
    background-color: rgba(255, 255, 255, 0.7);
    outline: none;
}

.slider-bullet.is-active {
    background-color: rgba(255, 255, 255, 0.7);
}

/* Criando apenas a ponta da seta */
.prev::after,
.next::after,
.hero-slider__nav::after {
    content: "";
    display: block;
    width: var(--marg);
    height: var(--marg);
    border-top: 2px solid white;
    border-right: 2px solid white;
    position: absolute;
    opacity: 0;
    /* Inicialmente invisível */
    transition: opacity 0.3s ease;
}

/* Posição das setas */
.prev::after {
    transform: rotate(-135deg);
    left: calc(var(--marg)*1);
}

.next::after {
    transform: rotate(45deg);
    right: calc(var(--marg)*1);
}

.hero-slider__nav--prev::after {
    transform: rotate(-135deg);
    left: calc(var(--marg)*1);
}

.hero-slider__nav--next::after {
    transform: rotate(45deg);
    right: calc(var(--marg)*1);
}

/* As setas só aparecem no hover */
.prev:hover::after,
.next:hover::after,
.hero-slider__nav:hover::after {
    opacity: 1;
}

.alert {
    position: static;
    text-align: center;
    list-style-type: none;
    min-height: var(--header-banner-height);
    padding: var(--header-banner-padding-y) calc(var(--marg) / 2);
    color: var(--cor);
    margin: 0;
    background: rgba(3, 3, 3, 0.7);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--header-banner-font-size);
    line-height: var(--header-banner-line-height);
}

.alert li {
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.alert li a {
    color: var(--cor);
    text-decoration: none;
    pointer-events: all;
    display: block;
    white-space: inherit;
    overflow: inherit;
    text-overflow: inherit;
}

.gallery {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 0;
    padding-inline: 0;
    margin-block: 0;
    align-items: stretch;
}

.gallery li {
    position: relative;
    overflow: hidden;
    display: block;
    min-width: 0;
    aspect-ratio: 4 / 5;
}

.gallery li a {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    text-decoration: none;
    color: var(--off);
    transition: all 0.3s ease;
    /* Adiciona uma sombra ao passar o mouse */
    box-shadow: 0 0 0.3em 0 rgb(0 0 0 / 25%);
    overflow: hidden;
}

.gallery li > img,
.gallery li > video,
.gallery li > a > img,
.gallery li > a > video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    object-position: center;
    /* Para evitar que o vídeo fique estourando */
    max-width: 100%;
    max-height: 100%;
}

/* Estilo para a imagem (ou vídeo) com transição para o efeito hover */
.gallery li img,
.gallery li video {
    transition: transform 0.3s ease;
}

/* Efeito hover: a imagem aumenta de escala */
.gallery li a:hover img,
.gallery li a:hover video {
    transform: scale(1.05);
}

/* Overlay para a área de highlight */
.gallery li .highlight {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    color: var(--on);
    padding: var(--marg);
    /* Ajuste conforme necessário */
    box-sizing: border-box;
    /* Fundo degradê: começa com 70% de opacidade no fundo e vai para transparente */
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
    /* Se quiser que o overlay fique sempre visível (sem alteração de opacidade no hover) */
    pointer-events: none;
    font-size: 1.2em;
}

@media screen and (orientation:portrait) {
    main {
        min-height: calc(100vh - calc(var(--marg)*7));
    }

    body.is-home section.galeria .gallery .gallery__item--video {
        aspect-ratio: 9 / 16;
    }

    body.is-home section.galeria .gallery .gallery__item--video > video,
    body.is-home section.galeria .gallery .gallery__item--video > a > video {
        object-position: center center;
    }

    section:has(.texto) {
        padding-top: calc(var(--marg)*2);
    }

section.eventos {
    padding: var(--marg);
}

    .texto,
    .ficha {
        padding: calc(var(--marg) * 1);
    }

    .slide {
        aspect-ratio: 1/1;
    }

    .caption {
        top: 50%;
        left: var(--marg);
        width: calc(70% - var(--marg));
    }

}

@media screen and (orientation:landscape) {

    main {
        min-height: calc(100vh - calc(var(--marg)*7));
    }

    .content {
        text-align: left;
        margin: var(--marg) auto;
    }

    .textos .content {
        padding-top: calc(var(--marg)*6);
    }

    .texto {
        padding: calc(var(--marg) * 2.5);
    }

    .content.ode {
        padding-top: 0;
    }

    .slide {
        aspect-ratio: 16/8;
    }

    .caption {
        top: 45%;
        left: calc(var(--marg) * 2);
        width: calc(50% - (var(--marg) * 2));
    }

    .topo {
        height: 50vh;
        background-position: center right;
        background-size: 80%;
        background-color: #000;
        background-repeat: no-repeat;
        padding: 3vh calc((100vw - 900px) / 2);
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
    }

    .topo h1 {
        font-size: var(--font-size-h1);
        line-height: var(--line-height-heading);
        letter-spacing: var(--tracking-tight);
        font-weight: var(--font-weight-semibold);
        color: var(--on);
        -webkit-text-shadow: 2px 2px 2px rgba(0, 0, 0, .7);
        -moz-text-shadow: 2px 2px 2px rgba(0, 0, 0, .7);
        -o-text-shadow: 2px 2px 2px rgba(0, 0, 0, .7);
        text-shadow: 2px 2px 2px rgba(0, 0, 0, .7);
    }

    .textos {
        max-width: 900px;
        padding: 5vh;
        margin: auto;
    }

    section:has(.texto),
    section:has(.year-buttons) {
        padding: calc(var(--marg)*2.5);
    }

 section:has(.events) {
     padding: calc(var(--marg)*2.5) 20%;
 }

    section:has(.cards),
    section:has(.entity-cards) {
        padding: calc(var(--marg)*2.5);
    }

    .ficha {
        margin: 0;
                padding: calc(var(--marg)*2);
    }

    section.corpo:has(> .texto + .corpo-meta) {
        display: grid;
        grid-template-columns: 6fr 2fr;
        column-gap: calc(var(--marg) / 1);
        align-items: start;
    }

    section.corpo:has(> .texto + .corpo-meta) > .texto {
        grid-column: 1;
    }

    section.corpo:has(> .texto + .corpo-meta) > .corpo-meta {
        grid-column: 2;
        align-self: start;
    }

    main:has(> section.corpo + section:has(.gallery)) {
        display: grid;
        grid-template-columns: 5fr 3fr;
        column-gap: calc(var(--marg) / 1.5);
        align-items: start;
    }

    main:has(> section.corpo + section:has(.gallery)) > section {
        grid-column: 1 / -1;
    }

    main:has(> section.corpo + section:has(.gallery)) > section.corpo {
        grid-column: 1;
    }

    main:has(> section.corpo + section:has(.gallery)) > section.corpo + section:has(.gallery) {
        grid-column: 2;
        align-self: start;
    }

    main:has(> section.corpo + section:has(.gallery)) > section.corpo + section:has(.gallery) .gallery {
        grid-template-columns: 1fr;
    }
}

/* Galeria da home: 12 blocos (4:5) com distribuição por orientação/tamanho */
body.is-home section.galeria {
    background-color: var(--off);
}

body.is-home section.galeria .gallery {
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    body:not(.is-home) .gallery {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1025px) {
    body:not(.is-home) .gallery {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 1281px) {
    body:not(.is-home) .gallery {
        grid-template-columns: repeat(6, 1fr);
    }
}

@media screen and (orientation:landscape) and (max-width: 1024px) {
    body.is-home section.galeria .gallery {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media screen and (orientation:landscape) and (min-width: 1025px) and (max-width: 1439px) {
    body.is-home section.galeria .gallery {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media screen and (orientation:landscape) and (min-width: 1440px) {
    body.is-home section.galeria .gallery {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

@page {
    size: A4 portrait;
    margin: 12mm;
}

@media print {
    body.is-espetaculos {
        background: #fff !important;
        color: #000 !important;
    }

    body.is-espetaculos header,
    body.is-espetaculos footer,
    body.is-espetaculos .global-feedback,
    body.is-espetaculos .newsletter,
    body.is-espetaculos .hero-slider__nav,
    body.is-espetaculos .slider-bullets,
    body.is-espetaculos .media-info-toggle,
    body.is-espetaculos .corpo-meta__cta {
        display: none !important;
    }

    body.is-espetaculos main {
        min-height: auto !important;
        display: flex !important;
        flex-direction: column !important;
    }

    body.is-espetaculos main,
    body.is-espetaculos main * {
        color: #000 !important;
        background: transparent !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    body.is-espetaculos main > section {
        margin: 0;
        padding: 0;
    }

    body.is-espetaculos main > section:has(h1) {
        order: 1;
    }

    body.is-espetaculos main > section.corpo {
        order: 2;
        display: flex !important;
        flex-direction: column !important;
    }

    body.is-espetaculos main > section.corpo .corpo-meta {
        order: 1;
    }

    body.is-espetaculos main > section.corpo .sinopse-print {
        order: 2;
    }

    body.is-espetaculos main > section.corpo > .texto {
        order: 3;
    }

    body.is-espetaculos main > section:has(.ficha) {
        order: 3;
    }

    body.is-espetaculos main > section.destaque {
        order: 4;
    }

    body.is-espetaculos main > section:has(.gallery),
    body.is-espetaculos main > section:has(video),
    body.is-espetaculos main > section:has(.video) {
        order: 5;
    }

    body.is-espetaculos main > section:has(.docs),
    body.is-espetaculos main > section:has(.events) {
        order: 6;
    }

    body.is-espetaculos .sinopse-print {
        display: block !important;
    }

    body.is-espetaculos .texto,
    body.is-espetaculos .ficha,
    body.is-espetaculos .corpo-meta {
        margin: 0 0 8mm;
        padding: 0;
        border-radius: 0;
        break-inside: avoid;
    }

    body.is-espetaculos .texto,
    body.is-espetaculos .ficha,
    body.is-espetaculos .corpo-meta,
    body.is-espetaculos .media-info-panel {
        font-size: 11pt;
        line-height: 1.45;
    }

    body.is-espetaculos h1,
    body.is-espetaculos h2 {
        margin: 0 0 6mm;
        break-after: avoid-page;
    }

    body.is-espetaculos .destaque,
    body.is-espetaculos .slider,
    body.is-espetaculos .hero-slider,
    body.is-espetaculos .slides,
    body.is-espetaculos .hero-slider__track,
    body.is-espetaculos .gallery {
        display: block !important;
        height: auto !important;
        overflow: visible !important;
        transform: none !important;
    }

    body.is-espetaculos .slide,
    body.is-espetaculos .hero-slider__slide,
    body.is-espetaculos .gallery li {
        display: block !important;
        min-width: 0 !important;
        margin: 0 0 8mm;
        padding: 0;
        opacity: 1 !important;
        break-inside: avoid;
    }

    body.is-espetaculos .slide img,
    body.is-espetaculos .hero-slider__slide img,
    body.is-espetaculos .gallery li > img,
    body.is-espetaculos .gallery li > a > img {
        position: static !important;
        display: block !important;
        width: 60% !important;
        height: auto !important;
        margin: 0 auto !important;
        object-fit: contain !important;
    }

    body.is-espetaculos .slide video,
    body.is-espetaculos .gallery li video {
        display: none !important;
    }

    body.is-espetaculos .hero-slider__title,
    body.is-espetaculos .hero-slider__caption,
    body.is-espetaculos .highlight {
        display: none !important;
    }

    body.is-espetaculos .media-info-panel,
    body.is-espetaculos .media-info-panel[hidden] {
        display: block !important;
        position: static !important;
        width: 60% !important;
        max-width: 60% !important;
        margin: 2mm auto 8mm !important;
        padding: 0 !important;
        opacity: 1 !important;
        transform: none !important;
        visibility: visible !important;
        pointer-events: auto !important;
        text-align: left !important;
        line-height: 1.35;
    }

    body.is-espetaculos .media-info-panel p {
        display: inline;
        margin: 0;
    }

    body.is-espetaculos .media-info-panel p + p::before {
        content: " ";
    }

body.is-espetaculos a,
body.is-espetaculos a:visited {
    color: #000 !important;
    text-decoration: none !important;
}
}

.dossier-request-trigger {
    margin-top: 10px;
}

.dossier-modal {
    position: fixed;
    inset: 0;
    z-index: 2000;
}

.dossier-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
}

.dossier-modal__panel {
    position: relative;
    z-index: 1;
    max-width: 640px;
    margin: 8vh auto;
    background: #fff;
    padding: 24px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
}

.dossier-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    border: 0;
    background: transparent;
    font-size: 28px;
    line-height: 1;
}

body.has-dossier-modal {
    overflow: hidden;
}
