.x-accommodation.x-calendar-roomtype {
  .x-calendar-roomtype-label {
    display: inline-block;
    border-radius: 2px;
    padding: 0 5px;
    min-width: 17px;
    height: 17px;
    font-size: 8px;
    line-height: 15px;
    vertical-align: middle;
    margin-right: 3px;
    margin-top: -1px;
    text-align: center;
  }

  .x-calendar-roomtype-header {
    margin-bottom: 30px;

    .x-calendar-roomtype-title {
      font-size: 1.5em;
      line-height: 34px;
      margin: 0;
      vertical-align: middle;

      @media(max-width: @screen-xs) {
        font-size: 1.2em;
      }
    }
  }

  .x-calendar-roomtype-body {
    table {
      display: table;
      width: 100%;
      table-layout: fixed;

      th {
        margin: 0;
        padding: 8px;
        font-size: 12px;
        font-weight: 400;
        text-align: center;
        vertical-align: middle;
        background-color: @contents-bg-light;
      }

      td.x-calendar-roomtype-cell {
        padding: 0;
        height: 100px;
        transition: background-color 0.2s;

        .x-calendar-roomtype-cell-header {
          position: relative;
          font-size: 12px;
          padding: 10px 5px;
          border-bottom: 1px dotted @border-color;
          margin-bottom: 10px;

          .x-calendar-roomtype-cell-label {
            .x-calendar-roomtype-label;
            border: 1px solid @brand-info;
            margin: 0;
          }

          .x-calendar-roomtype-cell-date {
            position: absolute;
            top: 1px;
            right: 0;
            min-width: 26px;
            height: 26px;
            line-height: 26px;
            text-align: center;
            border-radius: 13px;
            margin: 5px;
          }
        }

        &.x-calendar-roomtype-cell-today {
          .x-calendar-roomtype-cell-date {
            background-color: @brand-info;
            color: white;
          }
        }

        .x-calendar-roomtype-cell-closed {
          padding: 5px;
          text-align: center;
          font-size: 0.9em;
          color: @muted;
        }
      }

      td.x-calendar-roomtype-cell-pastdate, td.x-calendar-roomtype-cell-prevmonth, td.x-calendar-roomtype-cell-nextmonth {
        background-color: @contents-bg-light;

        span.x-calendar-roomtype-cell-day {
          color: @muted;
        }
      }

      td.x-calendar-roomtype-cell-pastdate {
        background-color: @contents-bg-lighter;
      }
    }
  }

  .x-calendar-roomtype-roominfo {
    cursor: pointer;
    margin: 0;
    overflow: hidden;
    padding: 5px;

    &:last-child {
      margin-bottom: 20px;
    }

    &:hover {
      color: @brand-primary;
    }

    .x-calendar-roomtype-roominfo-label, .x-calendar-roomtype-roominfo-price {
      font-size: 12px;
      line-height: 17px;
      text-overflow: ellipsis;
      white-space: nowrap;
      overflow: hidden;
    }

    .x-calendar-roomtype-roominfo-label {
    }

    .x-calendar-roomtype-roominfo-price {
      font-size: 11px;
      margin-top: 5px;
      text-align: right;
    }
  }

  .x-calendar-roomtype-roominfo-status {
    &:before {
      .x-calendar-roomtype-label;
    }

    &.x-calendar-roomtype-roominfo-status-bookable:before {
      content: "가능";
      border: 1px solid @brand-info;
      color: @brand-info;
    }

    &.x-calendar-roomtype-roominfo-status-complete:before {
      content: "완료";
      border: 1px solid @brand-warning;
      color: @brand-warning;
    }

    &.x-calendar-roomtype-roominfo-status-closed:before {
      content: "불가";
      border: 1px solid @border-color;
      color: @text-muted;
    }
  }
}
