.anchor-underline {
  text-decoration-line: underline !important;
  text-decoration-color: #f53e4c !important;
  text-decoration-thickness: 3px;
}

.filter-button {
  display: block;
  padding-block: 0.5em;
}

.filter-button:hover {
  color: #f53e4c;
}

.filter-button.active {
  position: relative;
  font-weight: bold;
  color: #f53e4c;
  padding-inline-start: 1em;
  text-decoration: underline;
}

.filter-button.active::before {
  content: "";
  width: 0.5em;
  height: 0.5em;
  background-color: #f53e4c;
  z-index: inherit;
  position: absolute;
  right: 0em;
  top: 50%;
  transform: translateY(-50%);
}

#course-header-background {
  background: radial-gradient(ellipse at top, rgb(155.8, 171.8, 167.8), transparent), radial-gradient(ellipse at bottom, #0f4243 100%, transparent);
}

#course svg {
  fill: rgb(122.5, 31, 38);
}
#course-header-wrapper {
  display: grid;
  grid-template-columns: auto 1fr;
  justify-items: center;
  align-items: center;
  padding-block: 2.5em;
}
#course-body {
  width: 100%;
}
#course-body-wrapper {
  margin-block: 2em;
}
#course-body-wrapper li {
  list-style: inside;
  padding-inline-start: 1em;
}
#course-body h2 {
  margin-block-end: 0.2em;
  color: #222222;
}
#course-body-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  justify-items: end;
  gap: 4.5em;
}
#course-join-button, #course-back-button {
  background-color: #0f4243;
  border: 2px solid rgb(12, 52.8, 53.6);
  border-radius: 0.2em;
  text-decoration: none;
  text-align: center;
  width: fit-content;
  padding: 0.5em 2em;
  font-weight: bold;
  font-size: 1.1rem;
  margin-block-start: 1em;
}
#course-join-button:hover, #course-back-button:hover {
  background: radial-gradient(rgb(99, 132.15, 132.8), #0f4243);
}
#course-back-button {
  background-color: #839792;
  border: 2px solid rgb(104.8, 120.8, 116.8);
  border-radius: 0.2em;
  text-decoration: none;
  text-align: center;
}
#course-back-button:hover {
  background: radial-gradient(rgb(174.4, 187.4, 184.15), #839792);
}

#course-aside {
  background-color: rgb(207, 217.2, 217.4);
  border: 1px solid rgb(13.5, 59.4, 60.3);
  border-color: #839792;
  height: fit-content;
  border-block-start-color: #f53e4c;
  border-block-start-width: 4px;
  color: #222222;
  padding: 2em 1.5em;
  width: 100%;
}
#course-aside h2 + ul {
  margin-block-end: 1em;
}

#course-thumbnail {
  display: block;
  overflow: hidden;
  width: 100%;
  max-width: 300px;
  aspect-ratio: 16/9;
  border: 2px solid #0f4243;
  box-shadow: 5px 8px 8px rgb(117.9, 135.9, 131.4);
  border-radius: 0.5em;
  background-color: #0f4243;
  color: #ffffff;
  object-fit: cover;
}

#course-title-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.5em;
  padding: 1em 1.5em;
  width: 100%;
  height: 100%;
}
#course-title-wrapper h1 {
  color: #222222;
}
#course-title-wrapper p {
  margin-block-start: 0.5em;
}

#course-bubble-details {
  font-size: 1rem;
  display: flex;
  flex-wrap: wrap;
}
#course-bubble-details b {
  color: rgb(122.5, 31, 38);
}
#course-bubble-details li {
  display: flex;
  align-items: center;
  gap: 0.3em;
  margin-inline-end: 1em;
}
#course-bubble-details svg {
  width: 20px;
  height: 20px;
}

#course-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  color: #ffffff;
}

.courses-headline {
  padding-block: 0.5em;
  border: 0px solid #7b7670;
  border-block-end-width: 1px;
}

