
/* ThisFont discovery upgrade: glyphs, emoji, GIFs, groups, foundries and footer. */

.tf-discovery-tabs{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:22px
}
.tf-discovery-tabs a{
  display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #e4e7ec;
  border-radius:999px;background:#fff;color:#344054!important;text-decoration:none!important;font-weight:750;font-size:.86rem
}
.tf-discovery-tabs a:hover,.tf-discovery-tabs a.is-active{background:#101828;color:#fff!important;border-color:#101828}
.tf-discovery-tabs .tab-mark{font-size:1rem;line-height:1}

.tf-discovery-toolbar{
  display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.42fr) auto;gap:12px;
  align-items:end;padding:16px;border:1px solid #e4e7ec;border-radius:18px;background:#fff
}
.tf-discovery-toolbar .field{min-width:0}
.tf-discovery-toolbar label{display:block;font-size:.72rem;font-weight:800;color:#475467;margin-bottom:7px}
.tf-discovery-toolbar input,.tf-discovery-toolbar select{
  width:100%;min-height:44px;border:1px solid #d0d5dd;border-radius:11px;padding:0 12px;background:#fff;color:#101828
}
.tf-discovery-meta{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center;margin:18px 0 10px;color:#667085;font-size:.82rem
}
.tf-discovery-meta strong{color:#101828}

.tf-discovery-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px
}
.tf-discovery-card{
  min-width:0;border:1px solid #e4e7ec;border-radius:18px;background:#fff;overflow:hidden;
  box-shadow:0 1px 2px rgba(16,24,40,.03);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease
}
.tf-discovery-card:hover{transform:translateY(-2px);border-color:#cfd4dc;box-shadow:0 12px 30px rgba(16,24,40,.07)}
.tf-discovery-preview{
  min-height:155px;display:grid;place-items:center;background:linear-gradient(135deg,#f8fafc,#f2f4f7);
  color:#101828!important;text-decoration:none!important;overflow:hidden
}
.tf-discovery-glyph{font-size:clamp(3.6rem,7vw,6rem);line-height:1}
.tf-discovery-emoji{font-size:clamp(3.7rem,7vw,5.7rem);line-height:1}
.tf-discovery-gif{width:100%;height:180px;object-fit:cover;display:block;background:#f8fafc}
.tf-discovery-card-body{padding:14px 14px 13px}
.tf-discovery-card-kicker{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;color:#98a2b3;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.tf-discovery-card h2{font-size:.98rem;line-height:1.25;margin:0 0 5px}
.tf-discovery-card h2 a{color:#101828!important;text-decoration:none!important}
.tf-discovery-card p{margin:0;color:#667085;font-size:.76rem;line-height:1.45;min-height:2.2em}
.tf-card-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.tf-mini-action{
  appearance:none;border:1px solid #d0d5dd;border-radius:9px;background:#fff;padding:7px 9px;color:#344054;
  font-size:.72rem;font-weight:800;cursor:pointer;text-decoration:none!important
}
.tf-mini-action:hover{border-color:#98a2b3;background:#f8fafc;color:#101828}
.tf-mini-action.primary{background:#101828;border-color:#101828;color:#fff!important}
.tf-mini-action.primary:hover{background:#1d2939}

.tf-pagination{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:28px;flex-wrap:wrap}
.tf-pagination a,.tf-pagination span{min-width:40px;height:40px;display:grid;place-items:center;padding:0 10px;border-radius:10px;border:1px solid #e4e7ec;text-decoration:none!important;color:#344054!important;font-weight:750;font-size:.8rem}
.tf-pagination .is-current{background:#101828;color:#fff!important;border-color:#101828}

.tf-foundry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tf-foundry-card{display:flex;flex-direction:column;gap:12px;min-height:220px;padding:20px;border:1px solid #e4e7ec;border-radius:18px;background:#fff;text-decoration:none!important;color:#101828!important;transition:.16s ease}
.tf-foundry-card:hover{transform:translateY(-2px);border-color:#cfd4dc;box-shadow:0 12px 28px rgba(16,24,40,.06)}
.tf-foundry-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tf-foundry-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#f2f4f7;font-weight:900;font-size:1.05rem}
.tf-foundry-badge{font-size:.67rem;font-weight:800;padding:5px 8px;border-radius:999px;background:#ecfdf3;color:#027a48}
.tf-foundry-card h2{font-size:1.1rem;margin:0}
.tf-foundry-card p{margin:0;color:#667085;font-size:.8rem;line-height:1.5}
.tf-foundry-fonts{margin-top:auto;color:#475467!important;font-size:.74rem!important}

.tf-group-sections{display:grid;gap:34px}
.tf-group-section-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:14px}
.tf-group-section-head h2{margin:0;font-size:1.4rem}
.tf-group-section-head span{color:#98a2b3;font-size:.78rem}
.tf-group-type-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0 0}
.tf-group-type-tabs a{padding:8px 11px;border:1px solid #e4e7ec;border-radius:999px;text-decoration:none!important;color:#475467!important;font-size:.74rem;font-weight:800}
.tf-group-type-tabs a.is-active{background:#101828;border-color:#101828;color:#fff!important}

.tf-crosslink-strip{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px
}
.tf-crosslink-card{padding:16px;border:1px solid #e4e7ec;border-radius:15px;text-decoration:none!important;color:#101828!important;background:#fff}
.tf-crosslink-card strong{display:block;margin-bottom:4px}
.tf-crosslink-card span{display:block;color:#667085;font-size:.76rem;line-height:1.4}

/* Footer: separate Explore / Design / Learn / About columns so sections never bleed across. */
.site-footer.tf-footer-upgrade{overflow:hidden}
.site-footer .tf-footer-upgrade-grid{
  display:grid!important;
  grid-template-columns:minmax(220px,1.45fr) repeat(4,minmax(125px,.72fr))!important;
  column-gap:clamp(22px,3.4vw,52px)!important;row-gap:26px!important;align-items:start!important
}
.site-footer .tf-footer-upgrade-grid>div{min-width:0;display:flex!important;flex-direction:column;align-items:flex-start;gap:9px}
.site-footer .tf-footer-upgrade-grid>div:first-child{padding-right:10px}
.site-footer .tf-footer-upgrade-grid strong{display:block;margin:0 0 4px;font-size:.78rem;letter-spacing:.03em}
.site-footer .tf-footer-upgrade-grid a:not(.footer-wordmark-v2){display:block!important;width:auto!important;margin:0!important;white-space:normal;line-height:1.35}
.site-footer .tf-footer-upgrade-grid p{max-width:310px}
.site-footer .footer-bottom{gap:20px;align-items:flex-start}
.site-footer .footer-bottom span:last-child{max-width:760px;text-align:right}

@media(max-width:1050px){
  .tf-discovery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tf-foundry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-footer .tf-footer-upgrade-grid{grid-template-columns:minmax(230px,1.2fr) repeat(2,minmax(150px,1fr))!important}
  .site-footer .tf-footer-upgrade-grid>div:first-child{grid-row:span 2}
}
@media(max-width:760px){
  .tf-discovery-toolbar{grid-template-columns:1fr}
  .tf-discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .tf-discovery-preview{min-height:130px}
  .tf-foundry-grid,.tf-crosslink-strip{grid-template-columns:1fr}
  .site-footer .tf-footer-upgrade-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .site-footer .tf-footer-upgrade-grid>div:first-child{grid-column:1/-1;grid-row:auto;padding-bottom:6px}
  .site-footer .footer-bottom{display:grid!important}
  .site-footer .footer-bottom span:last-child{text-align:left}
}
@media(max-width:480px){
  .tf-discovery-grid{grid-template-columns:1fr 1fr}
  .tf-discovery-card-body{padding:11px}
  .tf-discovery-card p{display:none}
  .tf-card-actions{gap:5px}
  .tf-mini-action{padding:7px;font-size:.67rem}
  .site-footer .tf-footer-upgrade-grid{grid-template-columns:1fr!important}
  .site-footer .tf-footer-upgrade-grid>div:first-child{grid-column:auto}
}
