/* 30-topic recovery hub */

.frx-topics-nav-sticky{
  position:sticky;top:72px;z-index:48;
  display:flex;flex-wrap:wrap;gap:8px;justify-content:center;
  padding:14px 24px;max-height:120px;overflow-y:auto;
  background:rgba(11,17,26,0.96);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--frx-border);
}
.frx-topics-nav-sticky a{
  font-size:11px;font-weight:700;color:rgba(139,156,179,0.85);
  text-decoration:none;padding:6px 12px;border-radius:999px;
  border:1px solid transparent;white-space:nowrap;
  transition:color .2s, background .2s, border-color .2s;
}
.frx-topics-nav-sticky a:hover,
.frx-topics-nav-sticky a.is-active{
  color:#fff;background:rgba(110,193,228,0.12);
  border-color:rgba(110,193,228,0.25);
}
.frx-topics-nav-divider{
  width:1px;height:20px;background:var(--frx-border);margin:4px 4px;flex-shrink:0;
}

.frx-topic-cat-head{
  max-width:900px;margin:0 auto;padding:64px 40px 24px;text-align:center;
}
.frx-topic-cat-head .frx-h2{margin-top:8px}

.frx-topic{padding:32px 40px}
.frx-topic--alt{background:var(--frx-bg)}
.frx-topic--dark{background:var(--frx-bg-dark-2)}

.frx-topic-card{
  display:grid;grid-template-columns:minmax(280px,0.95fr) minmax(0,1.15fr);
  gap:40px;align-items:center;max-width:1100px;margin:0 auto;
  background:var(--frx-surface);border:1px solid rgba(15,22,35,0.08);
  border-radius:var(--frx-radius-lg);padding:36px;
  box-shadow:var(--frx-shadow);
  transition:transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s ease;
}
.frx-topic--dark .frx-topic-card{
  background:var(--frx-bg-card);border-color:var(--frx-border);
  box-shadow:0 12px 40px rgba(0,0,0,0.25);
}
.frx-topic-card.frx-motion--visible:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 56px rgba(110,193,228,0.12);
}
.frx-topic--flip .frx-topic-card{direction:rtl}
.frx-topic--flip .frx-topic-card > *{direction:ltr}

.frx-topic-media{
  position:relative;border-radius:var(--frx-radius);overflow:hidden;
  border:1px solid rgba(15,22,35,0.08);aspect-ratio:16/10;
}
.frx-topic--dark .frx-topic-media{border-color:var(--frx-border)}
.frx-topic-media img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .7s cubic-bezier(.22,1,.36,1);
}
.frx-topic-card:hover .frx-topic-media img{transform:scale(1.05)}
.frx-topic-num{
  position:absolute;top:14px;left:14px;
  font-size:12px;font-weight:900;letter-spacing:1px;
  background:var(--frx-gradient-accent);color:#060A10;
  padding:8px 12px;border-radius:8px;
}

.frx-topic-cat{
  display:inline-block;font-size:11px;font-weight:800;letter-spacing:2px;
  text-transform:uppercase;color:var(--frx-accent-dark);margin-bottom:10px;
}
.frx-topic--dark .frx-topic-cat{color:var(--frx-accent)}
.frx-topic-h2{
  font-size:clamp(22px,2.5vw,28px);font-weight:900;line-height:1.2;
  letter-spacing:-0.4px;color:var(--frx-text);margin:0 0 16px;
}
.frx-topic--dark .frx-topic-h2{color:#fff}
.frx-topic-body p{
  font-size:15px;line-height:1.75;color:var(--frx-text-muted);margin-bottom:14px;
}
.frx-topic--dark .frx-topic-body p{color:var(--frx-text-muted-dark)}
.frx-topic-body strong{color:inherit;font-weight:700}
.frx-topic-list{
  margin:0 0 20px;padding:0;list-style:none;
}
.frx-topic-list li{
  position:relative;padding:8px 0 8px 28px;font-size:14px;
  color:var(--frx-text-muted);line-height:1.5;
}
.frx-topic--dark .frx-topic-list li{color:var(--frx-text-muted-dark)}
.frx-topic-list li::before{
  content:'';position:absolute;left:0;top:14px;width:16px;height:16px;
  background:var(--frx-gradient-accent);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;
}
.frx-topic-actions{
  display:flex;flex-wrap:wrap;align-items:center;gap:16px;
}
.frx-btn-sm{
  display:inline-flex;align-items:center;padding:10px 20px;
  font-size:13px;font-weight:700;border-radius:999px;
  background:var(--frx-gradient-accent);color:#060A10;text-decoration:none;
  transition:transform .2s, box-shadow .2s;
}
.frx-btn-sm:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 24px var(--frx-accent-glow);
}

/* Homepage 30-topic pill grid */
.frx-topics-hub .frx-topic-filters{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:32px;
}
.frx-topic-filter{
  font-size:12px;font-weight:700;padding:10px 18px;border-radius:999px;
  border:1px solid var(--frx-border);background:transparent;
  color:var(--frx-text-muted-dark);cursor:pointer;
  transition:all .25s ease;
}
.frx-topic-filter:hover,
.frx-topic-filter.active{
  background:rgba(110,193,228,0.15);border-color:var(--frx-accent);
  color:#fff;
}
.frx-topic-pill-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:12px;margin-bottom:40px;
}
.frx-topic-pill{
  display:flex;align-items:flex-start;gap:12px;padding:16px 18px;
  background:var(--frx-bg-card);border:1px solid var(--frx-border);
  border-radius:var(--frx-radius);text-decoration:none;
  transition:transform .3s ease, border-color .3s, background .3s;
}
.frx-topic-pill:hover{
  transform:translateY(-3px);border-color:var(--frx-accent);
  background:var(--frx-bg-elevated);
}
.frx-topic-pill.hidden{display:none}
.frx-topic-pill-num{
  font-size:11px;font-weight:900;color:var(--frx-accent);
  flex-shrink:0;padding-top:2px;
}
.frx-topic-pill-title{
  font-size:13px;font-weight:700;color:#fff;line-height:1.4;
}
.frx-topics-hub-cta{
  text-align:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;
}

@media(max-width:900px){
  .frx-topic-card{grid-template-columns:1fr;padding:24px}
  .frx-topic--flip .frx-topic-card{direction:ltr}
  .frx-topics-nav-sticky{max-height:88px;top:64px}
  .frx-topic{padding:20px}
  .frx-topic-pill-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:520px){
  .frx-topic-pill-grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .frx-topic-card:hover,.frx-topic-pill:hover{transform:none}
  .frx-topic-media img{transition:none}
}