.courses-section-thumbnail {
  width: 100%;
  aspect-ratio: 16/9;
  background-color: #f6ece0;
  overflow: hidden;
}

.courses-section-thumbnail > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.courses-section-item {
  max-width: 20em;
  width: 100%;
  margin-block: 1em;
  background: linear-gradient(to bottom, rgba(251.4, 247.4, 242.6, 0.8), transparent);
  background-color: rgb(248.7, 241.7, 233.3);
  border: 1px solid rgb(196.8, 188.8, 179.2);
  border-radius: 0.5em;
  overflow: hidden;
  position: relative;
}

.courses-section-item-join-button-wrapper {
  border: 0px solid rgb(196.8, 188.8, 179.2);
  background-color: rgb(247.8, 239.8, 230.2);
  border-block-start-width: 1px;
  padding: 0.5em;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-columns: 1fr;
  align-items: center;
  justify-content: center;
  justify-items: center;
}

.courses-section-item-join-button {
  width: 100%;
  text-align: center;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f6ece0;
  border: 2px solid rgb(196.8, 188.8, 179.2);
  border-radius: 0.2em;
  text-decoration: none;
  text-align: center;
  border-width: 1px;
  z-index: 2;
  color: #222222;
  text-decoration: none !important;
}
.courses-section-item-join-button:hover {
  background: radial-gradient(rgb(249.15, 242.65, 234.85), #f6ece0);
}

.courses-section-bubbles {
  margin-block-start: 0.5em;
}
.courses-section-bubbles span {
  border: 1px solid rgba(0, 0, 0, 0.2);
  padding: 0em 1em;
  font-weight: bold;
  font-size: 0.8rem;
  border-radius: 0.2rem;
  background-color: rgb(247.8, 239.8, 230.2);
}

.courses-section-presenter,
.course-section-presenter,
.courses-section-note {
  display: flex;
  align-items: center;
  gap: 0.5em;
}

.courses-section-presenter-wrapper {
  border-block-start: 1px solid rgba(0, 0, 0, 0.2);
  background-color: #f6ece0;
  padding-block: 0.5em;
  display: grid;
  gap: 0.5em;
}

.courses-section-presenter,
.courses-section-note {
  padding-inline: 1em;
}

.courses-section-note {
  background-color: hsl(240, 22%, 30%);
  border-color: hsl(240, 22%, 80%);
  border-block-start-width: 0px;
  border-block-end-width: 2px;
  color: #ffffff;
  font-weight: bold;
  font-size: 0.8rem;
}
.courses-section-note svg {
  width: 5em;
  height: 5em;
  fill: hsl(240, 22%, 80%);
}

.courses-section-presenter > img, .course-section-presenter > img {
  width: 2.2em;
  height: 2.2em;
  border-radius: 50%;
}

.courses-section-details {
  padding-inline: 1em;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: 0.5em;
}
.courses-section-details span {
  display: flex;
  align-items: center;
  line-height: 1.3;
}
.courses-section-details b {
  margin-inline-start: 0.5em;
}
.courses-section-details svg {
  width: 1rem;
  height: 1rem;
}

.course-section-products {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1em;
  padding-block: 0.5em;
}
.course-section-products * {
  text-decoration: none !important;
}

.course-section-product.discount {
  position: relative;
  overflow: hidden;
}

.course-section-product.discount::before {
  content: attr(data-discount);
  position: absolute;
  font-weight: bold;
  font-family: Arial, Helvetica, sans-serif;
  background: linear-gradient(to right, rgb(253, 216.4, 219.2), rgb(196, 49.6, 60.8));
  color: rgb(254, 235.7, 237.1);
  box-shadow: 0px 5px 10px rgb(196.8, 188.8, 179.2);
  border: 1px solid rgb(196, 49.6, 60.8);
  display: flex;
  align-items: center;
  justify-content: center;
  top: 1.2rem;
  left: -4rem;
  padding-block: 0.2em;
  padding-inline: 4rem;
  transform: rotate(-45deg);
  font-size: 0.8rem;
}

.course-section-products > :last-child {
  grid-column: 1/-1;
}

.course-section-product {
  background: linear-gradient(to bottom, rgb(250.5, 245.5, 239.5), transparent);
  border: 1px solid rgb(221.4, 212.4, 201.6);
  background-color: #f6ece0;
  display: grid;
  grid-template-columns: 1fr;
  padding: 1.3em 1em 1em 1em;
  transition: transform 0.1s;
}

.course-section-product:hover {
  transform: scale(1.05);
  box-shadow: 0px 10px 10px rgb(196.8, 188.8, 179.2);
}

.course-section-product-header {
  font-weight: bold;
}
.course-section-product-header p {
  font-size: 1.4rem;
  line-height: 1.2;
}

.course-section-price {
  font-weight: bold;
  line-height: 1.6;
  color: rgb(220.5, 55.8, 68.4);
  display: flex;
  flex-direction: column;
}
.course-section-price span {
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  gap: 0.2rem;
}
.course-section-price .price {
  font-size: 1.7rem;
}
.course-section-price .oldPrice {
  align-self: end;
  font-size: 1.3rem;
  margin-inline-end: 0.2em;
  color: rgba(0, 0, 0, 0.7);
  position: relative;
}
.course-section-price .oldPrice::before {
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  background-color: rgba(0, 0, 0, 0.6);
  transform: rotate(0deg);
}
.course-section-price b {
  color: #222222;
}

.course-section-old_price {
  color: rgb(172.2, 165.2, 156.8);
  font-size: 0.8rem;
}

.courses-section-body {
  position: relative;
  border: 0px solid rgba(0, 0, 0, 0.2);
  border-block-start-width: 1px;
}

.courses-section-header {
  padding: 1em;
}

.courses-section-header > h3 {
  line-height: 1.5;
}

.courses-section-header p {
  line-height: 1.8;
  font-size: 1rem;
}

.courses-section-list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem;
}

