.carousel {
  background-color: #694EC8;
  color: #FFFFFF;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 3rem 2.875rem;
  border-radius: 1.125rem;
  touch-action: pan-y;
  overflow: hidden; }
  .carousel .title {
    margin: 0;
    font-size: 2rem; }
  .carousel .center {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #FFFFFF;
    gap: 4.5rem; }
  .carousel .nav-btn {
    border: none;
    background-color: #E1DCF4;
    border-radius: 50%;
    padding: .5rem;
    line-height: 0;
    height: min-content;
    width: min-content;
    cursor: pointer;
    transition: all 0.3s ease; }
    .carousel .nav-btn:hover:not(:disabled) {
      background-color: #c0b5e8; }
    .carousel .nav-btn:disabled {
      background-color: #DADDE1;
      opacity: 0.3;
      cursor: not-allowed; }
  .carousel .body {
    width: 100%;
    min-height: 270px;
    padding: 2rem 0;
    transition: opacity 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1rem;
    overflow-y: auto;
    box-sizing: border-box; }
    .carousel .body::-webkit-scrollbar {
      width: 5px; }
    .carousel .body::-webkit-scrollbar-track {
      background: rgba(255, 255, 255, 0.1);
      border-radius: 10px; }
    .carousel .body::-webkit-scrollbar-thumb {
      background-color: rgba(255, 255, 255, 0.3);
      border-radius: 10px; }
  .carousel .icon-text {
    display: flex;
    text-align: start;
    gap: 0.5rem; }
  .carousel .paragraph {
    margin: 0; }
    .carousel .paragraph .enphasis {
      font-size: 16px;
      font-weight: 700; }
  .carousel .step-indicator {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 2rem; }
    .carousel .step-indicator .indicator {
      width: 0.5rem;
      height: 0.5rem;
      border-radius: 50%;
      background-color: rgba(255, 255, 255, 0.3);
      cursor: pointer;
      transition: all 0.3s ease; }
      .carousel .step-indicator .indicator.active {
        background-color: #FFFFFF;
        transform: scale(1.2); }
      .carousel .step-indicator .indicator:hover:not(.active) {
        background-color: rgba(255, 255, 255, 0.6); }
  @media screen and (max-width: 700px) {
    .carousel {
      padding: 2rem 1.5rem; }
      .carousel::after {
        content: '';
        position: absolute;
        bottom: 0.5rem;
        left: 50%;
        transform: translateX(-50%);
        width: 4rem;
        height: 0.25rem;
        background-color: rgba(255, 255, 255, 0.3);
        border-radius: 1rem;
        pointer-events: none; }
      .carousel .title {
        font-size: 1.5rem; }
      .carousel .nav-btn {
        display: none; }
      .carousel .center {
        margin: 0;
        gap: 2.5rem; }
      .carousel .step-indicator {
        margin-top: 1.5rem; }
      .carousel .paragraph {
        font-size: 14px; }
        .carousel .paragraph .enphasis {
          font-size: 14px; } }
