.newsletter-carousel__header-container{
    display: flex;
    justify-content: space-between;
    align-items:center;
    margin-bottom: 1rem;
    column-gap: 3rem;
    row-gap:10px;
}

.newsletter-carousel-header{
    font-size: 30px;
    font-weight: 700;
    margin:0;
    color:var(--e-global-color-primary);
}

.newsletter-carousel__header-container .newsletter-carousel-header .newsletter-carousel-header-span{
    color:white !important;
    position: relative;
    top: -3px;
}

.newsletter-carousel__form{
    display: flex;
    align-items:center;
    flex-grow: 1;
    flex-wrap: wrap;
}

.newsletter-carousel__form-input-container{
    display: flex;
    align-items:center;
    flex-grow:1;
    justify-content: flex-end;
}

.newsletter-message{
    margin:0 20px 0 0;
    white-space: nowrap;
    color:var(--e-global-color-primary);
}

.newsletter-carousel__form input[type="email"]{
    border: 1px solid #dcdcdc;
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    max-width: 350px;
}

.newsletter-carousel__form input[type="email"]:focus{
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

.newsletter-carousel__form input[type="email"]::placeholder{
    color: #dcdcdc;
}

.newsletter-carousel__submit-btn{
    color: white;
    background-color: var(--e-global-color-primary);
    border: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 700;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.newsletter-carousel__submit-btn:hover,.newsletter-carousel__submit-btn:focus,.newsletter-carousel__submit-btn:active{
    color: white;
    background-color: black;
}

.newsletter-carousel, .newsletter-carousel__container, .newsletter-carousel__slide, .newsletter-card{
    position: relative;
}

.newsletter-carousel{
    display: flex;
    justify-content: center;
}

.newsletter-carousel__container{
    width: 97%;
    padding: 0 1.55rem;
    overflow: hidden;
}

.newsletter-carousel__track{
    display: flex;
    gap: var(--slide-gap, 35px);
    padding: 1rem 0;
}

.newsletter-carousel__slide{
    flex: 0 0 calc((100% - (var(--slide-gap, 35px) * (var(--slides-per-page, 5) - 1))) / var(--slides-per-page, 5));
}

.newsletter-card{
    padding: 25px 35px;
    background-color: #fff;
    height:250px;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
}

.newsletter-card__content{
    display: flex;
    flex-direction: column;
    gap:10px;
}

.newsletter-card__title{
    margin:0;
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    min-height: calc(1.2rem * 2);
}

.newsletter-card__brand-name{
    font-size: 18px;
    font-weight: bold;
    line-height: 1.2;
}

.newsletter-card__name{
    font-size: 16px;
    font-style: italic;
    line-height: 1.2;
}

.newsletter-card__description{
    font-size: 13px;
    color: #666;
    margin: 0;
    line-height: 1.2;
    display: -webkit-box; 
    -webkit-line-clamp: 8;
    -webkit-box-orient: vertical;
    line-clamp: 8;
    block-overflow: ellipsis;
    overflow: hidden;
}

.newsletter-card__shadow{
    position: absolute;
    bottom: 0;
    left: 10px;
    height: 185px;
    width:100%;
    background-color: var(--e-global-color-primary);
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
}

.newsletter-card__subscribe-btn{
    position: absolute;
    top:100%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    width: 25px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: none;
    background-color: var(--e-global-color-primary);
    color: #fff;
    font-size: 18px;
    line-height: 1.3;
    font-weight: bold;
    padding:0;
    transition: all 0.3s ease;
}

.newsletter-card__subscribe-btn:focus{
    background-color: var(--e-global-color-primary);
}

.newsletter-card__subscribe-btn:hover, .newsletter-card__subscribe-btn:active{
    background-color: rgb(44, 150, 71);
}

.newsletter-card__subscribe-btn--subscribed,.newsletter-card__subscribe-btn--subscribed:focus,.newsletter-card__subscribe-btn--subscribed:active{
    font-size: 14px;
    font-weight: 800;
    background-color: rgb(44, 150, 71);
}

/* Navigation */

.newsletter-carousel__navigation{
    position: absolute;
    transform: translate(-50%, -50%);
    width: 100%;
    display: flex; 
}

.newsletter-carousel__navigation button{
    background:none;
    border:none;
    cursor:pointer;
    padding: 0;
    font-size: 30px;
    color: var(--e-global-color-primary);
}

.newsletter-nav-pos--middle .newsletter-carousel__navigation{
    left: 50%;
    top: 50%;
    justify-content: space-between;
}

.newsletter-nav-pos--bottom-middle .newsletter-carousel,.newsletter-nav-pos--bottom-right .newsletter-carousel,.newsletter-nav-pos--bottom-left .newsletter-carousel{
    padding-bottom: 2rem;
}

.newsletter-nav-pos--bottom-middle .newsletter-carousel__navigation, .newsletter-nav-pos--bottom-right .newsletter-carousel__navigation, .newsletter-nav-pos--bottom-left .newsletter-carousel__navigation{
    left: 50%;
    top: 95%;
    gap: 10px;
}

.newsletter-nav-pos--top-middle .newsletter-carousel__container,.newsletter-nav-pos--top-right .newsletter-carousel__container,.newsletter-nav-pos--top-left .newsletter-carousel__container{
    padding-top: 2rem;
}

.newsletter-nav-pos--top-middle .newsletter-carousel__navigation,.newsletter-nav-pos--top-right .newsletter-carousel__navigation,.newsletter-nav-pos--top-left .newsletter-carousel__navigation{
    left: 50%;
    bottom: 80%;
    gap: 10px;
}

.newsletter-nav-pos--top-middle .newsletter-carousel__navigation, .newsletter-nav-pos--bottom-middle .newsletter-carousel__navigation{
    justify-content: center;
}

.newsletter-nav-pos--top-right .newsletter-carousel__navigation, .newsletter-nav-pos--bottom-right .newsletter-carousel__navigation{
    justify-content: flex-end;
    padding-right: 2rem;
}

.newsletter-nav-pos--top-left .newsletter-carousel__navigation, .newsletter-nav-pos--bottom-left .newsletter-carousel__navigation{
    justify-content: flex-start;
    padding-left: 2rem;
}

/* Sliding Transition CSS */

  /* Shift Track to there's always a slide to the left of the first one */
  /* .newsletter-carousel__track{
    transform: translateX(calc((-100% - var(--slide-gap, 35px)) / var(--slides-per-page, 5)))
  } */

  .newsletter-carousel__slide {
    transition: transform 0.5s ease;
  }

  .newsletter-carousel__slide.active-left {
    transform: translateX(119%);
  }

  .newsletter-carousel__slide.active-right {
    transform: translateX(-119%);
  }


  /* Modal CSS */

  .newsletter-carousel__modal{
    position: fixed;
    top: 0;
    background: #2f2f2fc7;
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index:10;
  }

  .newsletter-carousel__modal-content{
    background: white;
    padding: 2.5rem 3rem;
    border-radius: 5px;
    position: relative;
  }

  .newsletter-carousel__modal-close-btn{
        position: absolute;
        background: var(--e-global-color-primary);
        border: none;
        padding: 0;
        color: white;
        font-weight: bold;
        font-size: 14px;
        width: 25px;
        height: 25px;
        border-radius: 50px;
        bottom: 100%;
        left: 100%;
        cursor: pointer;
  }

  .newsletter-carousel__modal-content h3{
    font-weight: bold;
    text-align: center;
    font-size: 24px;
    margin-bottom: 30px;
  }

  .newsletter-carousel__modal-content form{
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 25px;
    row-gap: 15px;
  }

  .newsletter-carousel__modal-email-wrapper, .newsletter-carousel__modal-content form button{
    grid-column: span 2;
  }

  .newsletter-carousel__modal-content form button{
    margin-top: 15px;
  }

  .newsletter-carousel__modal-content form .input-wrapper label{
    font-weight: 700;
    font-size: 14px;
  }

  .newsletter-carousel__modal-content form .input-wrapper label .required{
    color: red;
  }

  .newsletter-carousel__modal-content form .input-wrapper input, .newsletter-carousel__modal-content form .input-wrapper select{
    font-size: 14px;
    border: 1px solid #e0e0e0;
    border-radius: 3px;
    padding: .5rem 1rem;
    transition: all .3s;
    width: 100%;
  }

  @media (max-width: 850px) {

    .newsletter-carousel__container {
        width: 90%;
    }

    .newsletter-carousel__form{
        flex-direction: column;
        align-items: flex-end;
        gap:10px;
    }

    .newsletter-message{
        margin:0;
    }
}

@media (max-width: 600px) {

    .newsletter-carousel__header-container{
        flex-wrap: wrap;
    }

    .newsletter-carousel__container {
        width: 75%;
        padding: 0 0.55rem;
    }

    .newsletter-carousel__form{
        align-items: flex-start;
    }


    .newsletter-carousel__form-input-container{
        flex-direction: column;
        width: 100%;
    }

    .newsletter-carousel__submit-btn{
        width:100%;
    }

}
    