/* ================================================================
   MEINE REISE – MAGAZIN-ÜBERSICHT — mrm- Präfix
   Baut auf reise.css (Tokens, Buttons) und legal.css (Seitenrahmen, Intro) auf.
   ================================================================ */
.mrm-main { padding: 80px 0 120px; background: var(--r-cream); flex: 1; }
.mrm-shell { max-width: 1160px; }

.mrm-intro { margin-bottom: 56px; }
.mrm-lead {
  max-width: 56ch; margin: 20px 0 28px;
  font-size: var(--fs-lg); line-height: 1.7; color: var(--r-fg2);
}

/* Cover-Raster */
.mrm-grid {
  display: grid; gap: 40px 28px;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.mrm-card { display: flex; flex-direction: column; gap: 16px; color: inherit; text-decoration: none; }
.mrm-cover { position: relative; }
.mrm-cover img {
  display: block; width: 100%; height: auto; aspect-ratio: 640 / 882;
  object-fit: cover; border-radius: 12px;
  box-shadow: var(--r-shadow-sm);
  transition: box-shadow .3s var(--r-ease), transform .3s var(--r-ease);
}
.mrm-card:hover .mrm-cover img { box-shadow: var(--r-shadow-md); transform: translateY(-4px); }

.mrm-badge {
  position: absolute; top: 12px; left: 12px;
  padding: 5px 12px; border-radius: 999px;
  background: var(--r-beige); color: var(--r-white);
  font-family: var(--r-font-geo); font-size: var(--fs-2xs); font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  box-shadow: var(--r-shadow-sm);
}

.mrm-meta p.eyebrow { margin: 0 0 4px; color: var(--r-beige-700); }
.mrm-title { margin: 0; font-size: var(--fs-h3); color: var(--r-ink); }
.mrm-read {
  display: inline-flex; align-items: center; gap: 8px; margin-top: 10px;
  font-family: var(--r-font-geo); font-size: var(--fs-xs); font-weight: 500;
  letter-spacing: .12em; text-transform: uppercase; color: var(--r-beige);
}
.mrm-read svg {
  width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2;
  stroke-linecap: round; stroke-linejoin: round; transition: transform .2s;
}
.mrm-card:hover .mrm-read svg { transform: translateX(3px); }
.mrm-card:focus-visible { outline: 2px solid var(--r-beige); outline-offset: 6px; border-radius: 12px; }

/* Abschluss-CTA */
.mrm-cta {
  margin-top: 96px; padding: 48px 40px; text-align: center;
  background: var(--r-white); border: 1px solid var(--r-line);
  border-radius: 18px; box-shadow: var(--r-shadow-sm);
}
.mrm-cta h2 { margin: 0 auto; max-width: 24ch; font-size: var(--fs-h2-xs); }
.mrm-cta p { margin: 14px auto 26px; max-width: 52ch; color: var(--r-fg2); line-height: 1.7; }

@media (max-width: 640px) {
  .mrm-main { padding: 48px 0 80px; }
  .mrm-intro { margin-bottom: 40px; }
  .mrm-grid { grid-template-columns: repeat(2, 1fr); gap: 28px 16px; }
  .mrm-cta { margin-top: 64px; padding: 32px 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .mrm-cover img, .mrm-read svg { transition: none; }
  .mrm-card:hover .mrm-cover img, .mrm-card:hover .mrm-read svg { transform: none; }
}
