/* Programm-Akkordeon (Widget: programm-akkordeon) */

.elementor-widget-programm-akkordeon {
    .programm-akkordeon {
        display: flex;
        flex-direction: column;
        gap: 2.5rem;
    }

    .programm-tag {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .programm-tag-titel {
        font-family: "Acumin Pro Condensed Black", Sans-serif;
        font-size: 1.75rem;
        line-height: 1.1;
        text-transform: uppercase;
        margin: 0 0 1rem;
    }

    .programm-slot {
        display: grid;
        grid-template-columns: minmax(8rem, 10rem) 1fr;
        column-gap: 2rem;
        align-items: start;
        padding: 0.75rem 0;
        border-top: 1px solid rgba(0, 0, 0, 0.15);

        &:last-child {
            border-bottom: 1px solid rgba(0, 0, 0, 0.15);
        }

        @media (max-width: 575px) {
            grid-template-columns: 1fr;
            row-gap: 0.25rem;
        }
    }

    .programm-slot-kopf {
        display: flex;
        flex-direction: column;
        gap: 0.15rem;
        padding-top: 0.5rem;

        @media (max-width: 575px) {
            flex-direction: row;
            gap: 0.75rem;
            padding-top: 0;
        }

        .zeit {
            font-family: "Acumin Pro Condensed Black Semibold", Sans-serif;
            font-size: 1.25rem;
            line-height: 1.2;
            white-space: nowrap;
        }

        .raum {
            font-size: 0.95rem;
            opacity: 0.7;
        }
    }

    .programm-slot-punkte {
        display: flex;
        flex-direction: column;
    }

    .programm-punkt {
        border-bottom: 1px solid rgba(0, 0, 0, 0.08);

        &:last-child {
            border-bottom: none;
        }

        &.ohne-inhalt {
            padding: 0.5rem 2rem 0.5rem 0;
        }

        > summary {
            display: flex;
            flex-wrap: wrap;
            align-items: baseline;
            gap: 0.25rem 0.75rem;
            padding: 0.5rem 2rem 0.5rem 0;
            position: relative;
            cursor: pointer;
            list-style: none;

            &::-webkit-details-marker {
                display: none;
            }

            &:hover .titel,
            &:focus-visible .titel {
                text-decoration: underline;
            }

            /* Chevron */
            &::after {
                content: "";
                position: absolute;
                right: 0.35rem;
                top: 1.1em;
                width: 0.55em;
                height: 0.55em;
                border-right: 2px solid currentColor;
                border-bottom: 2px solid currentColor;
                transform: translateY(-50%) rotate(45deg);
                transform-origin: center;
                transition: transform .2s ease-in-out;
            }
        }

        &[open] > summary::after {
            transform: translateY(-25%) rotate(-135deg);
        }

        .titel {
            font-family: "Acumin Pro Condensed Black Semibold", Sans-serif;
            font-size: 1.15rem;
            line-height: 1.3;
        }

        .raum {
            font-size: 0.95rem;
            opacity: 0.7;
        }
    }

    .programm-punkt-inhalt {
        padding: 0 2rem 1rem 0;

        > *:first-child {
            margin-top: 0;
        }

        > *:last-child {
            margin-bottom: 0;
        }

        img {
            max-width: 100%;
            height: auto;
        }
    }
}
