.catalog--academyDetail .Form {
    max-width: none !important;
}

.academyDetail__header {
    position: relative;
    width: 100%;
    margin-block-end: var(--marginSmallMedium);
    border-radius: var(--borderRadiusSmall);
    overflow: clip;
}

.academyDetail__summary {
    width: 100%;
    padding: var(--marginMedium);
}

.academyDetail .academyDetail__summary::after {
    content: '';
    inset: 0;
    position: absolute;
    z-index: -1;
    background-color: var(--primaryColor500);
}

.academyDetail__title,
.academyDetail__subtitle,
.academyDetail__totalCourseDuration {
    color: var(--baseLight100);
}

.academyDetail__subtitle {
    font-size: var(--h6Size);
}

.academyDetail__title:has(+ .academyDetail__subtitle) {
    margin-bottom: 0;
}

.--hasCover .academyDetail__image {
    height: 100%;
    object-fit: cover;
}

.academyDetail__totalCourseDuration {
    display: flex;
    margin-top: var(--marginSmall);
}

.academyDetail__totalCourseDuration::before {
    margin-right: .5rem;
    font-family: var(--iconFont);
    content: '\e880';
}

.academyDetail__type {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1rem;
    padding: .5rem .75rem;
    font-size: var(--preTitleSize);
    color: var(--baseDark900);
    background-color: var(--secondaryColor200);
    border-radius: var(--borderRadiusSmall);
    border: none;
    text-decoration: none;
    transition: all 0.25s ease-in-out;
}

.academyDetail__asideInner {
    padding: var(--marginMedium);
    box-shadow: var(--boxShadow);
    border-radius: var(--borderRadiusSmall);
    background-color: var(--baseLight100);
}

.academyDetail__sectionTitle {
    margin-bottom: var(--marginExtraSmall);
}

.academyDetail__section + .academyDetail__section {
    margin-top: var(--marginMedium);
}

.academyDetail__backLink {
    display: inline-block;
    margin-block: var(--marginMedium);
}

/*
 * Prices
 */

.academyDetail__ticketsTable tr td {
    padding-block: .25rem var(--marginExtraSmall);
}

.academyDetail__ticketsTable tr:not(:last-child) td {
    border-bottom: 1px solid var(--baseLight350);
}

.academyDetail__ticketsTable .academyDetail__ticketsName {
    font-weight: bold;
}

@media (min-width: 768px) {
    .academyDetail__header.--hasCover {
        display: grid;
        grid-template-columns: 1fr calc(40% - var(--gridGutter));
    }

    .academyDetail__type {
        position: absolute;
        top: var(--marginMedium);
        right: var(--marginMedium);
        margin-top: 0;
    }
}

@media (min-width: 900px) {
    .academyDetail__content {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: calc(var(--gridGutter) * 2);
    }

    .academyDetail__main {
        flex: 0 0 calc(60% - var(--gridGutter));
        max-width: calc(60% - var(--gridGutter));
        margin: 0;
    }

    .academyDetail__aside {
        flex: 0 0 calc(40% - var(--gridGutter));
        max-width: calc(40% - var(--gridGutter));
    }

    .academyDetail__asideInner {
        position: sticky;
        top: 2rem;
    }
}
