.calendar-table {
  display: grid;
  height: auto;
  padding: 0;
  margin: 0;

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  p {
    text-wrap: pretty;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    text-wrap: balance;
  }

  & > * {
    display: flex;
    flex-direction: column;
  }

  &.calendar-5 > tbody > tr {
    grid-template-columns: repeat(5, 1fr);
  }

  & > tbody {
    display: flex;
    flex-direction: column;

    & > tr {
      display: grid;
      // grid-template-columns: repeat(5, 1fr);
      height: auto;

      &:has(> .menudate-header) {
        grid-template-columns: 1fr;
        width: 100%;
      }

      & > td {
        margin: 0;
        border: solid 1px #c8c6c6;
        padding: 5px;
      }
    }
  }

  & > tablet tr {
    display: grid;
    background: cyan;
  }

  .menu-title {
    margin-top: 5px;
  }

  @media only screen and (max-width: 600px) {
    background: rgb(0, 255, 4);
    &.calendar-5 > tbody > tr {
      grid-template-columns: 1fr;
    }
  }
}

