/* MafiaScene Portal (front-end) */
/* ===== MafiaScene Portal: break out of Kadence narrow container ===== */
.page-template-page-home .content-container,
.page-template-page-home .site-container,
.page-template-page-home .entry-content-wrap,
.page-template-page-home .content-area,
.page-template-page-home .site-main {
	max-width: none !important;
	width: 100% !important;
}

.page-template-page-home .entry-content,
.page-template-page-home .wp-site-blocks,
.page-template-page-home .wp-block-group {
	max-width: none !important;
}

/* Remove weird padding that can make it feel “boxed” */
.page-template-page-home .content-container {
	padding-left: 0 !important;
	padding-right: 0 !important;
}



/* Main portal wrapper */
.ms-portal{
	background: transparent;
	padding: 16px 12px 40px;
	/* Wider, closer to your screenshot layout */
	max-width: 1400px;
	margin: 0 auto;
}

/* ===== Featured Categories (Portal module) ===== */
.ms-portal-featured-cats{
	margin: 18px 0 26px;
}

.ms-portal-featured-cats__head{
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	margin: 0 0 12px;
}

.ms-portal-featured-cats__title{
	margin:0;
	font-size: 18px;
	font-weight: 900;
	letter-spacing: .2px;
}

.ms-portal-featured-cats__grid{
	display:grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.ms-portal-featured-cats__card{
	position:relative;
	display:block;
	min-height: 90px;
	border-radius: 14px;
	overflow:hidden;
	text-decoration:none;
	background: rgba(0,0,0,.06);
	background-size: cover;
	background-position: center;
	border: 1px solid rgba(0,0,0,.08);
	box-shadow: 0 6px 16px rgba(0,0,0,.08);
}

.ms-portal-featured-cats__overlay{
	position:absolute;
	inset:0;
	background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.55));
}

.ms-portal-featured-cats__name{
	position:absolute;
	left: 12px;
	bottom: 28px;
	right: 12px;
	color:#fff;
	font-weight: 900;
	font-size: 14px;
	text-shadow: 0 2px 8px rgba(0,0,0,.5);
}

.ms-portal-featured-cats__latest{
	position:absolute;
	left: 12px;
	bottom: 10px;
	right: 12px;
	color: rgba(255,255,255,.92);
	font-size: 12px;
	text-shadow: 0 2px 8px rgba(0,0,0,.5);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ms-portal-featured-cats__latest-label{
	opacity:.8;
	margin-right: 6px;
}

.ms-portal-featured-cats__card:hover{
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(0,0,0,.12);
}

@media (max-width: 980px){
	.ms-portal-featured-cats__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px){
	.ms-portal-featured-cats__grid{ grid-template-columns: 1fr; }
}

/* Buttons (match portal vibe) */
.ms-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap: 8px;
	padding: 10px 12px;
	border-radius: 10px;
	text-decoration: none;
	font-weight: 900;
	border: 1px solid rgba(91,0,0,.28);
}
.ms-btn--primary{
	background: #7a0000;
	border-color: #7a0000;
	color: #fff;
}
.ms-btn--ghost{
	background: #FFFCE6;
	color: #5b0000;
}

/* Hero */
.ms-portal-hero{
	background: #FFFCE6;
	border: 1px solid rgba(91,0,0,.20);
	border-radius: 14px;
	box-shadow: 0 10px 22px rgba(0,0,0,.08);
	overflow: hidden;
	margin-bottom: 14px;
}

