/* =========================================================
   Helper Class: item-grid-gradient-dividers
   Add this class only to the Item Grid wrapper
   ========================================================= */
.item-grid-gradient-dividers {
  --divider-gradient: linear-gradient(
    180deg,
    #4F3BFF 0%,
    #D55169 50%,
    #DC722A 100%
  );
  --divider-gap: 70px;
  --divider-padding: -20px;
}
/* Desktop: 3 columns */
.item-grid-gradient-dividers .ep-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--divider-gap) !important;
  width: 100% !important;
  align-items: stretch !important;
}
/* Reset native Enfold item grid behavior */
.item-grid-gradient-dividers .ep-item, .item-grid-gradient-dividers .ep-grid-column, .item-grid-gradient-dividers .one-third, .item-grid-gradient-dividers .one-full-mobile, .item-grid-gradient-dividers .one-full-tablet {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
  position: relative !important;
  text-align: center !important;
}
/* Item inner */
.item-grid-gradient-dividers .ep-item-inner {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 40px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}
/* Gradient divider between desktop columns */
.item-grid-gradient-dividers .ep-item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: var(--divider-padding);
  bottom: var(--divider-padding);
  right: calc(var(--divider-gap) / -2);
  width: 1px;
  background: var(--divider-gradient);
}
/* Content wrapper */
.item-grid-gradient-dividers .ep-item-contents {
  max-width: 320px !important;
  margin: 0 auto !important;
  text-align: center !important;
}
/* Heading */
.item-grid-gradient-dividers .ep-item-title, .item-grid-gradient-dividers .ep-item-title a, .item-grid-gradient-dividers h3, .item-grid-gradient-dividers h4, .item-grid-gradient-dividers h5 {
  color: #2F2F31 !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  font-weight: 400 !important;
  text-align: center !important;
  margin: 0 0 16px !important;
}
/* Content */
.item-grid-gradient-dividers .ep-item-content, .item-grid-gradient-dividers .ep-item-content p, .item-grid-gradient-dividers .ep-item-contents p {
  color: #2F2F31 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  font-weight: 300 !important;
  text-align: center !important;
  margin: 0 !important;
}
/* Remove extra spacing */
.item-grid-gradient-dividers .ep-item-content p:last-child, .item-grid-gradient-dividers .ep-item-contents p:last-child {
  margin-bottom: 0 !important;
}
/* Remove hover/default effects */
.item-grid-gradient-dividers .ep-item:hover, .item-grid-gradient-dividers .ep-item-inner:hover, .item-grid-gradient-dividers .ep-item-contents:hover, .item-grid-gradient-dividers .ep-item a:hover {
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
/* =========================
   Tablet: 1 column, left aligned
   ========================= */
@media only screen and (max-width: 989px) {
  .item-grid-gradient-dividers .ep-grid {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  .item-grid-gradient-dividers .ep-item, .item-grid-gradient-dividers .ep-item-inner, .item-grid-gradient-dividers .ep-item-contents {
    text-align: left !important;
  }
  .item-grid-gradient-dividers .ep-item-inner {
    padding: 0 !important;
  }
  .item-grid-gradient-dividers .ep-item-contents {
    max-width: 100% !important;
    margin: 0 !important;
  }
  .item-grid-gradient-dividers .ep-item-title, .item-grid-gradient-dividers .ep-item-title a, .item-grid-gradient-dividers h3, .item-grid-gradient-dividers h4, .item-grid-gradient-dividers h5 {
    text-align: left !important;
  }
  .item-grid-gradient-dividers .ep-item-content, .item-grid-gradient-dividers .ep-item-content p, .item-grid-gradient-dividers .ep-item-contents p {
    text-align: left !important;
  }
  .item-grid-gradient-dividers .ep-item:not(:last-child)::after {
    display: none !important;
  }
}
/* =========================
   Mobile: 1 column, left aligned
   ========================= */
@media only screen and (max-width: 767px) {
  .item-grid-gradient-dividers .ep-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .item-grid-gradient-dividers .ep-item, .item-grid-gradient-dividers .ep-item-inner, .item-grid-gradient-dividers .ep-item-contents {
    text-align: left !important;
  }
  .item-grid-gradient-dividers .ep-item-inner {
    padding: 0 !important;
  }
  .item-grid-gradient-dividers .ep-item-contents {
    max-width: 100% !important;
    margin: 0 !important;
  }
  .item-grid-gradient-dividers .ep-item-title, .item-grid-gradient-dividers .ep-item-title a, .item-grid-gradient-dividers h3, .item-grid-gradient-dividers h4, .item-grid-gradient-dividers h5 {
    font-size: 19px !important;
    text-align: left !important;
  }
  .item-grid-gradient-dividers .ep-item-content, .item-grid-gradient-dividers .ep-item-content p, .item-grid-gradient-dividers .ep-item-contents p {
    font-size: 14px !important;
    text-align: left !important;
  }
  .item-grid-gradient-dividers .ep-item:not(:last-child)::after {
    display: none !important;
  }
}
/* =========================
   Tablet + Mobile: 1 column with left gradient line
   ========================= */
@media only screen and (max-width: 989px) {
  /* Hide desktop divider */
  /* Left gradient line per row */
  .item-grid-gradient-dividers .ep-grid {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  .item-grid-gradient-dividers .ep-item {
    position: relative !important;
    padding-left: 40px !important;
  }
  .item-grid-gradient-dividers .ep-item:not(:last-child)::after {
    display: none !important;
  }
  .item-grid-gradient-dividers .ep-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 1px;
    background: linear-gradient(180deg, #4F3BFF 0%, #D55169 50%, #DC722A 100%);
  }
  .item-grid-gradient-dividers .ep-item-inner {
    padding: 0 !important;
    text-align: left !important;
  }
  .item-grid-gradient-dividers .ep-item-contents {
    max-width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
  }
  .item-grid-gradient-dividers .ep-item-title, .item-grid-gradient-dividers .ep-item-title a, .item-grid-gradient-dividers h3, .item-grid-gradient-dividers h4, .item-grid-gradient-dividers h5, .item-grid-gradient-dividers .ep-item-content, .item-grid-gradient-dividers .ep-item-content p, .item-grid-gradient-dividers .ep-item-contents p {
    text-align: left !important;
  }
}
/* =========================
   Mobile adjustments
   ========================= */
@media only screen and (max-width: 767px) {
  .item-grid-gradient-dividers .ep-grid {
    gap: 32px !important;
  }
  .item-grid-gradient-dividers .ep-item {
    padding-left: 28px !important;
  }
  .item-grid-gradient-dividers .ep-item::before {
    width: 1px;
  }
}
/* =========================
   Mobile: more spacing between items
   ========================= */
@media only screen and (max-width: 767px) {
  .item-grid-gradient-dividers .ep-grid {
    gap: 50px !important;
    row-gap: 50px !important;
  }
}
