.detail-title, .detail-aside {
    overflow-wrap: anywhere;
}

.detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: var(--spacing-xl);
    align-items: start;
    padding-top: 0;
}

.detail-content > * + * {
    margin-top: var(--spacing-lg);
}

.detail-photo img {
    width: 100%;
    height: auto;
    border-radius: var(--radius-md);
}

.detail-aside {
    padding: var(--spacing-lg);
    border-radius: var(--radius-md);
}

.detail-aside h2 {
    font-size: var(--font-2xl);
    margin-bottom: var(--spacing-lg);
}

.detail-aside dl, .detail-fact dd {
    margin: 0;
}

.detail-fact {
    padding-block: var(--spacing-md);
    border-top: var(--border-default);
    font-size: var(--font-sm);
}

.detail-fact dt {
    margin-bottom: var(--spacing-sm);
    font-size: var(--font-xs);
    color: var(--muted);
}

.detail-aside > .text-link {
    margin-top: var(--spacing-md);
    font-size: var(--font-xs);
}

.detail-upcoming {
    margin-top: var(--spacing-lg);
    padding-top: var(--spacing-lg);
    border-top: var(--border-default);
}

.detail-upcoming > h3 {
    margin-bottom: var(--spacing-md);
}

@media (max-width: 1440px) {
    .detail-layout {
        gap: var(--spacing-lg);
    }
}

@media (max-width: 1024px) {
    .detail-layout {
        grid-template-columns: minmax(0, 1fr);
    }
}