/* Quick links (4 small cards under hero) */
.ms-portal-quicklinks{ margin: 0 0 14px; }
.ms-portal-quicklinks__grid{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}
@media (max-width: 980px){
	.ms-portal-quicklinks__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px){
	.ms-portal-quicklinks__grid{ grid-template-columns: 1fr; }
}
.ms-ql{
	display: block;
	text-decoration: none;
	background: #FFFCE6;
	border: 1px solid rgba(91,0,0,.20);
	border-radius: 14px;
	box-shadow: 0 10px 22px rgba(0,0,0,.08);
	padding: 12px;
}
.ms-ql:hover{ border-color: rgba(91,0,0,.35); transform: translateY(-1px); }
.ms-ql__title{ font-weight: 900; color: #5b0000; margin: 0 0 4px; }
.ms-ql__desc{ font-size: 12px; color: rgba(0,0,0,.65); }
.ms-portal-hero__inner{
	display:flex;
	gap: 14px;
	align-items: stretch;
	justify-content: space-between;
	padding: 14px;
}
.ms-portal-hero__left{
	flex: 1 1 auto;
	min-width: 0;
}
.ms-portal-hero__right{
	display:flex;
	gap: 10px;
	align-items: stretch;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.ms-portal-hero__badge{
	display:inline-block;
	background: linear-gradient(#7a0000, #5b0000);
	color: #fff;
	font-weight: 900;
	font-size: 12px;
	padding: 6px 10px;
	border-radius: 999px;
	letter-spacing: .2px;
	margin-bottom: 10px;
}
.ms-portal-hero__title{
	margin: 0 0 6px;
	font-size: 28px;
	line-height: 1.1;
	color: #5b0000;
}
.ms-portal-hero__sub{
	margin: 0 0 12px;
	color: rgba(0,0,0,.65);
	font-size: 13px;
}
.ms-portal-hero__actions{
	display:flex;
	gap: 10px;
	flex-wrap: wrap;
}
.ms-portal-hero__welcome{
	margin-top: 10px;
	color: rgba(0,0,0,.70);
}

.ms-stat{
	min-width: 120px;
	background: rgb(112, 0, 0);
	border: 1px solid rgba(91,0,0,.15);
	border-radius: 12px;
	padding: 10px 12px;
}
.ms-stat__value{
	font-weight: 900;
	font-size: 18px;
	color: #fff;
}
.ms-stat__label{
	font-size: 12px;
	color: #fff;
}

/* 3 columns
   Goal: give the center feed more room and keep left menu compact.
*/
.ms-portal-columns{
	display:grid;
	gap: 14px;
	align-items: start;
	grid-template-columns: 320px minmax(0, 1fr) 420px;
}
@media (max-width: 1200px){
	.ms-portal-columns{
		grid-template-columns: 300px minmax(0, 1fr) 360px;
	}
}
@media (max-width: 980px){
	.ms-portal-columns{ grid-template-columns: 1fr; }
}

/* Cards */
.ms-card{
	background: #FFFCE6;
	border: 1px solid rgba(91,0,0,.20);
	border-radius: 14px;
	box-shadow: 0 10px 22px rgba(0,0,0,.08);
	overflow: hidden;
	margin-bottom: 14px;
}
.ms-card--padded{ padding: 12px; }

.ms-card__head{
	padding: 10px 12px;
	background: linear-gradient(#7a0000, #5b0000);
	color: #fff;
}
.ms-card__head--row{
	display:flex;
	align-items:center;
	justify-content: space-between;
	gap: 10px;
}
.ms-card__title{
	margin: 0;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .2px;
        color: #fff;
}
.ms-card__link{
	color: #fff;
	text-decoration: none;
	font-weight: 900;
	border-bottom: 1px dashed rgba(255,255,255,.55);
}

.ms-card__body{
	padding: 12px;
}

.ms-muted{ color: rgba(0,0,0,.65); }
.ms-pad{ padding: 12px; }

/* Menu list */
.ms-menu-list{
	list-style: none;
	margin: 0;
	padding: 0;
	display:flex;
	flex-direction: column;
	gap: 6px;
}
.ms-menu-list a{
	display:block;
	background: rgba(255,255,255,.55);
	border: 1px solid rgba(91,0,0,.15);
	border-radius: 10px;
	padding: 10px 10px;
	color: #5b0000;
	text-decoration: none;
	font-weight: 900;
}
.ms-menu-list a:hover{
	background: rgba(255,255,255,.85);
	border-color: rgba(91,0,0,.30);
}

/* Activity */
.ms-activity-list{
	list-style:none;
	padding:0;
	margin:0;
	display:flex;
	flex-direction: column;
	gap: 10px;
}
.ms-activity-item{
	display:flex;
	gap: 10px;
}
.ms-activity-item__avatar img{
	border-radius: 12px;
}
.ms-activity-item__meta{
	font-size: 12px;
	color: rgba(0,0,0,.60);
	margin-bottom: 2px;
}
.ms-activity-item__text{
	margin-top: 6px;
	color: rgba(0,0,0,.75);
}

/* Mini activity (left column) */
.ms-activity-mini .ms-card__body{ padding: 10px 12px; }
.ms-activity-mini-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction: column; gap: 8px; }
.ms-activity-mini-item{
	display:flex;
	align-items:center;
	gap: 8px;
	padding: 6px 0;
	border-top: 1px solid rgba(91,0,0,.12);
}
.ms-activity-mini-item:first-child{ border-top: 0; }
.ms-activity-mini-item__avatar img{ border-radius: 10px; display:block; }
.ms-activity-mini-item__text{
	flex: 1 1 auto;
	min-width: 0;
	font-size: 12px;
	color: rgba(0,0,0,.75);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.ms-activity-mini-item__time{ font-size: 11px; color: rgba(0,0,0,.55); white-space: nowrap; }

/* Topics */
.ms-topic-list{ list-style:none; padding:0; margin:0; }
.ms-topic-row{
	padding: 12px;
	border-top: 1px solid rgba(91,0,0,.12);
}
.ms-topic-row:first-child{ border-top: 0; }
.ms-topic-row__title a{
	font-weight: 900;
	text-decoration:none;
	color: #5b0000;
}
.ms-topic-row__meta{
	margin-top: 4px;
	font-size: 12px;
	color: rgba(0,0,0,.60);
	display:flex;
	flex-wrap:wrap;
	gap: 6px;
}
.ms-dot{ color: rgba(0,0,0,.55); }

.ms-topic-list--compact .ms-topic-row{ padding: 10px 12px; }

/* Posts (middle column) */
.ms-post-list{ list-style:none; padding:0; margin:0; }
.ms-post-row{
	padding: 12px;
	border-top: 1px solid rgba(91,0,0,.12);
}
.ms-post-row:first-child{ border-top: 0; }
.ms-post-row__title{
	display:block;
	font-weight: 900;
	color: #5b0000;
	text-decoration:none;
}
.ms-post-row__meta{ margin-top: 4px; font-size: 12px; color: rgba(0,0,0,.60); display:flex; gap: 6px; flex-wrap: wrap; }
.ms-post-row__excerpt{ margin-top: 6px; font-size: 13px; color: rgba(0,0,0,.75); }

/* Featured link */
.ms-featured-link{
	display:inline-block;
	font-weight: 900;
	color: #5b0000;
	text-decoration:none;
	background: rgba(255,255,255,.65);
	border: 1px solid rgba(91,0,0,.15);
	padding: 10px 10px;
	border-radius: 10px;
}
.ms-featured-link:hover{
	background: rgba(255,255,255,.90);
	border-color: rgba(91,0,0,.30);
}

/* Make WYSIWYG content feel “portal-like” */
.ms-portal-article__content p{ margin-top: 0; }
.ms-portal-article__content a{ color: #7a0000; font-weight: 800; }

/* --- Fix: make all section headers align full-width across columns --- */
.ms-portal-card {
  padding: 0 !important;          /* remove inner padding on the card wrapper */
  overflow: hidden;                /* ensures header corners clip correctly */
}

.ms-portal-card__body {
  padding: 14px 14px 16px;         /* body gets padding instead of wrapper */
}

.ms-portal-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin: 0;                       /* remove any accidental inset */
  padding: 12px 14px;
  box-sizing: border-box;
}

/* =========================
   HERO CLEANUP (Portal v2)
   ========================= */

/* Overall hero card */
.ms-portal-hero {
  padding: 18px 18px 16px;
}

/* Make hero inner layout align better */
.ms-portal-hero__inner {
  display: flex;
  gap: 18px;
  align-items: stretch;
}

/* Left side text spacing */
.ms-portal-hero__left h1 {
  margin: 6px 0 6px;
  line-height: 1.1;
}

.ms-portal-hero__left .ms-portal-hero__sub {
  margin: 0 0 12px;
  opacity: 0.85;
}

/* Buttons row */
.ms-portal-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 10px;
}

/* Hero action buttons (fix washed-out look) */
.ms-portal-hero__actions a,
.ms-portal-hero__actions .ms-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(120, 0, 0, 0.25);
  background: rgba(255, 255, 255, 0.6);
  color: #4a0b0b;
  font-weight: 700;
  font-size: 12px;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}

.ms-portal-hero__actions a:hover,
.ms-portal-hero__actions .ms-btn:hover {
  background: rgba(255, 255, 255, 0.85);
  border-color: rgba(120, 0, 0, 0.35);
  transform: translateY(-1px);
}

.ms-portal-hero__actions a:focus-visible {
  outline: 2px solid rgba(120, 0, 0, 0.35);
  outline-offset: 2px;
}

/* Right stats panel (fix invisible text) */
.ms-portal-hero__stats {
  flex: 0 0 320px; /* adjust if you want wider */
  border-left: 1px solid rgba(120,0,0,0.10);
  padding-left: 18px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  align-content: center;
}

/* Each stat box */
.ms-portal-hero__stat {
  padding: 10px 10px;
  border-radius: 12px;
  background: rgba(255,255,255,0.45);
  border: 1px solid rgba(120,0,0,0.10);
}

/* Stat numbers + labels */
.ms-portal-hero__stat strong,
.ms-portal-hero__stat .ms-stat-value {
  display: block;
  font-size: 18px;
  font-weight: 800;
  color: #4a0b0b;
  line-height: 1.05;
}

.ms-portal-hero__stat span,
.ms-portal-hero__stat .ms-stat-label {
  display: block;
  margin-top: 3px;
  font-size: 11px;
  font-weight: 700;
  color: rgba(74,11,11,0.75);
}

/* Welcome line */
.ms-portal-hero__welcome {
  margin-top: 10px;
  font-weight: 600;
  color: rgba(0,0,0,0.65);
}

/* Mobile: stack stats under content */
@media (max-width: 900px) {
  .ms-portal-hero__inner {
    flex-direction: column;
  }
  .ms-portal-hero__stats {
    flex: 0 0 auto;
    border-left: none;
    padding-left: 0;
    grid-template-columns: repeat(3, 1fr);
  }
}

#ms-portal-middle.ms-portal-loading {
  opacity: 0.65;
  pointer-events: none;
}

.ms-portal-inplacebar { margin: 0 0 10px; }
.ms-portal-back {
  font-weight: 800;
  font-size: 12px;
  text-decoration: none;
  color: #4a0b0b;
}
.ms-portal-back:hover { text-decoration: underline; }

.ms-portal-single__title { margin: 6px 0; font-weight: 900; color: #4a0b0b; }
.ms-portal-single__meta { font-size: 12px; font-weight: 700; opacity: .75; margin-bottom: 12px; }
.ms-portal-single__content { line-height: 1.6; }

/* ==========================================================
   PORTAL ARTICLES (Latest_Posts markup)
   Modern + Retro "portal" vibe
   ========================================================== */

.ms-posts-card #ms-portal-middle {
  padding: 0; /* we handle spacing inside */
}

/* wrapper */
.ms-portal-articles {
  padding: 10px 0 12px;
}

/* shared */
.ms-article-item {
  position: relative;
}

/* --- Spotlight Card --- */
.ms-article-item--spotlight {
  margin: 10px 12px 14px;
}

.ms-article-spotlight {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 14px;
  padding: 14px;
  border-radius: 16px;
  text-decoration: none;
  color: inherit;
  border: 1px solid rgba(120,0,0,0.16);
  background:
    radial-gradient(120% 100% at 0% 0%, rgba(255,255,255,0.70) 0%, rgba(255,255,255,0.40) 60%, rgba(255,255,255,0.22) 100%);
  box-shadow: 0 10px 24px rgba(0,0,0,0.07);
  overflow: hidden;
}

.ms-article-spotlight:hover {
  border-color: rgba(120,0,0,0.22);
  box-shadow: 0 14px 32px rgba(0,0,0,0.10);
  transform: translateY(-1px);
}

.ms-article-spotlight__media {
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(120,0,0,0.12);
  background: rgba(255,255,255,0.35);
  min-height: 120px;
}

.ms-article-spotlight__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* fallback for spotlight media */
.ms-article-spotlight__fallback {
  width: 100%;
  height: 100%;
  min-height: 120px;
  background:
    linear-gradient(135deg, rgba(120,0,0,0.22), rgba(120,0,0,0.02)),
    repeating-linear-gradient(
      45deg,
      rgba(120,0,0,0.08) 0px,
      rgba(120,0,0,0.08) 8px,
      rgba(255,255,255,0.0) 8px,
      rgba(255,255,255,0.0) 16px
    );
}

.ms-article-spotlight__content {
  min-width: 0;
}

.ms-article-kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: rgba(74,11,11,0.92);
  border: 1px solid rgba(120,0,0,0.18);
  background: rgba(120,0,0,0.08);
  margin-bottom: 8px;
}

