/* Malla Banking Academy - Payments Hub library overview polish.
   Additive only: improves card readability, icon stability, and mobile spacing. */

.libSectionCard,
.libCard {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  -webkit-tap-highlight-color: transparent;
}

.libSectionCard {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) 34px !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 84px !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.68) !important;
  background:
    radial-gradient(circle at 8% 10%, rgba(255, 255, 255, 0.72), transparent 32%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.64), rgba(236, 248, 255, 0.50)) !important;
}

.libSectionCard > div:first-child,
.libCard > div:first-child {
  flex-shrink: 0 !important;
  justify-self: start !important;
}

.libSectionCard > div:first-child {
  width: 50px !important;
  height: 50px !important;
}

.libSectionCard > div:nth-child(2),
.libCard > div:nth-child(2) {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  justify-self: stretch !important;
}

.libSectionCard > div:nth-child(2) > div:first-child {
  color: #0f172a !important;
  font-size: clamp(14px, 3.7vw, 16px) !important;
  font-weight: 850 !important;
  line-height: 1.22 !important;
  letter-spacing: -0.18px !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.libSectionCard > div:nth-child(2) > div:nth-child(2) {
  color: rgba(30, 41, 59, 0.74) !important;
  font-size: clamp(11.5px, 3.05vw, 12.5px) !important;
  font-weight: 600 !important;
  line-height: 1.42 !important;
  margin-top: 3px !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.libSectionCard > div:last-child {
  flex-shrink: 0 !important;
  justify-self: end !important;
  width: 32px !important;
  height: 32px !important;
}

.libCard {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 62px !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.62) !important;
  background:
    radial-gradient(circle at 10% 15%, rgba(255, 255, 255, 0.70), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.60), rgba(239, 246, 255, 0.48)) !important;
}

/* Topic rows in GroupedSubcardsContent contain only number + text.
   Do not style the text block as a tiny trailing arrow. */
.libCard > div:first-child {
  width: 32px !important;
  height: 32px !important;
  grid-column: 1 !important;
}

.libCard > div:nth-child(2) {
  grid-column: 2 !important;
  color: #111827 !important;
  font-size: clamp(13px, 3.45vw, 14.5px) !important;
  font-weight: 750 !important;
  line-height: 1.32 !important;
  letter-spacing: -0.12px !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.libCard > div:nth-child(2) > div:first-child {
  color: #111827 !important;
  font-size: clamp(13px, 3.45vw, 14.5px) !important;
  font-weight: 750 !important;
  line-height: 1.32 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
}

.libCard > div:nth-child(2) > div:nth-child(2) {
  color: rgba(31, 41, 55, 0.70) !important;
  font-size: clamp(11px, 3vw, 12px) !important;
  font-weight: 520 !important;
  line-height: 1.45 !important;
  margin-top: 4px !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
}

.libSectionCard:focus-visible,
.libCard:focus-visible {
  outline: 2px solid rgba(37, 99, 235, 0.70) !important;
  outline-offset: 3px !important;
}

@media (hover: hover) {
  .libSectionCard:hover,
  .libCard:hover {
    transform: translateY(-1px) !important;
    box-shadow:
      0 10px 26px rgba(15, 23, 42, 0.10),
      0 2px 8px rgba(15, 23, 42, 0.06),
      inset 0 1px 0 rgba(255, 255, 255, 0.76) !important;
  }
}

@media (max-width: 430px) {
  .libSectionCard {
    grid-template-columns: 48px minmax(0, 1fr) 32px !important;
    gap: 12px !important;
    min-height: 86px !important;
    padding: 15px 14px !important;
    border-radius: 18px !important;
  }

  .libSectionCard > div:first-child {
    width: 46px !important;
    height: 46px !important;
  }

  .libCard {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 10px !important;
    min-height: 64px !important;
    padding: 14px 13px !important;
    border-radius: 15px !important;
  }
}

@media (max-width: 360px) {
  .libSectionCard {
    grid-template-columns: 44px minmax(0, 1fr) 30px !important;
    gap: 10px !important;
    padding: 14px 12px !important;
  }

  .libSectionCard > div:first-child {
    width: 42px !important;
    height: 42px !important;
  }

  .libCard {
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 9px !important;
    padding: 13px 11px !important;
  }
}