body {background:#f5f6fa;font-family:"Segoe UI",Roboto,sans-serif;}
.navbar{box-shadow:0 2px 6px rgba(0,0,0,0.1);}
.navbar-brand{font-weight:700;color:#d62828!important;}
.hero{background:linear-gradient(135deg,#d62828,#b5179e);color:#fff;text-align:center;padding:100px 20px;border-bottom-left-radius:60px;border-bottom-right-radius:60px;}
.hero h1{font-weight:700;font-size:2.6rem;}
.card{border:none;border-radius:15px;box-shadow:0 4px 10px rgba(0,0,0,0.08);}
.card:hover{transform:translateY(-4px);}
footer{background:#1a1a1a;color:#adb5bd;padding:5rem 0 2rem;}
.footer-brand{font-size:1.6rem;font-weight:900;color:#fff;display:flex;align-items:center;gap:.6rem;margin-bottom:1.2rem;}
.footer-brand i{color:#d62828;}
.footer-desc{color:#6c757d;max-width:320px;line-height:1.8;margin-bottom:1.5rem;font-size:1.05rem;}
.footer-title{font-weight:800;color:#fff;margin-bottom:1.8rem;font-size:1.2rem;}
.footer-links{list-style:none;padding:0;margin:0;}
.footer-links li{margin-bottom:.9rem;}
.footer-links a{color:#adb5bd;text-decoration:none;transition:all .3s;display:inline-flex;align-items:center;gap:.5rem;font-size:1.05rem;}
.footer-links a:hover{color:#d62828;padding-left:.6rem;}
.footer-contact-item{display:flex;align-items:center;gap:1.2rem;margin-bottom:1.2rem;color:#adb5bd;font-size:1.05rem;}
.footer-contact-item i{color:#d62828;font-size:1.3rem;width:24px;}
.footer-bottom{border-top:2px solid rgba(255,255,255,.1);padding-top:2.5rem;margin-top:4rem;}
.footer-legal a{color:#6c757d;text-decoration:none;margin:0 1.2rem;transition:color .3s;font-size:1.05rem;}
.footer-legal a:hover{color:#d62828;}
@media(max-width:768px){
  footer{padding:3rem 0 1.5rem;}
  .footer-brand{font-size:1.4rem;margin-bottom:1rem;}
  .footer-desc{font-size:.95rem;margin-bottom:1.2rem;}
  .footer-title{font-size:1.1rem;margin-bottom:1.3rem;}
  .footer-links a{font-size:.95rem;}
  .footer-contact-item{font-size:.95rem;margin-bottom:1rem;}
  .footer-contact-item i{font-size:1.1rem;}
  .footer-col{margin-bottom:2.5rem;}
  .footer-bottom{padding-top:2rem;margin-top:3rem;}
  .footer-legal{display:flex;flex-direction:column;gap:.8rem;}
  .footer-legal a{margin:0;font-size:.9rem;}
}
.topic-list .card{margin-bottom:1rem;}
.post-form textarea{resize:vertical;}
.avatar {width:50px;height:50px;border-radius:50%;object-fit:cover;}
.table-hover tbody tr:hover { background-color: rgba(214, 40, 40, 0.05); }
.topic-row td a { color: #d62828; }
.topic-row td a:hover { color: #b5179e; }
.profile-hero h1 { font-size: 3rem; font-weight: 700; }