.ms-article-item--spotlight .ms-article-title {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: 0.1px;
  line-height: 1.25;
  color: #4a0b0b;
}

.ms-article-item--spotlight .ms-article-excerpt {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(0,0,0,0.82);
}

/* CTA button */
.ms-article-spotlight__cta {
  margin-top: 12px;
}

.ms-btn.ms-btn--mini {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 10px;
  border-radius: 10px;
  border: 1px solid rgba(120,0,0,0.22);
  background: rgba(255,255,255,0.65);
  color: #4a0b0b;
  font-weight: 900;
  font-size: 12px;
  line-height: 1;
  box-shadow: 0 6px 16px rgba(0,0,0,0.05);
}

.ms-article-spotlight:hover .ms-btn.ms-btn--mini {
  background: rgba(255,255,255,0.88);
  border-color: rgba(120,0,0,0.28);
}

/* --- Meta pills (shared) --- */
.ms-article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0;
}

.ms-article-meta__pill {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  color: rgba(74,11,11,0.84);
  background: rgba(255,255,255,0.55);
  border: 1px solid rgba(120,0,0,0.10);
}

.ms-article-meta__dot {
  opacity: 0.45;
  font-weight: 900;
}

/* --- List rows (below spotlight) --- */
.ms-article-item--row {
  border-top: 1px solid rgba(120,0,0,0.08);
}

