/* =========================================================================
   BavariaEvents – Ergänzungen zum Corps-Theme (bavaria.css ist die Kopie der Homepage)
   Nur, was die Events-App zusätzlich braucht.
   ========================================================================= */

/* Seitenbreite: Formulare schmal, Listen etwas breiter */
.seite        { max-width: 60rem; }
.seite-schmal { max-width: 45rem; }

/* Alte Abschnittsüberschriften (.section-heading) wie .abschnittstitel der Homepage */
.section-heading {
  font-size: 1.15rem;
  font-weight: 650;
  position: relative;
  padding-bottom: .4rem;
  margin-bottom: 1rem;
}
.section-heading::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 3rem; height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--bavaria-navy), var(--bavaria-light-blue));
}

/* Seitenleiste: Gäste sehen statt Name/Abmelden einen Anmeldeknopf */
.bavaria-seitenleiste-fuss .bavaria-anmelden { margin-left: auto; }

/* Fußzeile mit Impressum/Datenschutz unter dem Inhalt */
.events-fuss {
  display: flex;
  flex-wrap: wrap;
  gap: .25rem 1.25rem;
  justify-content: center;
  padding: 2rem 1rem 1.5rem;
  font-size: .85rem;
}
.events-fuss a { color: var(--bavaria-muted); }
.events-fuss a:hover { color: var(--bv-akzent); }

/* ---------- Veranstaltungen: Karte mit Datumskachel (wie Kalender der Homepage) */
.ev-termin { overflow: hidden; }
.ev-termin .ev-bild {
  display: block;
  aspect-ratio: 16 / 7;
  background: var(--bavaria-sky);
  overflow: hidden;
}
.ev-termin .ev-bild img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
}
.ev-termin a.ev-bild:hover img { transform: scale(1.03); }
.ev-kopf { display: flex; gap: .9rem; align-items: flex-start; }
.kal-datum {
  display: flex; flex-direction: column; align-items: center; justify-content: center; flex-shrink: 0;
  width: 3.2rem; padding: .3rem 0; border-radius: .5rem;
  background: var(--bavaria-sky); color: var(--bv-akzent); line-height: 1.1;
}
.kal-wochentag { font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; }
.kal-tag { font-size: 1.35rem; font-weight: 700; }
.kal-monat { font-size: .7rem; }
.ev-titel { font-size: 1.05rem; margin: 0 0 .15rem; }
.ev-titel a { color: inherit; }
.ev-meta { font-size: .875rem; color: var(--bavaria-muted); }

/* Detailbild auf Anmelde- und Verwaltungsseiten */
.ev-detailbild {
  width: 100%;
  max-height: 18rem;
  object-fit: cover;
  border-radius: var(--bs-border-radius-lg);
}

/* Code-Eingabe: groß und gut tippbar */
.ev-code input { text-transform: uppercase; letter-spacing: .15em; font-weight: 600; }
.ev-code input::placeholder { text-transform: none; letter-spacing: normal; font-weight: 400; }

@media (prefers-reduced-motion: reduce) {
  .ev-termin .ev-bild img { transition: none; }
}

/* ---------- Semesterprogramm einlesen: bearbeitbare Tabelle ---------------- */
.seite-breit { max-width: 84rem; }
.import-liste { display: grid; gap: .5rem; }
.import-kopf, .import-zeile {
  display: grid;
  grid-template-columns: 2rem minmax(14rem, 2.2fr) 9.5rem 13.5rem 13.5rem minmax(10rem, 1.4fr) 2.5rem;
  gap: .5rem;
  align-items: start;
}
.import-kopf {
  padding: .45rem .75rem;
  border-radius: .5rem;
  background: var(--bv-akzent);
  color: #fff;
  font-size: .8rem;
  font-weight: 600;
}
[data-bs-theme="dark"] .import-kopf { color: var(--bs-body-bg); }
.import-zeile {
  padding: .6rem .75rem;
  border: 1px solid var(--bv-rand);
  border-radius: .6rem;
  background: var(--bv-flaeche);
}
.import-zeile.ist-abgewaehlt { opacity: .55; }
.import-zeile.ist-vorhanden { border-style: dashed; }
.import-wahl { padding-top: .35rem; }
.import-wahl .form-check-input { width: 1.2rem; height: 1.2rem; }
.import-roh { font-size: .75rem; color: var(--bavaria-muted); margin-top: .25rem; overflow-wrap: anywhere; }
.import-zeit { display: grid; grid-template-columns: 1fr 5.5rem; gap: .25rem; }
.import-label { display: none; }
.ist-geraten { background-color: #fff3cd; border-color: #e7c96a; }
[data-bs-theme="dark"] .ist-geraten { background-color: #3d3413; border-color: #8a7330; }

/* Unter 1200px: jede Zeile wird eine Karte mit beschrifteten Feldern */
@media (max-width: 1199.98px) {
  .import-kopf { display: none; }
  .import-zeile {
    grid-template-columns: 2rem 1fr 2.5rem;
    grid-template-areas: "wahl titel weg" "wahl sicht sicht" "wahl beginn beginn" "wahl ende ende" "wahl ort ort";
  }
  .import-zeile > :nth-child(1) { grid-area: wahl; }
  .import-zeile > :nth-child(2) { grid-area: titel; }
  .import-zeile > :nth-child(3) { grid-area: sicht; }
  .import-zeile > :nth-child(4) { grid-area: beginn; }
  .import-zeile > :nth-child(5) { grid-area: ende; }
  .import-zeile > :nth-child(6) { grid-area: ort; }
  .import-zeile > :nth-child(7) { grid-area: weg; }
  .import-label { display: block; font-size: .75rem; font-weight: 600; color: var(--bavaria-muted); margin-bottom: .1rem; }
}
