/* ===== Umschalter (dein Original) ===== */
.umschalter-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.6em;
  margin-bottom: 1em;
  max-width: 100%;
}
.umschalt-box { min-width: 0; word-break: break-word; }
.umschalt-box:first-child { flex: 1; text-align: right; }
.umschalt-box:nth-child(2) { flex: 0 0 auto; text-align: center; width: 3.6em; }
.umschalt-box:last-child { flex: 1; text-align: left; }
.umschalt-label {
  color: var(--michael-dgrau);
  text-decoration: none;
  font-weight: 500;
  font-size: 1em;
  cursor: pointer;
  display: inline-block;
  white-space: normal;
}
.umschalt-label.active-label { font-weight: 700; color: var(--michael-brom1); }
.umschalt-toggle {
  display: inline-block;
  width: 3em;
  height: 1.6em;
  background-color: var(--michael-hbrom);
  border-radius: 1em;
  border: 2px solid var(--michael-brom1);
  position: relative;
  text-decoration: none;
  cursor: pointer;
}
.umschalt-toggle-kreis {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.2em;
  height: 1.2em;
  background-color: var(--michael-brom1);
  border-radius: 50%;
  transition: left 0.25s ease;
}
.umschalt-toggle-kreis.links  { left: 0.2em; }
.umschalt-toggle-kreis.rechts { left: calc(100% - 1.4em); }

/* ===== Mobile First: Kartenansicht ===== */
.stm-wrapper { display:block; }
.stm-year, .stm-month {
  margin: 1rem 0 .25rem;
  font-size: 1.1rem;      /* H2 dezent */
  font-weight: 700;
}
.stm-day-group { display:block; margin-bottom: 1rem; }

.stm-card {
  display:block;
  padding: .75rem .875rem;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: .75rem;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
  margin-bottom: .75rem;
}

.stm-row { line-height: 1.35; font-size: 1em; } /* alle gleich groß */
.stm-row-1 { margin-bottom: .375rem; font-weight: 700;}           /* Datum */
.stm-row-2.stm-time { margin-bottom: .25rem; }    /* Uhrzeit */
.stm-row-3.stm-title { font-weight: 700;  }       /* Titel  */
.stm-row-4 { margin-top: .25rem; }

/* Datum: Softwrap nach Gedankenstrich erlauben */
.stm-date { opacity: .95; word-break: normal; }

/* Hinweis immer sichtbar – farbig */
.stm-hint-inline {
  color: var(--michael-brom1);
  margin-top: .25rem;
  font-size: 0.8em;
}
.stm-hint-inline p { margin: 0.25rem 0 0; }

/* ===== Desktop (ab 1025px): 3 Spalten, ohne Kopfzeile ===== */

@media (min-width: 1025px) {
  .stm-wrapper { display:block; }
  .stm-day-group { margin-bottom: .25rem; }

  .stm-card {
    display: grid;
    /* schmalere erste Spalte (Datum), mittig Zeit, rechts Titel/Hinweis */
    grid-template-columns: 14ch 16ch minmax(40%, 1fr);
    align-items: start;
    gap: .25rem .75rem;
    border-left: none; border-right: none;
    box-shadow: none;
    border-radius: 0px;
    border-top: 0px;
    border-bottom: 1px solid rgba(0,0,0,.1);
    padding: .5rem .25rem;
    margin: 0;
  }

  /* Spaltenzuordnung */
  .stm-row-1 { grid-column: 1; }        /* Datum */
  .stm-row-2 { grid-column: 2; }        /* Uhrzeit (bleibt leer wenn keine Zeit) */
  .stm-row-3 { grid-column: 3; }        /* Titel */
  .stm-row-4 { grid-column: 3; }        /* Hinweis unter dem Titel */

  /* Datum-Zeile: weiche Umbrüche auch im Desktop */
  .stm-date { hyphens: auto; }

  /* gleiche Schriftgröße */
  .stm-row { font-size: 1rem; }
}