.ms-article-row {
  display: grid;
  grid-template-columns: 1fr 64px;
  gap: 12px;
  padding: 12px 16px;
  text-decoration: none;
  color: inherit;
  position: relative;
}

.ms-article-row:hover {
  background: rgba(255,255,255,0.26);
}

.ms-article-row::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 12px;
  bottom: 12px;
  width: 3px;
  border-radius: 3px;
  background: linear-gradient(to bottom, rgba(120,0,0,0.55), rgba(120,0,0,0.05));
  opacity: 0;
  transform: translateX(-2px);
  transition: all 160ms ease;
}

.ms-article-row:hover::before {
  opacity: 1;
  transform: translateX(0);
}

.ms-article-row__main {
  min-width: 0;
}

.ms-article-item--row .ms-article-title {
  margin: 0 0 7px;
  font-size: 14px;
  font-weight: 900;
  color: #4a0b0b;
  line-height: 1.25;
}

.ms-article-item--row .ms-article-excerpt {
  margin-top: 8px;
  font-size: 12.5px;
  line-height: 1.45;
  color: rgba(0,0,0,0.80);
}

/* right thumbnail */
.ms-article-row__thumb {
  width: 64px;
  height: 64px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(120,0,0,0.12);
  background: rgba(255,255,255,0.35);
  align-self: start;
}

