.hero-section {
  background: linear-gradient(to right, #800032, #49001b);
}

/* Einheitlicher Medien-Frame für Bilder & Video */
.media-frame {
  height: 260px;            /* Desktop-Höhe */
  background: #000;         /* fürs Video / Loading */
}

.media-cover {
  height: 100%;
  object-fit: cover;        /* wichtig: gleiche Größe, kein Verzerren */
  display: block;
}

/* Feature Cards */
.feature-img {
  height: 180px;
  object-fit: cover;
}

/* Mobile Anpassungen */
@media (max-width: 576px) {
  .media-frame { height: 210px; }
  .feature-img { height: 160px; }
}

.navbar-logo {
  height: 42px;
  width: auto;
  object-fit: contain;
}


table td, table th {
  padding: 14px;
}

.table-warning td {
  font-weight: 600;
}


.calendar-shell .fc {
  --fc-border-color: #e9ecef;
  --fc-today-bg-color: rgba(13, 110, 253, 0.08);
}

.calendar-shell .fc .fc-toolbar-title {
  font-size: 1.25rem;
  font-weight: 700;
}

/* FullCalendar: Pfeile statt Icon-Font (fix für die Kästchen) */
.fc .fc-icon {
  font-family: inherit !important;
}

.fc .fc-icon-chevron-left::before { content: "‹"; font-weight: 700; }
.fc .fc-icon-chevron-right::before { content: "›"; font-weight: 700; }

/* Optik etwas ruhiger */
.calendar-shell .fc {
  --fc-border-color: #e9ecef;
  --fc-today-bg-color: rgba(13, 110, 253, 0.08);
}

.calendar-shell .fc .fc-toolbar-title {
  font-size: 1.25rem;
  font-weight: 700;
}

.calendar-shell .fc .fc-button {
  border-radius: 10px;
}


.fc .fc-customPrev-button,
.fc .fc-customNext-button {
  font-size: 1.4rem;
  font-weight: 700;
  padding: 0.25rem 0.75rem;
  line-height: 1;
}

.tfw-calendar {
  min-height: 420px; /* damit es nicht zusammenfällt */
}

.map-shell {
  height: 420px;
  width: 100%;
}

@media (max-width: 576px) {
  .map-shell { height: 320px; }
}

.distance-item {
  padding: 12px 12px;
  border: 1px solid #e9ecef;
  border-radius: 14px;
  background: #fff;
}


.map-shell {
  height: 420px;
  width: 100%;
}

@media (max-width: 576px) {
  .map-shell { height: 320px; }
}

.distance-item {
  padding: 12px 12px;
  border: 1px solid #e9ecef;
  border-radius: 14px;
  background: #fff;
}

.object-cover { object-fit: cover; }

.gallery-tile {
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease;
}
.gallery-tile:hover {
  transform: translateY(-2px);
}


