/*
  INDEX
  ------------------------------------------
  001 - Pathway accordion component
  002 - Landing page accordion component
  003 - Previous or onwards steps component
  ------------------------------------------
*/

/* 001 Pathway accordion component */
.block__accordion {
  .accordion {
    display: flex;
    flex-flow: column;
    gap: 1rem;

    .accordion-item {
      border-radius: 10px;
      border: 1px solid rgba(62, 61, 61, 50%);

      .accordion-header {
        border: 0;
        margin-bottom: 0;

        .accordion-button {
          background-color: var(--color-white);
          color: var(--color-black);
          box-shadow: none;
          border: 0;
          border-radius: 10px !important;
          font-size: 1.25rem;
        }
      }

      .accordion-body {
        padding-top: 0;
        color: var(--color-black);

        *:last-child {
          margin-bottom: 0;
        }
      }
    }
  }
}

/* 002 Landing page accordion component */
.block__accordion.block__lpa {
  padding: 2rem 0;

  @media (min-width: 768px) {
    padding: 3rem 0;
  }

  .accordion {
    gap: 0;
    border-radius: 15px;

    .accordion-item {
      border: 0;
      border-radius: 0;

      &:first-child {
        border-radius: 15px 15px 0 0;

        .accordion-header {
          button {
            border-radius: 15px 15px 0 0 !important;
          }
        }
      }

      &:last-child {
        border-radius: 0 0 15px 15px;

        .accordion-header {
          button {
            border-radius: 0 0 15px 15px !important;
          }
        }
      }

      .accordion-header {
        button {
          font-size: 1.125rem;
          font-weight: bold;
          border-radius: 0 !important;

          &:focus-visible {
            outline: 2px solid hsla(from currentColor h s calc(l + 50));
          }
        }
      }
    }
  }
}

.lpa__container {
  position: relative;
  max-width: 670px;
  margin: 0 auto;
  display: flex;
  flex-flow: column;
  gap: 2rem;

  .lpa__title {
    text-align: center;
    margin-bottom: 0;
    font-weight: bold;
  }
}

.block__lpa.default-purple {
  background-color: var(--csa-purple--pastel);
  color: var(--csa-purple--text);

  .accordion-item {
    &:not(:last-child) {
      border-bottom: 1px solid var(--csa-purple--accordion);
    }

    .accordion-header .accordion-button,
    .accordion-collapse .accordion-body {
      color: var(--csa-purple--text);
    }
  }
}

.block__lpa.green {
  background-color: var(--csa-green--pastel);
  color: var(--csa-green--text);

  .accordion-item {
    color: var(--csa-green--text);

    &:not(:last-child) {
      border-bottom: 1px solid var(--csa-green--accordion);
    }

    .accordion-header .accordion-button,
    .accordion-collapse .accordion-body {
      color: var(--csa-green--text);
    }
    .accordion-header .accordion-button,
    .accordion-collapse .accordion-body {
      color: var(--csa-green--text);
    }
    .accordion-header .accordion-button,
    .accordion-collapse .accordion-body {
      color: var(--csa-green--text);
    }

  }
}

.block__lpa.teal {
  background-color: var(--csa-teal--pastel);

  .accordion-item {
    &:not(:last-child) {
      border-bottom: 1px solid var(--csa-teal--accordion);
    }

    .accordion-header .accordion-button,
    .accordion-collapse .accordion-body {
      color: var(--csa-teal--text);
    }
  }
}

.block__lpa.blue {
  background-color: var(--csa-blue--pastel);

  .accordion-item {
    &:not(:last-child) {
      border-bottom: 1px solid var(--csa-blue--accordion);
    }

    .accordion-header .accordion-button,
    .accordion-collapse .accordion-body {
      color: var(--csa-blue--text);
    }
  }
}

.block__lpa.red {
  background-color: var(--csa-red--pastel);

  .accordion-item {
    &:not(:last-child) {
      border-bottom: 1px solid var(--csa-red--accordion);
    }

    .accordion-header .accordion-button,
    .accordion-collapse .accordion-body {
      color: var(--csa-red--text);
    }
  }
}

/* 003 Previous and onwards steps component */
.block__steps.steps {
  border-radius: 15px;

  .accordion-button:focus-visible {
    outline: 2px solid;
    outline-color: initial;
  }

  .accordion-item {
    background-color: transparent;
    border-radius: 15px;
    border: 0;
  }

  .accordion-body {
    padding: 0 1.5rem 1.25rem;
  }

  .accordion-header {
    margin-bottom: 0;

    .accordion-button {
      font-size: 1.25rem;
      font-weight: bold;
      border-radius: 15px !important;
      background-color: transparent;
      border: 0;
      box-shadow: none;

      &:after {
        background-image: none;
        width: 20px;
        height: 20px;
        mask-image: url(../../../images/icons/steps-minus.svg);
        background-color: currentColor;
        transition: none;
      }
    }

    .accordion-button[aria-expanded="false"] {
      &:after {
        mask-image: url(../../../images/icons/steps-plus.svg);
      }
    }
  }

  .steps__links {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;

    @media (min-width: 575px) {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  .steps__link {
    a {
      display: flex;
      height: 100%;
      align-items: center;
      padding: 1.5rem 1.25rem;
      background-color: var(--color-white);
      border-radius: 10px;
      text-decoration: none;
      font-weight: bold;
      line-height: 1.2;

      &:hover,
      &:focus {
        color: currentColor;
        text-decoration: underline;
        text-decoration-thickness: 2px;
        text-underline-offset: 3px;
      }
    }
  }
}

.steps.previous {
  background-color: var(--csa-red--pastel);

  .accordion-header {
    color: var(--csa-red--text);

    .accordion-button {
      color: currentColor;

      &:focus-visible {
        outline-color: var(--csa-red);
      }
    }
  }

  .steps__links {
    a {
      color: var(--csa-red--text);

      &:hover,
      &:focus {
        color: var(--csa-red--text);
        text-decoration-color: var(--csa-red--text);
        outline-color: var(--csa-red);
      }
    }
  }
}

.steps.onward {
  background-color: var(--csa-green--pastel);

  .accordion-header {
    color: var(--csa-green--text);

    .accordion-button {
      color: currentColor;

      &:focus-visible {
        outline-color: var(--csa-green);
      }
    }
  }

  .steps__links {
    a {
      color: var(--csa-green--text);

      &:hover,
      &:focus {
        color: var(--csa-green--text);
        text-decoration-color: var(--csa-green--text);
        outline-color: var(--csa-green);
      }
    }
  }
}
