/**
 * @file
 * Ionis Media Row component styles.
 */

.ionis-media-row {
  padding-top: 2rem; 
}

/* Specific selector to override layout container styles */
.ionis-media-row .ionis-media-row__header h4.ionis-media-row__title,
.ionis-media-row > h4 {
  /* Box Model */
  box-sizing: border-box;
  display: block;
  height: 66px;
  margin: 0 46px 30px;
  padding: 20px 0;
  
  /* Typography */
  font-size: 19px;
  font-weight: 500;
  line-height: 26px;
  text-align: center;
  color: var(--color-purple);
  
  /* Background */
  background-color: var(--color-light-gray);
}

/* Base layout for media row */
.ionis-media-row__content {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.25rem 3.125rem;
}

/* Default 2-column layout */
.ionis-media-row--cols-2 .ionis-media-row__content > .ionis-media-item-paragraph,
.ionis-media-row__content > .ionis-media-item-paragraph {
  flex: 1 1 calc(50% - 15px); 
  max-width: 100%;
  box-sizing: border-box;
}

/* 3-column layout */
.ionis-media-row--cols-3 .ionis-media-row__content > .ionis-media-item-paragraph {
  flex: 1 1 calc(33.333% - 20px); 
  min-width: 250px; 
}

.ionis-media-row__content > .ionis-media-item-paragraph-image:nth-child(even) {  
  border-left: 1px solid var(--color-black); 
}

.ionis-media-row__content > .ionis-media-item-paragraph-document:not(:nth-child(3n+1)) {  
  border-left: 1px solid var(--color-black); 
}

/* Responsive adjustments */
@media (max-width: 1024px) {
  .ionis-media-row__content > .ionis-media-item-paragraph,
  .ionis-media-row--cols-2 .ionis-media-row__content > .ionis-media-item-paragraph,
  .ionis-media-row--cols-3 .ionis-media-row__content > .ionis-media-item-paragraph {
    flex: 1 1 100%; 
  }
  .ionis-media-row__content > .ionis-media-item-paragraph-image:nth-child(even) {
    border-left: none;
  }

  .ionis-media-row__content > .ionis-media-item-paragraph-document:not(:nth-child(3n+1)) {
    border-left: none;
  }
  .ionis-media-row__content > .ionis-media-item-paragraph-image:not(:first-child),
  .ionis-media-row__content > .ionis-media-item-paragraph-document:not(:first-child) {  
    border-top: 1px solid var(--color-black); 
  }
}

