/* TalkMoney Community — Vibrant visual refresh
   Cream + royal blue + deep orange + wealth green.
   Accessible: state meaning never depends on colour alone. */
:root{
  --tm-royal:#0757d9;
  --tm-royal-deep:#073b93;
  --tm-orange:#f47b20;
  --tm-orange-deep:#d85e0b;
  --tm-wealth:#087f49;
  --tm-wealth-deep:#055e38;
  --tm-cream:#fff7e7;
  --tm-purple:#7547d8;
  --tm-sky:#eaf4ff;
}
body{
  background:
    radial-gradient(circle at 0 14%,rgba(244,123,32,.16),transparent 18rem),
    radial-gradient(circle at 100% 34%,rgba(7,87,217,.14),transparent 21rem),
    radial-gradient(circle at 4% 88%,rgba(8,127,73,.13),transparent 20rem),
    var(--tm-cream);
}
.site-header{
  background:linear-gradient(105deg,#062f77 0%,#0757d9 58%,#053f9f 100%);
  border-bottom:0;
  box-shadow:0 8px 30px rgba(6,47,119,.16);
}
.site-header .container{min-height:68px}
.brand{font-family:var(--font-body);font-weight:900;letter-spacing:-.03em}
.brand span{color:#ffd172}
.main-nav a{font-weight:750}
.main-nav a[aria-current="page"]{
  background:#fff;color:var(--tm-royal-deep);padding:.55rem .8rem;border-radius:999px;
}
.tm-ecosystem-bar{
  background:linear-gradient(90deg,#06274d,#083e72)!important;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.tm-partner-link{background:#ffd46e!important;color:#18243a!important}
.page-layout{grid-template-columns:250px 1fr;gap:24px}
.sidebar{
  background:linear-gradient(180deg,#062d6e,#063f91 62%,#0757d9);
  border-radius:22px;padding:18px;
  box-shadow:0 16px 34px rgba(6,47,119,.16);
  align-self:start;position:sticky;top:16px;
}
.sidebar>a{color:#fff;border-radius:12px;font-weight:750}
.sidebar>a:hover,.sidebar>a[aria-current="page"]{background:#fff;color:var(--tm-royal-deep)}
.sidebar .card{background:rgba(255,255,255,.96);border:0}
.card{
  border:1px solid rgba(7,59,147,.1);
  border-radius:18px;
  box-shadow:0 12px 30px rgba(15,46,92,.08);
}
.community-hero{
  position:relative;overflow:hidden;
  padding:clamp(1.4rem,4vw,2.5rem)!important;
  margin-bottom:var(--space-5);
  background:
    radial-gradient(circle at 85% 16%,rgba(255,255,255,.28),transparent 9rem),
    linear-gradient(125deg,#073b93 0%,#0757d9 52%,#0a79ed 100%)!important;
  color:#fff;border:0!important;
  min-height:260px;
}
.community-hero:before,.community-hero:after{
  content:"";position:absolute;border-radius:999px;pointer-events:none;
}
.community-hero:before{width:240px;height:240px;right:-70px;bottom:-110px;background:#f47b20;opacity:.95}
.community-hero:after{width:170px;height:170px;right:95px;bottom:-110px;background:#087f49;opacity:.95}
.community-hero>*{position:relative;z-index:2}
.community-hero h1{font-family:var(--font-body);font-weight:900;letter-spacing:-.035em;font-size:clamp(2rem,5vw,3.6rem)!important}
.community-hero p{font-size:1.05rem;max-width:760px!important}
.community-action-row{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;margin:18px 0 26px;
}
.community-action-row .btn{
  min-height:54px;border:0;border-radius:15px;
  justify-content:center;font-weight:850;font-size:.9rem;
  box-shadow:0 10px 24px rgba(27,55,99,.12);
}
.community-action-row .btn:nth-child(1){background:linear-gradient(135deg,#ff8c31,#ed5d0b);color:#fff}
.community-action-row .btn:nth-child(2){background:linear-gradient(135deg,#0b72f0,#064fc5);color:#fff}
.community-action-row .btn:nth-child(3){background:linear-gradient(135deg,#0c9a5d,#087342);color:#fff}
.community-action-row .btn:nth-child(4){background:linear-gradient(135deg,#8b5cf6,#6941c6);color:#fff}
.btn{border-radius:11px;min-height:42px;font-weight:750;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 9px 20px rgba(13,46,89,.15);text-decoration:none}
.btn-primary{background:linear-gradient(135deg,var(--tm-royal),#0a71ec)}
.btn-gold{background:linear-gradient(135deg,#ff9a38,var(--tm-orange));color:#fff}
.btn-ghost{background:#fff;border-color:#d5dfef}
.opportunity-grid .card{
  min-height:118px;border:0;position:relative;overflow:hidden;
  transition:transform .15s ease,box-shadow .15s ease;
}
.opportunity-grid .card:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(15,46,92,.12);text-decoration:none}
.opportunity-grid .card:nth-child(3n+1){background:linear-gradient(145deg,#fff4e8,#fff)}
.opportunity-grid .card:nth-child(3n+2){background:linear-gradient(145deg,#eaf4ff,#fff)}
.opportunity-grid .card:nth-child(3n){background:linear-gradient(145deg,#eaf8f0,#fff)}
#category-list{border:0!important;background:transparent!important;box-shadow:none!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.category-card{
  background:#fff;border:0!important;border-radius:16px;padding:18px!important;
  min-height:128px;align-items:flex-start;position:relative;overflow:hidden;
  box-shadow:0 8px 22px rgba(15,46,92,.07);
}
.category-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--tm-royal)}
.category-card:nth-child(4n+2):before{background:var(--tm-orange)}
.category-card:nth-child(4n+3):before{background:var(--tm-wealth)}
.category-card:nth-child(4n):before{background:var(--tm-purple)}
.category-card h3{font-family:var(--font-body);font-size:1.02rem;font-weight:850}
.category-card .count{
  background:#edf4ff;border-radius:999px;padding:5px 10px;font-family:var(--font-body);font-weight:800;
}
#recent-topics{border:0;overflow:hidden}
.topic-row,.recent-topic-card{background:#fff;transition:background .15s ease,transform .15s ease}
.topic-row:hover,.recent-topic-card:hover{background:#f8fbff;transform:translateX(2px)}
.topic-thumb{border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.starter-badge-inline{background:#fff0df;color:#a84c00;border-color:#ffc783}
.tm-currency-stage{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.tm-currency-stage span{
  position:absolute;font-weight:900;font-size:clamp(2rem,5vw,4.7rem);
  opacity:.055;animation:tmFloat 8s ease-in-out infinite;color:#063f91;
}
.tm-currency-stage span:nth-child(1){left:2%;top:18%;color:var(--tm-orange)}
.tm-currency-stage span:nth-child(2){right:2%;top:26%;color:var(--tm-wealth);animation-delay:-2s}
.tm-currency-stage span:nth-child(3){left:1%;bottom:10%;color:var(--tm-royal);animation-delay:-4s}
.tm-currency-stage span:nth-child(4){right:2%;bottom:8%;color:var(--tm-orange);animation-delay:-6s}
.site-header,main,.site-footer,.tm-ecosystem-bar{position:relative;z-index:1}
@keyframes tmFloat{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-16px) rotate(6deg)}}
@media(max-width:900px){
  .community-action-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  #category-list{grid-template-columns:1fr}
  .page-layout{grid-template-columns:1fr}
  .sidebar{position:static}
}
@media(max-width:520px){
  .community-action-row{grid-template-columns:1fr 1fr;gap:9px}
  .community-action-row .btn{min-height:50px;padding:.7rem .65rem;font-size:.78rem}
  .community-hero{min-height:300px}
  .sidebar{padding:14px}
}
