section {
    &.tickets {
        display: grid;
        padding: 0.5rem;
        grid-template-columns: repeat(auto-fill, minmax(min(20rem, 90vw), 1fr));
        gap: 1rem;

    }

    &.total {
        font-size: var(--font-medium);
        font-weight: bold;
        padding: 0.5rem;
        border-radius: 0.5rem;
        background: rgba(from var(--colour-blue) r g b / 0.2);

        &::before {
            content: 'Booking Total: ';
        }
    }
}

#bookingform {
    position: relative;
    border: none;
    border-radius: 0.962rem;

    & input[type=radio] {
        height: 1em;
        margin-right: 0.5rem;
        aspect-ratio: 1 / 1;
    }

    & label {
        font-size: 1rem;
    }

    & fieldset {
        border: none;
    }

    & form {
        scroll-margin-top: 10vh;
    }

    .selectUser select {
        width: 100%;
    }
}

.ticket {
    padding: 0.5rem;
    border-radius: 0.5rem;
    background: rgba(from var(--colour-blue) r g b / 0.2);

    & ul.tickets {
        display: grid;
        margin: 0;
        padding: 0;
        list-style: none;
        grid-template-columns: 1rem 1fr;
        gap: 0.5rem;

        > li {
            display: grid;
            margin: 0;
            padding: 0;
            border-bottom: 1px solid var(--colour-blue);
            grid-template-columns: subgrid;
            grid-column: 1 / -1;
            padding-block: 0.5rem;
            margin-block: 0;

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

        .info {
            font-size: var(--font-small);
            font-weight: lighter;
            color: var(--colour-dark-grey);
            grid-column: 1 / -1;

        }

        .advanced-options {
            display: none;

            &.open {
                display: grid;
                gap: 0.2rem;
                grid-column: 1 / -1;
            }

            .notice {
                font-size: 0.8rem;
                padding: 0.4rem;
                border-width: 1px;
            }
        }

        .option-members {
            display: contents;

            & p {
                font-size: var(--font-small);
                font-weight: bold;
                margin-block: 0.2rem;
            }
        }

        .option-members div, .option-note, .option-choices {
            display: grid;
            grid-column: 1 / -1;
        }

        .option-choices select,
        .option-choices .select2-container {
            width: 100% !important;
        }
    }
}

.ticket:only-child {
    .remove-ticket {
        display: none;
    }
}

.remove-ticket {
    position: relative;
    overflow: hidden;
    width: 2rem;
    padding: 0.5rem;
    text-indent: 2rem;
    text-wrap: nowrap;
    aspect-ratio: 1 / 1;

    &::before {
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        content: '';
        background-color: var(--colour-red);
        mask-image: var(--icon-cancel);
        mask-size: 70%;
        mask-position: center;
        mask-repeat: no-repeat;
        aspect-ratio: 1 / 1;
    }
}

.actions {
    gap: 1rem;

    [disabled] {
        cursor: not-allowed;
        background-color: var(--colour-light-grey);
    }
}

.entry-restricted {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 1fr;

    > div {
        font-size: var(--font-size-125);
        line-height: 1.181em;
        padding: 0.5rem 1.13rem 0.8rem;
        color: var(--colour-font);
        border-radius: 0.9375rem;
        background-color: var(--colour-white);

    }

    .event-contact {
        background: transparent;

        .userlist {
            grid-auto-flow: unset;
        }

        grid-column-end: -1;
    }

    @media screen and (min-width: 600px) {
        grid-template-columns: repeat(2, 1fr);
    }
}

.event-booking-attendance {
    overflow: hidden;
    background-color: transparent;
    grid-column: 1 / -1;

    & h2 {
        font-size: var(--font-size-21875);
        line-height: 1.857em;
        margin: 0;
        color: var(--colour-green);
    }

    > .book {
        align-self: center;
        width: min(15rem, 100%);
        margin-left: auto;
    }
}


.event-meta {
    display: grid;
    border: 1px solid var(--colour-off-white);
    border-top: none;
    border-radius: 0 0 0.9375rem 0.9375rem;
    gap: 1rem;

    & h4 {
        margin-block-start: 0;
        margin-block-end: 0.5rem;
    }
    .scroller > * {
        aspect-ratio: 1 / 1;
    }

    .detail {
    }

    @media all and (max-width: 60rem) {
        .event {
            order: -1;
            width: 100vw;
            height: 100%;
            margin-left: calc(50% - 50vw);
        }
    }

    @media all and (min-width: 60rem) {
        padding: 1.81rem;
        grid-template-columns: 1fr 3fr;
    }
}

ul {

    &.eo-event-meta {
        display: grid;
        margin: 0;
        padding: 0;
        list-style: none;
        container: eo-event-meta / inline-size;
        grid-template-columns: repeat(auto-fill, minmax(min(8rem, 100%), 1fr));
        gap: 1.19rem;
        padding-inline: 0;

        & li {
            font-size: var(--font-size-125);
            font-weight: 500;
            line-height: 1.181em;
            margin: 0;
            padding: 0.5rem 1.13rem;
            color: var(--colour-font);
            border-radius: 0.9375rem;
            background: var(--colour-off-white);

            & strong {
                font-size: 1rem;
                display: block;
                text-transform: uppercase;
                color: var(--colour-dark-grey);
            }

            &.calendar {
                & span {
                    display: flex;
                    flex-flow: row wrap;
                    padding: 0;
                    background: none;
                }

                .button {
                    font-weight: 700;
                    flex: 1 1 6.5rem;
                    padding: 0.8rem 1.5rem;
                    color: var(--colour-dark-grey);
                    background-color: var(--colour-yellow);
                }
            }

            /* 2 columns - 2x minimum column width + 1x gap */
            @container eo-event-meta (min-width: calc(16rem + 1.19rem)) {
                &.span-2,
                &.span-3 {
                    grid-column-start: auto;
                    grid-column-end: span 2;
                }
            }
            /* 3 columns - 3x minimum column width + 2x gap */
            @container eo-event-meta (min-width: calc(24rem + 2.38rem)) {
                &.span-3 {
                    grid-column-start: auto;
                    grid-column-end: span 3;
                }
            }
        }
    }
}

h2 {
    color: var(--colour-green);
}

.on-the-day {
    padding: 0.5rem;
    border-radius: 1rem;
    background: var(--colour-orange);
    margin-block: 1rem;
}
