/* BBM Layout Core v1.0.0 */
:root{
  --bbm-maxw: 1280px;
  --bbm-gutter: 24px;
  --bbm-header-h: 72px;
  --bbm-adminbar-h: 0px;
  --bbm-extra-top: 16px;
}

body.admin-bar{ --bbm-adminbar-h: 32px; }
@media (max-width:782px){ body.admin-bar{ --bbm-adminbar-h:46px; } }

/* Shared shell */
.bbm-app-shell{
  min-height: calc(100vh - var(--bbm-header-h) - var(--bbm-adminbar-h));
  padding-top: calc(var(--bbm-header-h) + var(--bbm-adminbar-h) + var(--bbm-extra-top));
}

.bbm-content-shell{
  width: min(var(--bbm-maxw), calc(100% - (var(--bbm-gutter) * 2)));
  margin-inline: auto;
}

.bbm-page-head{ margin-bottom:20px; }
.bbm-page-title{
  margin:0;
  font-size:clamp(32px,4vw,56px);
  line-height:1.05;
}
.bbm-page-body{ padding-bottom:40px; }

/* Safety: pages that forgot wrappers but include .entry-content */
.bbm-layout-core .entry-content{
  width: min(var(--bbm-maxw), calc(100% - (var(--bbm-gutter) * 2)));
  margin-inline: auto;
}

/* Prevent admin-bar overlap for fixed headers that respect top var */
body.admin-bar .bbm-fixed-header-safe{
  top: var(--bbm-adminbar-h);
}
