/* StatsSolve — All Calculators directory ([ssb_all_calculators] shortcode). Scoped under .ssac-directory. */
.ssac-directory{--ssac-brand:#2563eb;--ssac-brand-dark:#102c6b;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.ssac-directory *{box-sizing:border-box}
.ssac-directory a{text-decoration:none;color:inherit}

/* ---------- directory ---------- */
.ssac-directory{max-width:1100px;margin:0 auto;padding:0 0 24px}

.ssac-category{margin-bottom:44px}
.ssac-category-title{display:flex;align-items:center;gap:10px;font-size:1.5rem;font-weight:900;color:var(--ssac-brand-dark);margin:0 0 6px;padding-bottom:10px;border-bottom:2px solid #eef2f7}
.ssac-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--ssac-brand);color:#fff;font-size:.72rem;font-weight:800}
.ssac-category-desc{color:#64748b;font-size:.95rem;margin:0 0 16px}

.ssac-subcategory{margin-top:24px}
.ssac-subcategory-title{font-size:1.05rem;font-weight:800;color:#1e293b;margin:0 0 12px;padding-left:12px;border-left:3px solid var(--ssac-brand)}

.ssac-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));align-items:stretch;gap:18px;margin-top:14px}

/* ---------- card ----------
   Every card in a row is stretched to the same height by the grid
   (align-items:stretch above); height:100% makes the card itself fill
   that stretched space, and flex-grow on the top content pushes the
   button down to the same bottom edge on every card regardless of how
   much description text it has. */
.ssac-card{display:flex;flex-direction:column;gap:14px;height:100%;padding:18px;border-radius:18px;border:1px solid #e2e8f0;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,opacity .5s ease}
.ssac-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(2,10,30,.12);border-color:#c7d7fb}
.ssac-card:hover .ssac-card-icon{transform:scale(1.08) rotate(-4deg)}
.ssac-card:hover .ssac-card-btn{background:var(--ssac-brand-dark)}
.ssac-card:hover .ssac-card-btn svg{transform:translateX(3px)}

.ssac-card-top{flex:1 1 auto;display:flex;align-items:flex-start;gap:13px}
.ssac-card-icon{flex:0 0 auto;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#dbeafe,#ccfbf1);color:var(--ssac-brand);font-weight:900;font-size:1rem;transition:transform .25s ease}
.ssac-card-body{flex:1 1 auto;min-width:0}
.ssac-card-body strong{display:block;font-size:1rem;color:#0f172a;margin-bottom:3px}
.ssac-card-body span{display:block;color:#64748b;font-size:.85rem;line-height:1.45}

.ssac-card-btn{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px 14px;border-radius:11px;background:var(--ssac-brand);color:#fff;font-weight:700;font-size:.86rem;transition:background .2s ease}
.ssac-card-btn svg{width:14px;height:14px;transition:transform .2s ease}

/* ---------- scroll-in reveal (JS-driven; cards are visible by default, see all-calculators.js) ---------- */
.ssac-card.ssac-pre{opacity:0;transform:translateY(18px)}
.ssac-card.ssac-in{opacity:1;transform:none}

.ssac-empty,.ssac-empty-sub{color:#64748b;font-size:.9rem;padding:14px 0}

@media(prefers-reduced-motion:reduce){
  .ssac-card{transition:none}
}

@media(max-width:600px){
  .ssac-category-title{font-size:1.25rem}
  .ssac-grid{grid-template-columns:1fr}
}
