.icon-square {
    width: 40px;
    height: 40px;
    background-color: #d1f0f5;
    color: #0caab1;
    transition: 0.3s;
}

.category-card {
    transition: 0.3s ease;
    border: 1px solid #f0f0f0;
}

.category-card:hover {
    box-shadow: 0 4px 12px rgba(12, 170, 177, 0.2);
    background-color: #f0fbfc;
}

.category-card:hover .icon-square {
    background-color: #0caab1;
    color: #fff;
}

.category-card.highlighted .icon-square {
    background-color: #0caab1;
    color: #fff;
}

.category-card.highlighted {
    box-shadow: 0 6px 16px rgba(12, 170, 177, 0.25);
}

.category-title {
    font-size: 14px;
    color: #004b4d;
}

.category-card:hover .category-title,
.category-card:hover small {
    color: #0caab1;
}

/* Trending Pills Carousel */
.trending-wrapper {
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  padding: 10px 0;
  margin: 0 -5px;
}
.trending-wrapper::-webkit-scrollbar { display: none; }
.trending-wrapper { -ms-overflow-style: none; scrollbar-width: none; }
.trending-pill {
  display: inline-block;
  margin: 0 5px;
  padding: 8px 16px;
  border: 1px solid #dee2e6;
  background: #fff;
  border-radius: 999px;
  font-size: 14px;
  color: #212529;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.trending-pill:hover {
      background-color: #0d6efd;
      color: #fff;
      text-decoration: none;
}
.trending-controls {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 5px;
      margin-bottom: 5px;
}
.trending-btn {
      background: none;
      border: none;
      font-size: 1rem;
      color: #6c757d;
      cursor: pointer;
}
.trending-btn:hover { color: #0d6efd; }

.how-steps .step {
    width: 180px;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.how-steps .step:hover {
transform: translateY(-3px);
box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

.step-icon {
    width: 50px;
    height: 50px;
    background-color: #d1f0f5;
    color: #0caab1;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    margin: 0 auto 0.5rem;
    transition: all 0.3s ease;
}

.step.active .step-icon,
.step-icon.active {
    background-color: #0caab1;
    color: #fff;
}

/* Hover: change icon bg & text color like active */
.how-steps .step:hover .step-icon {
    background-color: #0caab1;
    color: #fff;
}

.arrow {
    width: 60px;
    height: 20px;
    background: url('data:image/svg+xml;utf8,<svg width="60" height="20" xmlns="http://www.w3.org/2000/svg"><path d="M0 10 Q30 -10 60 10" stroke="%23c0c0c0" stroke-width="2" fill="none" stroke-dasharray="4"/></svg>') no-repeat center;
    background-size: contain;
}

.join-card {
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.join-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    transform: translateY(-2px);
}