.article-content a[rel~="external"]:not(.button) {
  text-decoration: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
}
.region-map {
  display: grid;
  gap: var(--space-4);
  margin-block: var(--space-7);
  padding: clamp(var(--space-5), 5vw, var(--space-7));
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-sm);
}
.region-map h2,
.region-map p { margin: 0; }
.region-map > div:first-child,
.region-map__placeholder {
  display: grid;
  gap: var(--space-3);
}
.region-map > div:first-child > p:not(.eyebrow),
.region-map__placeholder p,
.region-map__note { color: var(--color-text-muted); }
.region-map__placeholder {
  justify-items: start;
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-sand);
}
.region-map__canvas {
  width: 100%;
  height: clamp(24rem, 55vw, 34rem);
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-sand);
}
.region-map__canvas[hidden],
.region-map__placeholder[hidden] { display: none; }
.region-map .leaflet-control-attribution {
  font-family: var(--font-sans);
  font-size: .7rem;
}
.region-map .leaflet-tooltip.palatinate-region-label {
  padding: .35rem .55rem;
  border: 1px solid var(--color-primary-dark);
  border-radius: 999px;
  background: var(--color-surface);
  color: var(--color-primary-dark);
  font-family: var(--font-sans);
  font-weight: 800;
  box-shadow: var(--shadow-sm);
}
.region-map .leaflet-tooltip.palatinate-region-label::before { display: none; }
.route-link-card {
  display: grid;
  justify-items: start;
  gap: var(--space-3);
  margin-block: var(--space-7);
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  box-shadow: var(--shadow-sm);
}
.route-link-card h3,
.route-link-card p { margin: 0; }
.shop-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(17rem, .95fr);
  margin-block: var(--space-8);
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  box-shadow: var(--shadow-sm);
}
.shop-feature__media { min-height: 23rem; background: var(--color-primary); }
.shop-feature__image { width: 100%; height: 100%; min-height: 23rem; object-fit: cover; object-position: center 68%; }
.shop-feature__content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: var(--space-3); padding: clamp(var(--space-5), 4vw, var(--space-7)); }
.shop-feature__content .eyebrow,
.shop-feature__content h2,
.shop-feature__content p { margin: 0; }
.shop-feature__content .eyebrow { font-size: .68rem; letter-spacing: .11em; line-height: 1.35; }
.shop-feature__content h2 { font-size: clamp(var(--text-xl), 3vw, var(--text-3xl)); line-height: 1.15; }
.shop-feature__content .button { margin-top: var(--space-2); }
@media (min-width: 30.01rem) and (max-width: 47.99rem) {
  .article-facts { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (min-width: 48rem) {
  .article-facts { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (max-width: 42rem) {
  .shop-feature { grid-template-columns: 1fr; }
  .shop-feature__media { min-height: 0; }
  .shop-feature__image { display: block; height: auto; min-height: 0; aspect-ratio: 6 / 5; object-fit: cover; object-position: center 68%; }
  .shop-feature__content { padding: var(--space-5); }
}
