.carousel-panel,
.panel--about,
.panel--news,
.panel--calendar,
.article-panel,
.news-item,
.event-row,
.contact-panel {
    position: relative;
}

.teaser-list,
.event-list,
.news-listing,
.calendar-listing {
    display: grid;
    gap: var(--space-4);
}

.teaser-card,
.event-card,
.event-row {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(244, 238, 223, 0.98));
    border: 1px solid rgba(38, 74, 46, 0.16);
    border-radius: var(--radius-lg);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.08);
    padding: var(--space-4);
}

.event-card {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: var(--space-4);
    align-items: start;
}

.event-card__date,
.event-row__date {
    display: grid;
    place-items: center;
    gap: 0.1rem;
    width: 88px;
    min-height: 112px;
    padding: 0.75rem;
    border-radius: 22px;
    background: linear-gradient(180deg, #2f5a36, #23452a);
    color: #f8f2df;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        0 10px 20px rgba(0, 0, 0, 0.10);
    border: 1px solid rgba(185, 146, 31, 0.22);
}

.event-card__date span,
.event-row__date span {
    font-size: 0.85rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #ecd48d;
}

.event-card__date strong,
.event-row__date strong {
    font-size: 2rem;
    line-height: 1;
    color: #fffaf0;
}

.event-row {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: var(--space-4);
}

.article-panel__content > :first-child {
    margin-top: 0;
}

.article-panel__content img {
    max-width: 100%;
    border-radius: 18px;
}

@media (max-width: 720px) {
    .event-card,
    .event-row {
        grid-template-columns: 1fr;
    }

    .event-card__date,
    .event-row__date {
        width: 100%;
        min-height: 0;
        grid-auto-flow: column;
        justify-content: center;
        padding: 1rem;
    }
}

/* Body background image layer */
.site-main {
    background:
        linear-gradient(180deg, rgba(245, 240, 226, 0.12), rgba(245, 240, 226, 0.08)),
        url("/assets/images/body.png") center center / cover no-repeat;
}

.page--home .site-main,
.page--inner .site-main,
.site-main {
    background-color: transparent;
}