.ms-article-row__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ms-article-row__fallback {
  width: 100%;
  height: 100%;
  background:
    linear-gradient(135deg, rgba(120,0,0,0.16), rgba(120,0,0,0.02));
}

/* --- In-place single article inside middle column --- */
.ms-portal-inplacebar {
  padding: 10px 16px 0;
}

.ms-portal-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 900;
  font-size: 12px;
  text-decoration: none;
  color: #4a0b0b;
}

.ms-portal-back:hover {
  text-decoration: underline;
}

.ms-portal-single {
  padding: 10px 16px 16px;
}

.ms-portal-single__title {
  margin: 6px 0 8px;
  font-weight: 950;
  font-size: 18px;
  color: #4a0b0b;
  letter-spacing: 0.1px;
}

.ms-portal-single__meta {
  font-size: 12px;
  font-weight: 800;
  opacity: 0.75;
  margin-bottom: 12px;
}

.ms-portal-single__content {
  line-height: 1.65;
  color: rgba(0,0,0,0.88);
}

.ms-portal-single__content h2,
.ms-portal-single__content h3 {
  color: #4a0b0b;
  margin-top: 18px;
}

.ms-portal-single__content blockquote {
  border-left: 3px solid rgba(120,0,0,0.35);
  padding-left: 12px;
  margin: 14px 0;
  background: rgba(255,255,255,0.25);
  border-radius: 10px;
  padding-top: 10px;
  padding-bottom: 10px;
}

