 .mod-rstermin-top { width: 100%; }
.rstermin-top-grid { display: grid; grid-template-columns: repeat(var(--rstermin-columns, 5), minmax(0, 1fr)); gap: 1rem; }
.rstermin-top-card { display: flex; flex-direction: column; min-width: 0; border-radius: 5px; padding: .75rem; background: #fff; text-align: center; box-shadow: 0 3px 15px rgba(0,0,0,.1); transition: .3s ease; text-decoration: none; color: inherit; }
.rstermin-top-card:hover, .rstermin-latest-card:focus-visible { box-shadow: 0 5px 20px rgba(0,0,0,.18); transform: translateY(-2px); text-decoration: none; color: inherit; }
.rstermin-top-category { font-weight: 400; margin-bottom: .25rem; font-size: 0.6rem; }
.rstermin-top-name { font-size: .95rem; margin-bottom: .25rem; }
.rstermin-top-meta { margin-top: auto; }
.rstermin-top-place { font-size: .8rem; color: #666; margin-bottom: .4rem; }
.rstermin-top-time { font-size: .75em; font-weight: 400; white-space: nowrap; }
.rstermin-top-date { font-size: 0.95rem; color: #2e9e4f; }
@media (max-width: 1024px) { .rstermin-top-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 768px) { .rstermin-top-grid { grid-template-columns: 1fr; } }