.courses-section-list.hide,
.courses-section-emptylist.hide {
  display: none;
}

main {
  position: relative;
}

.courses-section-emptylist {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.courses-aside-grid {
  gap: 1em;
}

.courses-aside {
  background-color: rgb(253.2, 251.2, 248.8);
  border: 1px solid rgb(221.4, 212.4, 201.6);
  height: fit-content;
  border-block-start-color: #f53e4c;
  border-block-start-width: 4px;
  margin-block-start: 1em;
  padding: 1em;
}
.courses-aside p {
  margin-block-start: 0.2em;
  font-size: 1rem;
}
.courses-aside p a {
  color: #f53e4c;
  font-weight: bold;
}

@media screen and (max-width: 800px) {
  #course-header-wrapper {
    grid-template-columns: 1fr;
  }
  #course-body-grid {
    grid-template-columns: 1fr;
  }
  #course-aside {
    display: flex;
    width: fit-content !important;
    margin-inline: auto;
    flex-wrap: wrap;
    gap: 2em;
    margin-block-end: 1em;
  }
  #course-buttons {
    max-width: none;
  }
  #course-buttons > * {
    margin: 0;
    width: 100%;
  }
  .courses-aside-grid {
    display: flex;
    flex-direction: column;
  }
  .courses-section-list {
    justify-content: center;
  }
  .courses-section-emptylist {
    position: relative;
    padding-block: 2em;
  }
  #course-title-wrapper {
    margin-block-start: 2em;
  }
  #course-thumbnail {
    border: 2px solid #0f4243;
    box-shadow: 0px 4px 8px rgb(117.9, 135.9, 131.4);
  }
  #course-body-grid {
    display: flex;
    flex-direction: column-reverse;
    gap: 0;
  }
}
@media screen and (max-width: 562px) {
  .course-section-products {
    grid-template-columns: 1fr;
  }
}