/* [TFH-004:TFH_DYNAMIC_MENU:CSS-START] */
.tfh-menu-scroll {
  min-height: 0;
  overflow: auto;
  padding: 2px 5px 26px 1px;
  scrollbar-width: thin;
}

.tfh-menu-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
  gap: 16px;
  align-content: start;
}

.tfh-menu-card {
  min-height: 142px;
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 15px;
  padding: 20px;
  border: 1px solid rgba(17, 49, 84, 0.12);
  border-radius: 17px;
  color: var(--tfh-ink-900);
  background:
    linear-gradient(145deg, rgba(255,255,255,0.98), rgba(245,248,251,0.96));
  box-shadow:
    0 11px 26px rgba(8,27,49,0.07),
    inset 0 1px 0 rgba(255,255,255,0.85);
  text-align: left;
  cursor: pointer;
  transition:
    transform 160ms ease,
    box-shadow 160ms ease,
    border-color 160ms ease;
}

.tfh-menu-card::after {
  content: "";
  position: absolute;
  width: 120px;
  height: 120px;
  right: -65px;
  bottom: -70px;
  border-radius: 50%;
  background: rgba(47,127,196,0.055);
}

.tfh-menu-card:hover {
  transform: translateY(-2px);
  border-color: rgba(29,95,159,0.26);
  box-shadow:
    0 17px 34px rgba(8,27,49,0.11),
    inset 0 1px 0 rgba(255,255,255,0.9);
}

.tfh-menu-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: #fff;
  background: linear-gradient(145deg, var(--tfh-blue-600), var(--tfh-navy-800));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.22),
    0 10px 18px rgba(18,52,92,0.18);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.tfh-menu-copy {
  min-width: 0;
  position: relative;
  z-index: 1;
  display: grid;
  gap: 6px;
}

.tfh-menu-copy strong {
  font-size: 0.98rem;
  line-height: 1.25;
}

.tfh-menu-copy span {
  color: var(--tfh-ink-600);
  font-size: 0.72rem;
  line-height: 1.45;
}

.tfh-menu-copy em {
  width: fit-content;
  padding: 4px 7px;
  border-radius: 999px;
  color: var(--tfh-gold-600);
  background: rgba(185,135,50,0.10);
  font-size: 0.6rem;
  font-style: normal;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.tfh-empty-menu {
  grid-column: 1 / -1;
  min-height: 230px;
  display: grid;
  place-items: center;
  padding: 30px;
  border: 1px dashed rgba(17,49,84,0.18);
  border-radius: 18px;
  color: var(--tfh-ink-600);
  background: rgba(255,255,255,0.52);
  text-align: center;
}
/* [TFH-004:TFH_DYNAMIC_MENU:CSS-END] */
/* [TFH-004:TFH_DYNAMIC_MENU:V027-CSS-START] */
.tfh-menu-card:has(.tfh-menu-copy > strong:first-child) {
  min-width: 0;
}
/* [TFH-004:TFH_DYNAMIC_MENU:V027-CSS-END] */
