  section:has(> .calendar) {
    padding-left: 0;
  }
  .calendar {
    display: flex;
    flex-wrap: wrap;

    --head-width: calc(var(--l1) / 2);
    --day-width: calc(var(--head-width) + var(--content-width));
    --tt: 1000px;
  }
  @media screen and (width < 48em) { /* width >~ 3 * day-width */
    .calendar {
      flex-direction: row;
      /* flex-wrap: nowrap;*/
    }
    .week {
      width: 100%;
    }
    .day {
      width: var(--day-width);
    }
  }
  .week {
    flex-grow: 1;
  }
  header h3 {
    text-align: center;
    font-weight: normal;
  }
  .day {
    display: flex;
    height: calc(var(--l1) + 2 * var(--l2));
    width: 100%;
    font-size: 0.7em;
  }
  .today .head {
    border-left: 4px solid var(--colorem);
    border-top-color: var(--colorem);
    background-color: #e4e6e6;
  }
  .today + .day .head {
    border-top-color: var(--colorem);
  }
  .today .head {
    color: var(--colorem);
    padding-left: 0px;
  }
  .head {
    width: var(--head-width);
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
    justify-content: center;
    border-left: 4px solid var(--grey);
  }
  .day:first-of-type .head {
    border-top-width: 0;
  }
  .head span {
    text-align: center;
    font-weight: bold;
  }
  span.date {
    font-size: 1.5em;
  }
  span {
    overflow: hidden;
  }
  .marks {
    display: flex;
    width: var(--marks-width);
    border-right: 1px solid var(--grey);
  }
  .mark {
    height: 100%;
    width: var(--mark-width);
    border: 0 solid white;
  }
  .content {
    display: flex;
  }
  .event {
    margin: 0 2px 0 0;
    padding: 0.33em 0.5em;
    width: calc(var(--l1) + 2 * var(--l2));
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .event-start {
    border-top: 4px solid black;
  }
  .time {
    font-size: 0.8em;
    display: flex;
    justify-content: space-between;
  }
  span.summary {
    max-height: 4em;
    height: 80%;
    column-width: 10em;
  }

  .mark.perso {
    background-color: var(--green-em);
  }
  .mark.work {
    background-color: var(--red-em);
  }
  .mark.sam {
    background-color: var(--blue-em);
  }
