
/* ============================================================
   HVN SOCIAL FEED 1.0
   Facebook-inspired school social layout for phpBB.
   Presentation only: no LevelPoint/rank/service logic changed.
   ============================================================ */

:root{
  --hvn-feed-bg:#f0f2f5;
  --hvn-card:#fff;
  --hvn-line:#d9e1e8;
  --hvn-text:#1c1e21;
  --hvn-muted:#667781;
  --hvn-blue:#1877f2;
  --hvn-blue-dark:#0d63d6;
  --hvn-radius:14px;
  --hvn-shadow:0 2px 10px rgba(22,35,52,.08);
}

/* Overall board: social-network canvas */
html,body{background:var(--hvn-feed-bg)!important}
body{color:var(--hvn-text)}
.wrap{
  max-width:1180px!important;
  margin:0 auto!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#page-body{max-width:820px;margin:0 auto;padding-top:12px}
#page-footer{max-width:1180px;margin:0 auto}

/* Sticky, cleaner header */
.headerbar{
  border-radius:0 0 16px 16px!important;
  box-shadow:0 2px 12px rgba(14,45,82,.15);
  margin-bottom:10px!important;
}
.navbar{
  border-radius:12px!important;
  box-shadow:0 1px 5px rgba(28,39,49,.06);
  border:1px solid rgba(120,140,155,.15);
}

/* Breadcrumbs become compact chips */
.breadcrumbs .crumb{
  background:#fff;
  border:1px solid #e2e7ec;
  border-radius:999px;
  padding:4px 9px;
  margin:2px 3px 2px 0;
}
.breadcrumbs .crumb:before{opacity:.45}

/* Index/forum rows: card feed instead of old flat tables */
.forabg,.forumbg{
  background:transparent!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  margin:12px 0!important;
}
.forabg .header,.forumbg .header{
  border-radius:12px 12px 0 0;
  padding:10px 14px!important;
  background:linear-gradient(135deg,#1877f2,#3a8df3)!important;
  box-shadow:0 2px 8px rgba(24,119,242,.18);
}
.forums,.topics{background:transparent!important}
.forums .row,.topics .row{
  background:var(--hvn-card)!important;
  border:1px solid var(--hvn-line)!important;
  border-radius:var(--hvn-radius)!important;
  margin:8px 0!important;
  box-shadow:var(--hvn-shadow);
  overflow:hidden;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.forums .row:hover,.topics .row:hover{
  transform:translateY(-1px);
  border-color:#bfd6ee!important;
  box-shadow:0 5px 18px rgba(25,55,85,.11);
}
.forums .row dl,.topics .row dl{padding:10px 12px!important}
.forums .row .list-inner,.topics .row .list-inner{padding-left:44px!important}
.forums .row a.forumtitle,.topics .row a.topictitle{
  font-size:15px;
  font-weight:700;
  color:#174a7c;
}
.forums .row .forum-image img{border-radius:10px}

/* Panels/statistics become modern cards */
.panel,.stat-block,.action-bar,.pagination{
  border-radius:12px;
}
.panel,.stat-block{
  background:#fff!important;
  border:1px solid var(--hvn-line);
  box-shadow:0 1px 6px rgba(20,40,60,.05);
}
.stat-block{padding:12px;margin:10px 0}

/* ---------------- Viewtopic = social feed ---------------- */
.post.hvn-social-post{
  position:relative;
  background:var(--hvn-card)!important;
  border:1px solid var(--hvn-line)!important;
  border-radius:16px!important;
  box-shadow:var(--hvn-shadow)!important;
  margin:12px 0 16px!important;
  overflow:visible;
}
.post.hvn-social-post.bg1,.post.hvn-social-post.bg2{background:#fff!important}
.hvn-social-post-accent{
  position:absolute;left:14px;right:14px;top:0;height:2px;
  background:linear-gradient(90deg,transparent,rgba(24,119,242,.32),transparent);
  pointer-events:none;
}
.post.hvn-social-post .inner{padding:14px 16px 10px!important}

/* Profile behaves like the author header of a social post */
.post.hvn-social-post .postprofile{
  width:100%!important;
  float:none!important;
  border:0!important;
  border-bottom:1px solid #edf0f2!important;
  margin:0 0 11px!important;
  padding:0 0 10px 58px!important;
  min-height:48px;
  box-sizing:border-box;
  text-align:left!important;
}
.post.hvn-social-post .postprofile dt,.post.hvn-social-post .postprofile dd{
  margin-left:0!important;
}
.post.hvn-social-post .postprofile dt.has-profile-rank,
.post.hvn-social-post .postprofile dt{min-height:0!important}
.post.hvn-social-post .postprofile .avatar-container{
  position:absolute;
  left:16px;
  top:13px;
  width:44px!important;
  height:44px!important;
  margin:0!important;
}
.post.hvn-social-post .postprofile .avatar{
  width:44px!important;height:44px!important;
  border-radius:50%!important;
  overflow:hidden;
  box-shadow:0 0 0 2px #fff,0 0 0 3px #dce4eb;
}
.post.hvn-social-post .postprofile .avatar img{
  width:44px!important;height:44px!important;object-fit:cover;
}
.post.hvn-social-post .postprofile .username,
.post.hvn-social-post .postprofile .username-coloured{
  font-size:15px!important;font-weight:700!important;
}
.post.hvn-social-post .postprofile .profile-posts,
.post.hvn-social-post .postprofile .profile-joined,
.post.hvn-social-post .postprofile .profile-custom-field{
  color:var(--hvn-muted);font-size:11px;
}

/* Keep LevelPoint exactly intact, just make room for it */
.post.hvn-social-post .postprofile .hvn-lp-card{
  margin:6px 0 0!important;
  max-width:230px;
}

/* Main content fills card width */
.post.hvn-social-post .postbody{
  width:100%!important;
  float:none!important;
  padding:0!important;
}
.post.hvn-social-post .postbody h3{
  font-size:15px!important;
  margin:0 0 8px!important;
  padding-right:60px;
}
.post.hvn-social-post .postbody .author{
  color:var(--hvn-muted);
  font-size:11px;
  margin-bottom:10px!important;
}
.post.hvn-social-post .content{
  font-size:14px!important;
  line-height:1.55!important;
  color:#202428!important;
  min-height:42px;
}
.post.hvn-social-post .content img{
  max-width:100%!important;height:auto!important;border-radius:12px;
}
.post.hvn-social-post blockquote,.post.hvn-social-post .codebox{
  border-radius:10px!important;
}

/* Post action buttons resemble a social action row */
.post.hvn-social-post .post-buttons{
  top:12px!important;right:12px!important;
}
.post.hvn-social-post .post-buttons .button{
  border-radius:8px!important;
}
.post.hvn-social-post .signature{
  border-top:1px solid #edf0f2!important;
  margin-top:12px!important;
  padding-top:9px!important;
  color:#667781;
}

/* Composer / quick reply */
#qr_postform .panel,#postingbox.panel{
  border-radius:16px!important;
  box-shadow:var(--hvn-shadow);
}
#message{
  border-radius:12px!important;
  border-color:#ccd6df!important;
}

/* Buttons */
.button,.button1,.button2,.button-secondary{
  border-radius:9px!important;
}
.button1{
  background:var(--hvn-blue)!important;
  border-color:var(--hvn-blue-dark)!important;
}

/* Desktop: generous center feed */
@media (min-width:701px){
  #page-body{max-width:860px}
  .post.hvn-social-post .postprofile{
    padding-left:62px!important;
  }
}

/* Mobile: one-column app-like feed */
@media (max-width:700px){
  body{font-size:13px}
  .wrap{padding:0 7px!important}
  #page-body{padding-top:5px}
  .headerbar{
    margin-left:-7px!important;margin-right:-7px!important;
    border-radius:0 0 12px 12px!important;
  }
  .navbar{
    margin-left:-2px!important;margin-right:-2px!important;
    border-radius:10px!important;
  }
  .forabg .header,.forumbg .header{border-radius:10px!important}
  .forums .row,.topics .row{
    border-radius:12px!important;
    margin:7px 0!important;
  }
  .forums .row dl,.topics .row dl{padding:8px 9px!important}
  .post.hvn-social-post{
    border-radius:12px!important;
    margin:8px 0 11px!important;
  }
  .post.hvn-social-post .inner{padding:11px 10px 9px!important}
  .post.hvn-social-post .postprofile{
    padding-left:51px!important;
    min-height:43px;
  }
  .post.hvn-social-post .postprofile .avatar-container{
    left:10px;top:10px;width:38px!important;height:38px!important;
  }
  .post.hvn-social-post .postprofile .avatar,
  .post.hvn-social-post .postprofile .avatar img{
    width:38px!important;height:38px!important;
  }
  .post.hvn-social-post .postprofile .hvn-lp-card{
    max-width:205px;
    transform-origin:left top;
  }
  .post.hvn-social-post .content{font-size:14px!important;line-height:1.5!important}
  .post.hvn-social-post .post-buttons{top:9px!important;right:8px!important}
  .post.hvn-social-post .postbody h3{padding-right:50px}
  .action-bar{margin:7px 0!important}
}

/* Very small phones */
@media (max-width:420px){
  .wrap{padding:0 4px!important}
  .post.hvn-social-post .inner{padding-left:8px!important;padding-right:8px!important}
  .post.hvn-social-post .postprofile{padding-left:49px!important}
  .forums .row .list-inner,.topics .row .list-inner{padding-left:38px!important}
}