/* Loading state */
#ms-portal-middle.ms-portal-loading {
  opacity: 0.65;
  pointer-events: none;
}

/* --- Responsive tweaks --- */
@media (max-width: 900px) {
  .ms-article-spotlight {
    grid-template-columns: 1fr;
  }
  .ms-article-spotlight__media {
    min-height: 160px;
  }
  .ms-article-row {
    grid-template-columns: 1fr;
  }
  .ms-article-row__thumb {
    display: none;
  }
}

/* =========================
   WP NAV MENU (Portal Left Menu)
   Fix bullets + indentation
   ========================= */

.ms-portal-leftnav ul,
.ms-portal-leftnav li{
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ms-portal-leftnav .ms-menu-list{
	display:flex;
	flex-direction: column;
	gap: 6px;
}

.ms-portal-leftnav .ms-menu-item,
.ms-portal-leftnav .ms-menu-subitem{
	list-style:none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* nested ULs */
.ms-portal-leftnav .ms-menu-sublist{
	margin-top: 6px !important;
	padding-left: 14px !important; /* indent children */
	display:flex;
	flex-direction: column;
	gap: 6px;
}

/* sub links look slightly “lighter” than top level */
.ms-portal-leftnav a.ms-menu-sublink{
	font-size: 12px;
	font-weight: 800;
	padding: 8px 10px;
	opacity: .95;
}

/* =========================
   Mobile-friendly adjustments
   ========================= */
@media (max-width: 720px) {
	.ms-portal {
		padding: 14px 10px 32px;
	}

	.ms-portal-hero__inner {
		flex-direction: column;
	}

	.ms-portal-hero__title {
		font-size: 22px;
	}

	.ms-portal-hero__actions {
		gap: 8px;
	}

	.ms-portal-hero__actions .ms-btn {
		flex: 1 1 auto;
	}

	.ms-portal-hero__right {
		justify-content: flex-start;
	}

	.ms-stat {
		min-width: 0;
		flex: 1 1 30%;
	}

	.ms-card__head--row {
		flex-direction: column;
		align-items: flex-start;
	}

	.ms-card__link {
		align-self: flex-start;
	}

	.ms-portal-columns {
		gap: 12px;
	}

	.ms-menu-list a,
	.ms-portal-leftnav a.ms-menu-sublink {
		padding: 8px 10px;
	}

	.ms-portal-shoutbox__form {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 520px) {
	.ms-portal {
		padding: 12px 8px 28px;
	}

	.ms-portal-hero {
		padding: 14px;
	}

	.ms-portal-hero__title {
		font-size: 20px;
	}

	.ms-portal-hero__actions .ms-btn {
		width: 100%;
		justify-content: center;
	}

	.ms-portal-hero__right {
		gap: 8px;
	}

	.ms-stat {
		padding: 8px 10px;
	}

	.ms-portal-featured-cats__card {
		min-height: 110px;
	}

	.ms-article-spotlight {
		padding: 12px;
	}
}



/* === Shoutbox (Portal) === */
.ms-portal-shoutbox { 
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  padding: 12px;
  background: #fff;
  margin-top: 12px;
}
.ms-portal-shoutbox--sticky { position: sticky; top: 90px; z-index: 2; }
@media (max-width: 900px){
  .ms-portal-shoutbox--sticky { position: static; top: auto; }
}
.ms-portal-shoutbox__head { display:flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.ms-portal-shoutbox__title { margin: 0; font-size: 16px; }
.ms-portal-shoutbox__typing { font-size: 12px; opacity: .7; min-height: 1em; }
.ms-portal-shoutbox__list {
  max-height: 220px;
  overflow: auto;
  padding: 6px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.08);
  background: #f7f7f7;
}
.ms-portal-shoutbox__msg { display: flex; gap: 8px; padding: 6px; border-bottom: 1px solid rgba(0,0,0,.06); }
.ms-portal-shoutbox__msg:last-child { border-bottom: 0; }
.ms-portal-shoutbox__avatar { width: 24px; height: 24px; border-radius: 50%; flex: 0 0 auto; }
.ms-portal-shoutbox__meta { display: flex; align-items: center; gap: 6px; font-size: 11px; opacity: .75; }
.ms-portal-shoutbox__user { font-weight: 700; opacity: 1; }
.ms-portal-shoutbox__time { opacity: .7; }
.ms-portal-shoutbox__text { font-size: 12px; line-height: 1.3; margin-top: 2px; }
.ms-portal-shoutbox__msg.is-mine .ms-portal-shoutbox__body { background: rgba(112,0,0,0.05); border-radius: 8px; padding: 4px 6px; }
.ms-portal-shoutbox__msg.is-new { animation: msShoutFade .25s ease-out; }
@keyframes msShoutFade { from { opacity: 0; transform: translateY(2px); } to { opacity: 1; transform: translateY(0); } }

.ms-portal-shoutbox__form { display: grid; gap: 8px; margin-top: 10px; }
.ms-portal-shoutbox__input { width: 100%; resize: none; min-height: 38px; padding: 6px 8px; border-radius: 8px; border: 1px solid rgba(0,0,0,.15); }
.ms-portal-shoutbox__actions { display:flex; align-items:center; justify-content: space-between; gap: 8px; }
.ms-portal-shoutbox__counter { font-size: 12px; opacity: .7; }
.ms-portal-shoutbox__counter.is-warn { opacity: 1; }
.ms-portal-shoutbox__counter.is-max { font-weight: 700; }
.ms-portal-shoutbox__btn { padding: 8px 12px; border-radius: 10px; border: 1px solid rgba(0,0,0,.15); background: #640000 !important; cursor: pointer; }

.ms-portal-shoutbox__del {
  margin-left: auto;
  border: 0;
  background: transparent;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  opacity: .5;
}
.ms-portal-shoutbox__del:hover { opacity: 1; }

.ms-portal-shoutbox__note { margin-top: 6px; font-size: 12px; opacity: .75; min-height: 1em; }

.ms-forum-widget-note{
	margin: 0 0 10px;
	font-size: 12px;
	color: rgba(0,0,0,.7);
}

.ms-online-list{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.ms-online-list li{
	max-width: 100%;
}

.ms-online-list li a{
	display: inline-block;
	max-width: 100%;
	padding: 8px 10px;
	border-radius: 10px;
	background: rgba(255,255,255,.55);
	border: 1px solid rgba(91,0,0,.15);
	text-decoration: none;
	font-weight: 700;
	line-height: 1.3;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: break-word;
	color: #5b0000;
}

.ms-online-empty{
	margin: 0;
	font-size: 12px;
	color: rgba(0,0,0,.65);
}
