/* Стили страницы abilities_hub; вынесены из шаблона для строгой CSP. */
.abilities-hub-intro { max-width:820px; margin:0 auto 20px; padding:16px 20px; border:1px solid var(--border-color); border-radius:12px; background:var(--card-background); box-shadow:var(--shadow); line-height:1.55; }
.abilities-hub-intro p { margin:0; opacity:.8; }
.abilities-hub-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; }
.abilities-hub-card { display:flex; flex-direction:column; gap:10px; min-height:205px; padding:20px; border:1px solid var(--border-color); border-radius:14px; color:var(--text-color); text-decoration:none; background:var(--card-background); box-shadow:var(--shadow); transition:transform .18s,box-shadow .18s,border-color .18s; }
.abilities-hub-card:hover { transform:translateY(-3px); border-color:var(--primary-color); box-shadow:0 8px 24px rgba(74,144,217,.2); }
.abilities-hub-card-head { display:flex; align-items:center; gap:12px; }
.abilities-hub-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:12px; background:rgba(74,144,217,.12); font-size:1.7rem; }
.abilities-hub-card h2 { margin:0; color:var(--primary-text); font-size:1.18rem; }
.abilities-hub-old-label { font-size:.76rem; opacity:.6; }
.abilities-hub-card p { margin:0; line-height:1.45; opacity:.78; }
.abilities-hub-card-footer { margin-top:auto; display:flex; align-items:center; justify-content:space-between; padding-top:10px; border-top:1px solid var(--border-color); font-size:.84rem; color:var(--primary-text); font-weight:700; }
@media (max-width:620px) { .abilities-hub-grid { grid-template-columns:1fr; } .abilities-hub-card { min-height:0; } }
