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;
            }
        }

        .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;
        }
    }
}

.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: flex;
    align-content: flex-start;
    flex-flow: row wrap-reverse;
    justify-content: flex-start;
    border: 1px solid var(--colour-off-white);
    border-top: none;
    border-radius: 0 0 0.9375rem 0.9375rem;
    gap: 1rem;

    .scroller > * {
        aspect-ratio: 1 / 1;
    }

    .detail {
        flex: 1 1 25%;
    }

    .event {
        align-self: flex-end;
        flex: 0 0 auto;
        width: 100vw;
        height: 100%;
        margin-left: calc(50% - 50vw);
    }

    @media all and (min-width: 1400px) {
        padding: 1.81rem;
        .event {
            flex: 1 1 70%;
            margin-left: unset;
        }
    }
}

h2 {
    color: var(--colour-green);
}

.on-the-day {
    padding: 0.5rem;
    border-radius: 1rem;
    background: var(--colour-orange);
    margin-block: 1rem;
}
