.horaris-board{
  font-family: 'Roboto Condensed', Arial, sans-serif;
  color: #3f3f3f;
  max-width: 980px;
  margin: 0 auto;
}

.horaris-board__actions{
  display: flex;
  justify-content: center;
  margin: 0 0 1.2rem;
}

.horaris-board__download-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0.35rem 1rem;
  background: #dd4f84;
  color: #fff !important;
  text-decoration: none;
  font-family: 'Bebas Neue', Bebas, Arial, sans-serif;
  font-size: 1.35rem;
  letter-spacing: .02em;
}
.horaris-board__download-btn:visited,
.horaris-board__download-btn:hover,
.horaris-board__download-btn:focus{
  color: #fff !important;
}

.horaris-section{
  margin: 0 auto 1rem;
}

.horaris-course-table{
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.horaris-course-table__spacer{
  padding: 0;
  border: 0;
  background: transparent;
}

.horaris-course-table__aula-head{
  background: var(--section-color);
  color: #fff;
  font-family: 'Bebas Neue', Bebas, Arial, sans-serif;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 1.8rem;
  border: 0;
  text-align: center;
  width: 18%;
  border: 3px solid var(--section-color);
}

.horaris-course-table__course{
  width: 36%;
  background: var(--section-color);
  color: #fff;
  font-family: 'Bebas Neue', Bebas, Arial, sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: .01em;
  line-height: 1.1;
  padding: .42rem .75rem .42rem 1rem !important;
  text-align: left;
  vertical-align: middle;
  border: 0;
  border-left: 3px solid var(--section-color);
}

.horaris-course-table__days,
.horaris-course-table__hours,
.horaris-course-table__aula{
  background: #fff;
  padding: .35rem .6rem;
  font-size: 1.32rem;
  line-height: 1.2;
  vertical-align: middle;
  border: 0;
}

.horaris-course-table__days{ width: 35%; text-align: left; }
.horaris-course-table__hours{ width: 11%; text-align: left; }
.horaris-course-table__aula{
  width: 18%;
  text-align: center;
  white-space: nowrap;
}

/* Primera fila real de la taula (capçalera): interiors a 0 i inferior pintada */
.horaris-course-table thead tr > *{
  border-top: 0;
  border-left: 0;
  border-right: 0;
  border-bottom: 3px solid var(--section-color);
}

.horaris-course-table thead tr > *:last-child{
  border: 3px solid var(--section-color);
}

/* Vores interiors invisibles */
.horaris-course-table tbody tr > *{
  border-left: 0;
  border-right: 0;
  border-top: 0;
  border-bottom: 0;
}

/* Vora dreta de tota la taula (gruix 3) */
.horaris-course-table tbody tr > *:last-child{
  border-right: 3px solid var(--section-color);
}

/* Primera fila del cos: sense vora superior */
.horaris-course-table tbody tr:first-child > *{
  border-top: 0;
  /* border-bottom: 0; */
}

/* Vora inferior de la taula (gruix 3) */
.horaris-course-table tbody tr:last-child > *{
  border-bottom: 3px solid var(--section-color);
}

@media (min-width: 901px){
  .horaris-course-table__course[rowspan]{
    border-bottom: 3px solid var(--section-color);
  }
}

@media (max-width: 900px){
  .horaris-course-table{
    table-layout: auto;
  }

  .horaris-course-table thead{
    display: none;
  }

  .horaris-course-table tbody tr{
    display: block;
    border-right: 3px solid var(--section-color);
    border-left: 3px solid var(--section-color);
    border-bottom: 0;
  }

  .horaris-course-table tbody tr:has(> .horaris-course-table__course){
    border-top: 3px solid var(--section-color);
    margin-top: .55rem;
  }

  .horaris-course-table tbody tr:last-child,
  .horaris-course-table tbody tr:has(+ tr > .horaris-course-table__course){
    border-bottom: 3px solid var(--section-color);
  }

  .horaris-course-table__course,
  .horaris-course-table__days,
  .horaris-course-table__hours,
  .horaris-course-table__aula{
    display: block;
    width: 100%;
    text-align: left;
    border: 0 !important;
    padding-left: .9rem;
    padding-right: .9rem;
  }

  .horaris-course-table__course{
    border-top: 0 !important;
    border-left: 0 !important;
  }

  .horaris-course-table__aula{
    text-align: left;
  }

  .horaris-course-table__days{
    padding-bottom: .2rem;
  }

  .horaris-course-table__row--parent .horaris-course-table__aula{
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0 !important;
  }

  .horaris-course-table__row--parent:has(+ tr.horaris-course-table__row--parent) .horaris-course-table__aula{
    padding-bottom: 2rem;
  }

  .horaris-course-table__aula-head{ font-size: 1.25rem; }
  .horaris-course-table__course{ font-size: 1.2rem; }
  .horaris-course-table__days,
  .horaris-course-table__hours,
  .horaris-course-table__aula{ font-size: 1rem; }
}
