.main-container {
    padding: 3.2rem 1.6rem;
}

.main-container--vc {
    background: #001136;
}
  
  @media (min-width: 768px) {
    .main-container {
      padding: 4rem 0;
    }
  }
  
  .main-container--vc {
    padding: 3.2rem 1.6rem;
  }
  
  @media (min-width: 768px) {
    .main-container--vc {
      padding: 4rem 0;
    }
  }
  
  .narrow-card-container, .narrow-card-container--light {
      position: relative;
      width: 100%;
      border-radius: 40px;
      overflow: hidden;
      background: #efefef;
      color: #FFFFFF;
  
      height: 490px;
      width: 100%;
  }
  
  @media (min-width: 767px) {
    .narrow-card-container {
      height: 490px;
      width: 647px;
    }
  }
  
  @media (min-width: 1200px) {
    .narrow-card-container {
      height: 490px;
      width: 385px;
    }
  }
  
  @media (min-width: 1440px) {
    .narrow-card-container {
      height: 490px;
      width: 385px;
    }
  }
  
  .narrow-card-container .ta-carousel-arrows__arrow-next, .narrow-card-container--light .ta-carousel-arrows__arrow-next {
      background: #FFFFFF;
      color: #122ac2;
  }
  
  .narrow-card-container--auto-height {
    height: auto;
    max-height: 15.4rem;
  }
  
  .narrow-card-container--auto-height a {
      text-decoration: none;
  }
  
  @media (min-width: 768px) {
    .narrow-card-container--auto-height {
      width: 100%;
      max-width: 53.2rem;
      max-height: 15.4rem;
    }
  }
  
  @media (min-width: 1280px) {
    .narrow-card-container--auto-height {
      max-width: 59.2rem;
    }
  }
  
  .narrow-card-container--col-2 {
      width: 100%;
      height: 49rem;
  }
  
  @media (min-width: 768px) {
      .narrow-card-container--col-2 {
          max-width: 58.8rem;
      }
  }
  
    
  .narrow-card-container--vc {
      background-image: url('https://risorsec.tim.it/content/dam/flytoco-areapubblica-aemfe/tim_it/img/offerte-tv/card/bg-card.jpg');
      background-size: cover;
      border: 1px solid #FFF;
  }
  
  .narrow-card-container--mytim {
    background-image: url('https://risorsec.tim.it/content/dam/flytoco-areapubblica-aemfe/tim_it/img/offerte-tv/card/bg-card.jpg');
      background-size: cover;
      border: 1px solid #FFF;
  }
  
  .narrow-card-bg {
    position: relative;
    background-repeat: no-repeat;
    background-size: cover;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
  
    picture {
      width: 100%;
      height: 100%;
      display: block;
    }
  
    img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      object-position: center;
    }
  }
  
  .card-container {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
    flex-direction: column;
  }
  
  .main-container--vc .card-container {
    gap: 2.4rem;
  }
  
  @media (min-width: 1024px) {
    .card-container {
      flex-direction: row;
    }
  
    .main-container--vc .card-container {
      gap: 1.6rem;
    }
  }
  
  
  .heading-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    color: black;
    text-align: center;
    margin-bottom: 3.2rem;
    padding: 0 1.6rem;
  }
  
  .heading-section h2 {
      font-size: 24px;
      line-height: 32px;
  }
  
  .heading-section p {
      font-size: 14px;
      line-height: 20px;
  }
  
  @media (min-width: 767px) {
      
      .heading-section {
          padding: 0 calc(1/12 * 100vw);
      }
  
      .heading-section h2 {
          font-size: 40px;
          font-weight: 500;
      }
  }
  
  @media (min-width: 1280px) {
      .heading-section {
          padding: 0 16.6666666667vw;
      }
  }
  
  
  .narrow-card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    padding: 32px;
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    justify-content: flex-start;
  }
  
  .content-wrapper {
    display: flex;
    flex-direction: column;
    gap: .8rem;
    flex: 1 1 0%;
    min-height: 0;
  }
  
  .narrow-card-container--auto-height .content-wrapper {
      padding: 3.2rem;
      width: 100%;
      height: 100%;
  }
  
  .content-wrapper h2, 
  .content-wrapper h3 {
    font-size: 20px;
    font-weight: 700;
    line-height: 27px;
  }
  
  @media (min-width: 768px) {
    .content-wrapper h2, 
    .content-wrapper h3 {
      font-size: 28px;
      line-height: 31px;
    }
  }
  
  .content-wrapper p {
    font-size: 16px;
    line-height: 20px;
  }
  
  #paragraph {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    font-weight: 400;
  }
  
  .bottom-container {
    flex: 1 1 0%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 100%;
    min-height: 0;
  }
  
  .bottom-bar {
    display: flex;
    gap: 2rem;
  }
  
  .l-box {
    width: 100%;
    align-items: center;
  }
  
  .r-box {
    width: auto;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-end;
  }