/* ============================================================
 * VaaSBlock — Project Profile Pages
 * ============================================================
 * Complete component system for the rma_project_showcase
 * shortcode output. All classes prefixed `.vb-profile` or `.vb-`
 * to scope to these pages without touching shared Keystone CSS.
 *
 * Layout: 2-col grid on desktop (main | ~280px sidebar),
 * single-col stack on mobile ≤ 900px.
 *
 * Ad units: handed to the ads plugin via empty `.vb-ad-slot`
 * divs — no layout or decoration here.
 *
 * RMA state variants driven by `data-rma-state` on `.vb-profile`:
 *   active | underway | inactive
 *
 * Conventions: see theme/COMPONENT-CONVENTIONS.md
 * ============================================================ */

/* ── Design tokens ────────────────────────────────────────── */
.vb-profile {
	--vb-navy:          #1a1a72;
	--vb-navy-dark:     #0a1834;
	--vb-navy-mid:      #16307c;
	--vb-blue-accent:   #3a6bff;
	--vb-blue-glow:     rgba(58, 107, 255, 0.18);

	--vb-rma-active:    #16a34a;
	--vb-rma-active-bg: #dcfce7;
	--vb-rma-underway:  #d97706;
	--vb-rma-amber-bg:  #fef3c7;
	--vb-rma-inactive:  #dc2626;
	--vb-rma-red-bg:    #fee2e2;

	--vb-card-bg:       var(--wp--preset--color--accent-5, #f7f7f8);
	--vb-card-radius:   16px;
	--vb-card-shadow:   var(--keystone-card-shadow, 0 1px 4px rgba(0,0,0,0.07), 0 4px 16px rgba(0,0,0,0.05));
	--vb-card-hover-shadow: var(--keystone-card-shadow-hover, 0 4px 24px rgba(0,0,0,0.12));
	--vb-card-hover-transform: var(--keystone-card-hover-transform, translateY(-2px));

	--vb-sidebar-width: 280px;
	--vb-gap:           clamp(1.5rem, 3vw, 2.5rem);
	--vb-section-gap:   clamp(2rem, 4vw, 3rem);

	--vb-text:          var(--wp--preset--color--contrast, #111111);
	--vb-text-muted:    color-mix(in srgb, var(--wp--preset--color--contrast, #111) 60%, transparent);
	--vb-border:        color-mix(in srgb, var(--wp--preset--color--contrast, #111) 12%, transparent);
}

/* ── FSE container override: break the alignwide template wrapper full-width ── */
/* The FSE post template wraps content in `main > div.alignwide.is-layout-flow`.
   `is-layout-constrained` on <main> caps this at wideSize (1340px) with auto
   margins. Pull it full-width using negative margins (keyed to main's own
   --wp--preset--spacing--50 padding) then let .vb-profile manage inner spacing. */
body.post-template-wp-custom-template-post-no-title main > .wp-block-group.alignwide:has(.vb-profile) {
	max-width:     none !important;
	margin-inline: calc(-1 * var(--wp--preset--spacing--50, clamp(30px, 5vw, 50px))) !important;
	width:         calc(100% + 2 * var(--wp--preset--spacing--50, clamp(30px, 5vw, 50px))) !important;
}
body.post-template-wp-custom-template-post-no-title main > .wp-block-group.alignwide:has(.vb-profile) > .wp-block-post-content {
	max-width:     none !important;
	width:         100% !important;
	margin-inline: 0 !important;
}

/* ── Root wrapper ─────────────────────────────────────────── */
.vb-profile {
	padding-block:  clamp(2rem, 4vw, 3.5rem);
	padding-inline: 0;
	max-width:      var(--wp--style--global--wide-size, 1340px);
	margin-inline:  auto;
	box-sizing:     border-box;
}

/* ── 2-column layout ──────────────────────────────────────── */
.vb-profile__layout {
	display:               grid;
	grid-template-columns: 1fr var(--vb-sidebar-width);
	grid-template-areas:   "main sidebar";
	gap:                   var(--vb-gap);
	align-items:           start;
}

.vb-profile__main    { grid-area: main;    min-width: 0; }
.vb-profile__sidebar { grid-area: sidebar; min-width: 0; }

/* Sidebar sticks below the nav bar (64px) on desktop */
@media (min-width: 901px) {
	.vb-profile__sidebar {
		position: sticky;
		top:      80px;
		max-height: calc(100vh - 100px);
		overflow-y: auto;
		scrollbar-width: thin;
	}
}

/* Stack on mobile */
@media (max-width: 900px) {
	.vb-profile__layout {
		grid-template-columns: 1fr;
		grid-template-areas:   "main" "sidebar";
	}
}


/* ============================================================
 * SECTIONS
 * ============================================================ */

.vb-section {
	margin-block-end: var(--vb-section-gap);
}

.vb-section:last-child {
	margin-block-end: 0;
}

.vb-section__heading {
	margin:         0 0 0.5rem;
	font-size:      clamp(1.15rem, 2.5vw, 1.5rem);
	font-weight:    700;
	line-height:    1.25;
	letter-spacing: -0.01em;
	color:          var(--vb-navy);
}

.vb-section__subheading {
	margin:      0 0 1.25rem;
	font-size:   0.875rem;
	font-weight: 500;
	color:       var(--vb-text-muted);
	line-height: 1.4;
}

.vb-section__divider {
	display:      block;
	width:        40px;
	height:       3px;
	background:   var(--vb-blue-accent);
	border-radius: 2px;
	margin-block: 0.5rem 1.25rem;
}


/* ============================================================
 * PROFILE HERO — project identity block
 * ============================================================ */

.vb-hero {
	display:        flex;
	align-items:    flex-start;
	gap:            1.25rem;
	margin-block-end: var(--vb-section-gap);
	flex-wrap:      wrap;
}

.vb-hero__logo {
	flex-shrink: 0;
	width:       80px;
	height:      80px;
	border-radius: 16px;
	object-fit:  contain;
	background:  var(--vb-card-bg);
	padding:     8px;
	box-shadow:  var(--vb-card-shadow);
}

.vb-hero__identity {
	flex: 1;
	min-width: 0;
}

.vb-hero__name {
	margin:      0 0 0.35rem;
	font-size:   clamp(1.5rem, 3.5vw, 2.25rem);
	font-weight: 800;
	line-height: 1.15;
	color:       var(--vb-navy);
}

.vb-hero__tagline {
	margin:              0 0 0.75rem;
	font-size:           1rem;
	line-height:         1.5;
	color:               var(--vb-text-muted);
	display:             -webkit-box;
	-webkit-line-clamp:  3;
	-webkit-box-orient:  vertical;
	overflow:            hidden;
}

.vb-hero__badges {
	display:     flex;
	flex-wrap:   wrap;
	gap:         0.5rem;
	align-items: center;
}

.vb-hero__meta {
	display:     flex;
	flex-wrap:   wrap;
	align-items: center;
	gap:         0.25rem 0.5rem;
	margin-top:  0.75rem;
	font-size:   0.8125rem;
	color:       var(--vb-text-muted);
	line-height: 1.4;
}

.vb-hero__meta-label {
	color: var(--vb-text-muted);
}

.vb-hero__meta-sep {
	color:       var(--vb-border);
	user-select: none;
}


/* ============================================================
 * RMA STATUS BADGE
 * ============================================================ */

.vb-rma-badge {
	display:        inline-flex;
	align-items:    center;
	gap:            0.4rem;
	font-size:      0.8125rem;
	font-weight:    700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding:        0.3rem 0.75rem;
	border-radius:  8px;
	line-height:    1;
	white-space:    nowrap;
}

.vb-rma-badge::before {
	content:       '';
	display:       inline-block;
	width:         7px;
	height:        7px;
	border-radius: 50%;
	background:    currentColor;
}

.vb-rma-badge--active {
	color:      var(--vb-rma-active);
	background: var(--vb-rma-active-bg);
}

.vb-rma-badge--underway {
	color:      var(--vb-rma-underway);
	background: var(--vb-rma-amber-bg);
}

.vb-rma-badge--inactive {
	color:      var(--vb-rma-inactive);
	background: var(--vb-rma-red-bg);
}


/* ============================================================
 * CATEGORY PILL
 * ============================================================ */

.vb-category-pill {
	display:       inline-flex;
	align-items:   center;
	font-size:     0.8125rem;
	font-weight:   500;
	padding:       0.3rem 0.75rem;
	border-radius: 8px;
	border:        1px solid var(--vb-border);
	color:         var(--vb-text-muted);
	white-space:   nowrap;
}


/* ============================================================
 * SCORE CARDS — Transparency / MES
 * ============================================================ */

.vb-gauge-row {
	display:               grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap:                   clamp(0.75rem, 1.5vw, 1rem);
	margin-block-end:      1.5rem;
}

.vb-gauge-card {
	background:    linear-gradient(135deg, var(--vb-navy-dark) 0%, var(--vb-navy-mid) 60%, var(--vb-navy) 100%);
	border-radius: var(--vb-card-radius);
	border:        1px solid rgba(58, 107, 255, 0.2);
	padding:       clamp(1rem, 2vw, 1.5rem);
	display:       flex;
	flex-direction: column;
	gap:           0.5rem;
	box-shadow:    0 0 32px rgba(58, 107, 255, 0.1), 0 4px 16px rgba(0,0,0,0.2);
	transition:    box-shadow 0.2s ease, transform 0.2s ease;
}

.vb-gauge-card:hover {
	box-shadow:    0 0 48px rgba(58, 107, 255, 0.18), 0 8px 28px rgba(0,0,0,0.25);
	transform:     var(--vb-card-hover-transform);
}

.vb-gauge-card__label {
	font-size:      0.75rem;
	font-weight:    600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color:          rgba(255,255,255,0.65);
	margin:         0;
}

.vb-gauge-card__value {
	font-size:   clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 800;
	line-height: 1;
	color:       #fff;
	margin:      0;
}

.vb-gauge-card__sub {
	font-size:  0.8125rem;
	color:      rgba(255,255,255,0.5);
	margin:     0;
	line-height: 1.3;
}

/* Score bar within gauge card */
.vb-score-bar {
	height:        6px;
	border-radius: 4px;
	background:    rgba(255,255,255,0.15);
	overflow:      hidden;
	margin-top:    0.25rem;
}

.vb-score-bar__fill {
	height:        100%;
	border-radius: 4px;
	background:    var(--vb-blue-accent);
	transition:    width 0.6s ease;
}


/* ============================================================
 * TOKEN CARD
 * ============================================================ */

.vb-token-card {
	background:    var(--vb-card-bg);
	border-radius: var(--vb-card-radius);
	box-shadow:    var(--vb-card-shadow);
	padding:       clamp(1.25rem, 2vw, 1.75rem);
	display:       grid;
	grid-template-columns: 1fr 1fr;
	gap:           1.5rem clamp(1rem, 3vw, 2rem);
	transition:    box-shadow 0.2s ease, transform 0.2s ease;
}

.vb-token-card:hover {
	box-shadow: var(--vb-card-hover-shadow);
	transform:  var(--vb-card-hover-transform);
}

.vb-token-card__meta { /* left column */ }
.vb-token-card__price { /* right column */ }

.vb-token-card__ticker {
	font-size:      1.5rem;
	font-weight:    800;
	color:          var(--vb-navy);
	margin:         0 0 0.25rem;
	letter-spacing: -0.01em;
}

.vb-token-card__name {
	font-size:  0.875rem;
	color:      var(--vb-text-muted);
	margin:     0 0 1rem;
}

.vb-token-card__price-value {
	font-size:   clamp(1.25rem, 3vw, 1.75rem);
	font-weight: 800;
	color:       var(--vb-navy);
	margin:      0 0 0.25rem;
}

.vb-token-card__price-change {
	font-size:   0.875rem;
	font-weight: 600;
	margin:      0;
}

.vb-token-card__price-change--up   { color: var(--vb-rma-active); }
.vb-token-card__price-change--down { color: var(--vb-rma-inactive); }
.vb-token-card__price-change--flat { color: var(--vb-text-muted); }

/* Token detail row: ticker, chain, contract address */
.vb-token-detail {
	display:        flex;
	flex-wrap:      wrap;
	gap:            0.5rem 1rem;
	margin-block:   1rem 0;
	padding-block-start: 1rem;
	border-top:     1px solid var(--vb-border);
	font-size:      0.8125rem;
	color:          var(--vb-text-muted);
}

.vb-token-detail__item {
	display:     flex;
	align-items: center;
	gap:         0.35rem;
}

.vb-token-detail__label {
	font-weight: 600;
	color:       var(--vb-text);
}

@media (max-width: 600px) {
	.vb-token-card {
		grid-template-columns: 1fr;
	}
}


/* ============================================================
 * EXCHANGE LISTINGS — CEX & DEX
 * ============================================================ */

.vb-exchange-grid {
	display:               grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap:                   clamp(0.75rem, 1.5vw, 1rem);
}

.vb-exchange-card {
	background:    var(--vb-card-bg);
	border-radius: var(--vb-card-radius);
	box-shadow:    var(--vb-card-shadow);
	padding:       1rem 1.25rem;
	display:       flex;
	align-items:   center;
	gap:           0.875rem;
	text-decoration: none;
	color:         inherit;
	transition:    box-shadow 0.2s ease, transform 0.2s ease;
}

.vb-exchange-card:hover {
	box-shadow: var(--vb-card-hover-shadow);
	transform:  var(--vb-card-hover-transform);
}

.vb-exchange-card__logo {
	flex-shrink: 0;
	width:       40px;
	height:      40px;
	border-radius: 10px;
	object-fit:  contain;
	background:  #fff;
	padding:     4px;
	box-shadow:  0 1px 3px rgba(0,0,0,0.1);
}

.vb-exchange-card__info { min-width: 0; }

.vb-exchange-card__name {
	font-size:   0.9375rem;
	font-weight: 700;
	color:       var(--vb-text);
	margin:      0 0 0.125rem;
	white-space: nowrap;
	overflow:    hidden;
	text-overflow: ellipsis;
}

.vb-exchange-card__type {
	font-size:  0.75rem;
	color:      var(--vb-text-muted);
	margin:     0;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-weight: 600;
}

.vb-confidence-badge {
	margin-left:    auto;
	flex-shrink:    0;
	font-size:      0.75rem;
	font-weight:    700;
	letter-spacing: 0.04em;
	padding:        0.2rem 0.55rem;
	border-radius:  6px;
}

.vb-confidence-badge--high   { background: var(--vb-rma-active-bg);  color: var(--vb-rma-active); }
.vb-confidence-badge--medium { background: var(--vb-rma-amber-bg);   color: var(--vb-rma-underway); }
.vb-confidence-badge--low    { background: var(--vb-rma-red-bg);     color: var(--vb-rma-inactive); }


/* ============================================================
 * SOCIAL PLATFORM CARDS
 * ============================================================ */

.vb-social-grid {
	display:               grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap:                   clamp(0.75rem, 1.5vw, 1rem);
	margin-block-end:      var(--vb-section-gap);
}

.vb-social-card {
	background:    var(--vb-card-bg);
	border-radius: var(--vb-card-radius);
	box-shadow:    var(--vb-card-shadow);
	padding:       1.25rem;
	display:       flex;
	flex-direction: column;
	gap:           0.625rem;
	text-decoration: none;
	color:         inherit;
	transition:    box-shadow 0.2s ease, transform 0.2s ease;
	border-top:    3px solid var(--vb-platform-color, var(--vb-blue-accent));
}

.vb-social-card:hover {
	box-shadow: var(--vb-card-hover-shadow);
	transform:  var(--vb-card-hover-transform);
}

/* Per-platform brand colour tokens */
.vb-social-card--x           { --vb-platform-color: #000000; }
.vb-social-card--telegram     { --vb-platform-color: #26a5e4; }
.vb-social-card--linkedin     { --vb-platform-color: #0a66c2; }
.vb-social-card--discord      { --vb-platform-color: #5865f2; }
.vb-social-card--instagram    { --vb-platform-color: #e1306c; }
.vb-social-card--facebook     { --vb-platform-color: #1877f2; }
.vb-social-card--youtube      { --vb-platform-color: #ff0000; }
.vb-social-card--tiktok       { --vb-platform-color: #010101; }

.vb-social-card__platform {
	display:     flex;
	align-items: center;
	gap:         0.5rem;
}

.vb-social-card__icon {
	width:  20px;
	height: 20px;
	flex-shrink: 0;
	object-fit: contain;
}

.vb-social-card__name {
	font-size:      0.8125rem;
	font-weight:    700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color:          var(--vb-platform-color, var(--vb-text-muted));
	margin:         0;
}

.vb-social-card__handle {
	font-size:  0.875rem;
	color:      var(--vb-text-muted);
	margin:     0;
	white-space: nowrap;
	overflow:   hidden;
	text-overflow: ellipsis;
}

.vb-social-card__followers {
	font-size:   1.5rem;
	font-weight: 800;
	color:       var(--vb-navy);
	margin:      0;
	line-height: 1;
}

.vb-social-card__followers-label {
	font-size:  0.75rem;
	color:      var(--vb-text-muted);
	margin:     0;
}

/* Aggregate audience card — wider summary card */
.vb-audience-card {
	background:    linear-gradient(135deg, var(--vb-navy-dark) 0%, var(--vb-navy-mid) 100%);
	border-radius: var(--vb-card-radius);
	padding:       clamp(1.25rem, 2vw, 1.75rem);
	display:       flex;
	align-items:   center;
	gap:           2rem;
	flex-wrap:     wrap;
	margin-block-end: 1rem;
}

.vb-audience-card__total {
	flex-shrink: 0;
}

.vb-audience-card__number {
	font-size:   clamp(2rem, 5vw, 3rem);
	font-weight: 800;
	color:       #fff;
	margin:      0;
	line-height: 1;
}

.vb-audience-card__label {
	font-size:  0.875rem;
	color:      rgba(255,255,255,0.6);
	margin:     0.25rem 0 0;
}

.vb-audience-card__breakdown {
	display:  flex;
	flex-wrap: wrap;
	gap:      0.75rem 1.5rem;
}

.vb-audience-card__item {
	display:     flex;
	flex-direction: column;
	gap:         0.125rem;
}

.vb-audience-card__platform {
	font-size:      0.6875rem;
	font-weight:    700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color:          rgba(255,255,255,0.5);
}

.vb-audience-card__count {
	font-size:   1rem;
	font-weight: 700;
	color:       #fff;
}

/* Growth evolution list */
.vb-evolution-list {
	list-style: none;
	margin:     0;
	padding:    0;
	display:    flex;
	flex-direction: column;
	gap:        0.5rem;
}

.vb-evolution-item {
	display:        flex;
	align-items:    center;
	gap:            0.75rem;
	padding:        0.75rem 1rem;
	background:     var(--vb-card-bg);
	border-radius:  10px;
	font-size:      0.875rem;
}

.vb-evolution-item__platform {
	font-weight: 700;
	color:       var(--vb-text);
	min-width:   80px;
}

.vb-evolution-item__bar {
	flex:          1;
	height:        6px;
	border-radius: 3px;
	background:    var(--vb-border);
	overflow:      hidden;
}

.vb-evolution-item__bar-fill {
	height:     100%;
	border-radius: 3px;
	background: var(--vb-blue-accent);
}

.vb-evolution-item__delta {
	font-size:   0.875rem;
	font-weight: 700;
	min-width:   56px;
	text-align:  right;
}

.vb-evolution-item__delta--pos { color: var(--vb-rma-active); }
.vb-evolution-item__delta--neg { color: var(--vb-rma-inactive); }
.vb-evolution-item__delta--neu { color: var(--vb-text-muted); }


/* ============================================================
 * PR IMPACT TABLE
 * ============================================================ */

.vb-pr-table {
	width:           100%;
	border-collapse: separate;
	border-spacing:  0;
	font-size:       0.875rem;
}

.vb-pr-table th {
	padding:        0.625rem 0.875rem;
	font-size:      0.75rem;
	font-weight:    700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color:          var(--vb-text-muted);
	border-bottom:  2px solid var(--vb-border);
	text-align:     left;
	white-space:    nowrap;
}

.vb-pr-table td {
	padding:        0.75rem 0.875rem;
	border-bottom:  1px solid var(--vb-border);
	color:          var(--vb-text);
	vertical-align: middle;
}

.vb-pr-table tr:last-child td {
	border-bottom: none;
}

.vb-pr-table tr:hover td {
	background: color-mix(in srgb, var(--vb-blue-accent) 4%, transparent);
}

.vb-pr-type-badge {
	display:       inline-flex;
	align-items:   center;
	font-size:     0.6875rem;
	font-weight:   700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding:       0.2rem 0.55rem;
	border-radius: 6px;
	white-space:   nowrap;
}

.vb-pr-type-badge--collaboration { background: #ede9fe; color: #6d28d9; }
.vb-pr-type-badge--sponsored     { background: var(--vb-rma-amber-bg);  color: #92400e; }
.vb-pr-type-badge--organic       { background: var(--vb-rma-active-bg); color: var(--vb-rma-active); }

.vb-pr-table-wrap {
	overflow-x:    auto;
	border-radius: var(--vb-card-radius);
	box-shadow:    var(--vb-card-shadow);
	background:    var(--vb-card-bg);
}

.vb-pr-table-wrap .vb-pr-table {
	margin: 0;
}


/* ============================================================
 * REVIEWS — external platforms
 * ============================================================ */

.vb-reviews-grid {
	display:               grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap:                   clamp(0.75rem, 1.5vw, 1rem);
}

.vb-review-card {
	background:    var(--vb-card-bg);
	border-radius: var(--vb-card-radius);
	box-shadow:    var(--vb-card-shadow);
	padding:       1.25rem;
	display:       flex;
	flex-direction: column;
	gap:           0.75rem;
	transition:    box-shadow 0.2s ease, transform 0.2s ease;
}

.vb-review-card:hover {
	box-shadow: var(--vb-card-hover-shadow);
	transform:  var(--vb-card-hover-transform);
}

.vb-review-card__header {
	display:     flex;
	align-items: center;
	gap:         0.625rem;
}

.vb-review-card__logo {
	width:  32px;
	height: 32px;
	object-fit: contain;
	flex-shrink: 0;
}

.vb-review-card__platform {
	font-size:   0.875rem;
	font-weight: 700;
	color:       var(--vb-text);
	margin:      0;
}

.vb-review-card__score {
	font-size:   2rem;
	font-weight: 800;
	color:       var(--vb-navy);
	margin:      0;
	line-height: 1;
}

.vb-review-card__score-max {
	font-size:  0.875rem;
	color:      var(--vb-text-muted);
	margin-left: 0.125rem;
}

/* Star row */
.vb-star-row {
	display:     flex;
	align-items: center;
	gap:         0.25rem;
}

.vb-star {
	display:    inline-block;
	width:      14px;
	height:     14px;
	clip-path:  polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
	flex-shrink: 0;
}

.vb-star--full  { background: #f59e0b; }
.vb-star--half  { background: linear-gradient(90deg, #f59e0b 50%, #d1d5db 50%); }
.vb-star--empty { background: #d1d5db; }

.vb-review-card__count {
	font-size:  0.8125rem;
	color:      var(--vb-text-muted);
	margin:     0;
}

.vb-review-card__cta {
	font-size:      0.8125rem;
	font-weight:    600;
	color:          var(--vb-blue-accent);
	text-decoration: none;
	margin-top:     auto;
}

.vb-review-card__cta:hover {
	text-decoration: underline;
}


/* ============================================================
 * RMA INFO BLOCK — main content (active state)
 * ============================================================ */

/* Outer flex row: data block + RMA card side by side */
.vb-rma-layout {
	display:          flex;
	gap:              16px;
	align-items:      stretch;
	margin-block-end: 1.5rem;
}

.vb-rma-layout .vb-rma-block {
	flex:            1;
	min-width:       0;
	margin-block-end: 0;
	justify-content: space-between;
}

.vb-rma-layout .vb-sidebar-rma-widget {
	flex-shrink:     0;
	width:           220px;
	aspect-ratio:    1 / 1;
	justify-content: center;
}

.vb-rma-block {
	display:       flex;
	gap:           clamp(1.5rem, 3vw, 2.5rem);
	align-items:   flex-start;
	background:    var(--vb-card-bg);
	border-radius: var(--vb-card-radius);
	box-shadow:    var(--vb-card-shadow);
	padding:       clamp(1.25rem, 2vw, 1.75rem);
	margin-block-end: 1.5rem;
}

.vb-rma-block__data {
	flex:      1;
	min-width: 0;
}

.vb-rma-block__list {
	list-style:     none;
	margin:         0 0 1rem;
	padding:        0;
	display:        flex;
	flex-direction: column;
	gap:            0;
}

.vb-rma-block__item {
	display:         flex;
	align-items:     center;
	gap:             0.75rem;
	font-size:       1rem;
	padding-block:   0.875rem;
	border-bottom:   1px solid var(--vb-border);
	flex-wrap:       wrap;
}

.vb-rma-block__item:last-child { border-bottom: none; }

.vb-rma-block__key {
	font-weight: 700;
	color:       var(--vb-text);
	flex-shrink: 0;
	min-width:   160px;
}

.vb-rma-block__val {
	color:      var(--vb-text-muted);
	word-break: break-word;
	display:    flex;
	align-items: center;
	gap:        0.375rem;
	flex-wrap:  wrap;
}

.vb-rma-block__val a {
	color:           var(--vb-blue-accent);
	text-decoration: none;
}

.vb-rma-block__val a:hover { text-decoration: underline; }

.vb-rma-block__val img {
	width:      18px;
	height:     18px;
	object-fit: contain;
	flex-shrink: 0;
}

.vb-rma-block__verify-link {
	font-size:       0.75rem;
	color:           var(--vb-text-muted);
	text-decoration: none;
}

.vb-rma-block__verify-link:hover { text-decoration: underline; }

.vb-rma-block__badge {
	flex-shrink:    0;
	display:        flex;
	flex-direction: column;
	align-items:    center;
	gap:            0.875rem;
	min-width:      130px;
	text-align:     center;
}

.vb-rma-block__badge-img {
	width:      120px;
	height:     auto;
	object-fit: contain;
}

.vb-rma-block__download-cta {
	display:         block;
	padding:         0.5rem 0.875rem;
	background:      var(--vb-navy);
	color:           #fff !important;
	text-decoration: none;
	border-radius:   8px;
	font-size:       0.8125rem;
	font-weight:     700;
	text-align:      center;
	white-space:     nowrap;
	transition:      background 0.15s ease;
}

.vb-rma-block__download-cta:hover {
	background: var(--vb-navy-mid);
}

@media (max-width: 600px) {
	.vb-rma-block { flex-direction: column; }
	.vb-rma-block__badge { width: 100%; flex-direction: row; justify-content: flex-start; }
}


/* ============================================================
 * MES CATEGORY CARDS — 6-col grid
 * ============================================================ */

.vb-mes-grid {
	display:               grid;
	grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
	gap:                   clamp(0.75rem, 1.5vw, 1rem);
}

.vb-mes-card {
	background:     var(--vb-card-bg);
	border-radius:  var(--vb-card-radius);
	box-shadow:     var(--vb-card-shadow);
	padding:        1rem 1.125rem;
	display:        flex;
	flex-direction: column;
	gap:            0.75rem;
	border-top:     3px solid var(--vb-mes-color, var(--vb-border));
	transition:     box-shadow 0.2s ease, transform 0.2s ease;
}

.vb-mes-card:hover {
	box-shadow: var(--vb-card-hover-shadow);
	transform:  var(--vb-card-hover-transform);
}

.vb-mes-card__title {
	font-size:      0.75rem;
	font-weight:    700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color:          var(--vb-text);
	margin:         0;
	line-height:    1.35;
}

.vb-mes-card__status {
	display:     inline-flex;
	align-items: center;
	gap:         0.3rem;
	font-size:   0.8125rem;
	font-weight: 600;
	color:       var(--vb-mes-color, var(--vb-text-muted));
	margin-top:  auto;
	line-height: 1.3;
}

.vb-mes-card__status::before {
	content:       '';
	display:       inline-block;
	width:         7px;
	height:        7px;
	border-radius: 50%;
	background:    var(--vb-mes-color, var(--vb-border));
	flex-shrink:   0;
}

/* Status colour tokens */
.vb-mes-card--exceeded   { --vb-mes-color: var(--vb-rma-active); }
.vb-mes-card--met        { --vb-mes-color: var(--vb-blue-accent); }
.vb-mes-card--partial    { --vb-mes-color: var(--vb-rma-underway); }
.vb-mes-card--commenced  { --vb-mes-color: var(--vb-rma-underway); }
.vb-mes-card--unverified,
.vb-mes-card--expired    { --vb-mes-color: var(--vb-rma-inactive); }
.vb-mes-card--exempted   { --vb-mes-color: var(--vb-text-muted); }


/* ============================================================
 * COMPLIANCE GRID
 * ============================================================ */

.vb-compliance-grid {
	display:               grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap:                   clamp(0.625rem, 1.25vw, 0.875rem);
}

.vb-compliance-badge {
	background:    var(--vb-card-bg);
	border-radius: 12px;
	padding:       0.875rem 1rem;
	display:       flex;
	align-items:   center;
	gap:           0.625rem;
	box-shadow:    var(--vb-card-shadow);
	font-size:     0.875rem;
	font-weight:   600;
	color:         var(--vb-text);
	transition:    box-shadow 0.2s ease;
}

.vb-compliance-badge--pass  { border-left: 3px solid var(--vb-rma-active); }
.vb-compliance-badge--fail  { border-left: 3px solid var(--vb-rma-inactive); }
.vb-compliance-badge--na    { border-left: 3px solid var(--vb-text-muted); }

.vb-compliance-badge__icon {
	width:  18px;
	height: 18px;
	flex-shrink: 0;
}

.vb-compliance-badge__label {
	flex:      1;
	min-width: 0;
	overflow:  hidden;
	text-overflow: ellipsis;
	white-space:   nowrap;
}

.vb-compliance-badge__status {
	font-size:   0.75rem;
	margin-left: auto;
	flex-shrink: 0;
}

.vb-compliance-badge--pass .vb-compliance-badge__status { color: var(--vb-rma-active); }
.vb-compliance-badge--fail .vb-compliance-badge__status { color: var(--vb-rma-inactive); }
.vb-compliance-badge--na   .vb-compliance-badge__status { color: var(--vb-text-muted); }


/* ============================================================
 * BACKGROUND SECTION — history, team, assets
 * ============================================================ */

.vb-background-layout {
	display:               grid;
	grid-template-columns: 1fr 1fr;
	gap:                   var(--vb-gap);
}

@media (max-width: 720px) {
	.vb-background-layout { grid-template-columns: 1fr; }
}

.vb-background-meta { /* left: founding, HQ, links etc */ }
.vb-background-meta__list {
	list-style: none;
	margin:     0;
	padding:    0;
	display:    flex;
	flex-direction: column;
	gap:        0.5rem;
}

.vb-background-meta__item {
	display:     flex;
	align-items: baseline;
	gap:         0.5rem;
	font-size:   0.875rem;
}

.vb-background-meta__key {
	font-weight: 700;
	color:       var(--vb-text);
	min-width:   100px;
	flex-shrink: 0;
}

.vb-background-meta__val {
	color: var(--vb-text-muted);
}

/* Assets list */
.vb-assets-list {
	list-style: none;
	margin:     0;
	padding:    0;
	display:    flex;
	flex-wrap:  wrap;
	gap:        0.5rem;
}

.vb-assets-list__item {
	display:        inline-flex;
	align-items:    center;
	gap:            0.375rem;
	padding:        0.35rem 0.75rem;
	background:     var(--vb-card-bg);
	border:         1px solid var(--vb-border);
	border-radius:  8px;
	font-size:      0.8125rem;
	font-weight:    500;
	color:          var(--vb-text);
	text-decoration: none;
	transition:     background 0.15s ease;
}

.vb-assets-list__item:hover {
	background: color-mix(in srgb, var(--vb-blue-accent) 8%, var(--vb-card-bg));
}


/* ============================================================
 * TEAM GRID
 * ============================================================ */

.vb-team-grid {
	display:               grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap:                   clamp(0.75rem, 1.5vw, 1rem);
}

.vb-team-card {
	background:    var(--vb-card-bg);
	border-radius: var(--vb-card-radius);
	box-shadow:    var(--vb-card-shadow);
	padding:       1.25rem;
	display:       flex;
	flex-direction: column;
	align-items:   flex-start;
	gap:           0.625rem;
	transition:    box-shadow 0.2s ease, transform 0.2s ease;
}

.vb-team-card:hover {
	box-shadow: var(--vb-card-hover-shadow);
	transform:  var(--vb-card-hover-transform);
}

.vb-team-card__avatar {
	width:         56px;
	height:        56px;
	border-radius: 50%;
	object-fit:    cover;
	background:    var(--vb-border);
}

.vb-team-card__name {
	font-size:   0.9375rem;
	font-weight: 700;
	color:       var(--vb-text);
	margin:      0;
}

.vb-team-card__title {
	font-size:  0.8125rem;
	color:      var(--vb-text-muted);
	margin:     0;
	line-height: 1.3;
}

.vb-team-card__links {
	display:  flex;
	gap:      0.5rem;
	margin-top: auto;
}

.vb-team-card__link {
	display:     inline-flex;
	align-items: center;
	width:       28px;
	height:      28px;
	border-radius: 6px;
	background:  var(--vb-border);
	justify-content: center;
	color:       var(--vb-text-muted);
	text-decoration: none;
	font-size:   0.8125rem;
	transition:  background 0.15s ease;
}

.vb-team-card__link:hover {
	background: var(--vb-navy);
	color:      #fff;
}


/* ============================================================
 * NOTABLE ACHIEVEMENTS TIMELINE
 * ============================================================ */

.vb-timeline {
	list-style: none;
	margin:     0;
	padding:    0;
	display:    flex;
	flex-direction: column;
	gap:        0;
	position:   relative;
}

/* Vertical connector line */
.vb-timeline::before {
	content:    '';
	position:   absolute;
	left:       11px;
	top:        6px;
	bottom:     6px;
	width:      2px;
	background: var(--vb-border);
}

.vb-timeline__item {
	display:     flex;
	gap:         1rem;
	padding:     0 0 1.25rem;
	position:    relative;
}

.vb-timeline__item:last-child { padding-bottom: 0; }

/* Dot */
.vb-timeline__dot {
	flex-shrink:   0;
	width:         24px;
	height:        24px;
	border-radius: 50%;
	background:    var(--vb-navy);
	border:        3px solid var(--wp--preset--color--base, #fff);
	box-shadow:    0 0 0 2px var(--vb-navy);
	margin-top:    2px;
	position:      relative;
	z-index:       1;
}

.vb-timeline__item--highlight .vb-timeline__dot {
	background: var(--vb-blue-accent);
	box-shadow: 0 0 0 2px var(--vb-blue-accent);
}

.vb-timeline__content { flex: 1; min-width: 0; }

.vb-timeline__date {
	font-size:      0.75rem;
	font-weight:    700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color:          var(--vb-text-muted);
	margin:         0 0 0.25rem;
}

.vb-timeline__title {
	font-size:   0.9375rem;
	font-weight: 700;
	color:       var(--vb-text);
	margin:      0 0 0.25rem;
}

.vb-timeline__body {
	font-size:   0.875rem;
	color:       var(--vb-text-muted);
	margin:      0;
	line-height: 1.5;
}


/* ============================================================
 * TECHNOLOGY — domain, SSL, crawl
 * ============================================================ */

.vb-domain-card {
	background:    linear-gradient(135deg, var(--vb-navy-dark) 0%, var(--vb-navy) 100%);
	border-radius: var(--vb-card-radius);
	padding:       clamp(1.25rem, 2vw, 1.75rem);
	display:       flex;
	flex-direction: column;
	gap:           1rem;
	color:         #fff;
}

.vb-domain-card__url {
	font-size:   1.125rem;
	font-weight: 700;
	color:       #fff;
	margin:      0;
	word-break:  break-all;
}

.vb-ssl-badge {
	display:       inline-flex;
	align-items:   center;
	gap:           0.375rem;
	font-size:     0.8125rem;
	font-weight:   700;
	padding:       0.3rem 0.75rem;
	border-radius: 8px;
}

.vb-ssl-badge--valid   { background: var(--vb-rma-active-bg); color: var(--vb-rma-active); }
.vb-ssl-badge--invalid { background: var(--vb-rma-red-bg);    color: var(--vb-rma-inactive); }
.vb-ssl-badge--unknown { background: rgba(255,255,255,0.15);  color: rgba(255,255,255,0.7); }

.vb-crawl-icons {
	display:  flex;
	flex-wrap: wrap;
	gap:      0.5rem;
}

.vb-crawl-icon {
	display:       inline-flex;
	align-items:   center;
	gap:           0.375rem;
	font-size:     0.75rem;
	font-weight:   600;
	padding:       0.3rem 0.625rem;
	border-radius: 6px;
	background:    rgba(255,255,255,0.1);
	color:         rgba(255,255,255,0.8);
}

.vb-crawl-icon--detected {
	background: rgba(34, 197, 94, 0.2);
	color:      #86efac;
}

.vb-domain-stats {
	display:               grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap:                   0.75rem;
}

.vb-domain-stat {
	display:        flex;
	flex-direction: column;
	gap:            0.125rem;
}

.vb-domain-stat__label {
	font-size:      0.6875rem;
	font-weight:    700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color:          rgba(255,255,255,0.5);
}

.vb-domain-stat__value {
	font-size:   1rem;
	font-weight: 700;
	color:       #fff;
}


/* ============================================================
 * SIDEBAR COMPONENTS
 * ============================================================ */

/* Sidebar inner container — stacks its children */
.vb-sidebar__inner {
	display:        flex;
	flex-direction: column;
	gap:            1rem;
}

/* Generic sidebar widget card */
.vb-sidebar-widget {
	background:    var(--vb-card-bg);
	border-radius: var(--vb-card-radius);
	box-shadow:    var(--vb-card-shadow);
	padding:       1.25rem;
	display:       flex;
	flex-direction: column;
	gap:           0.875rem;
}

.vb-sidebar-widget__heading {
	font-size:      0.8125rem;
	font-weight:    700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color:          var(--vb-text-muted);
	margin:         0;
}

/* Quick-facts list in sidebar */
.vb-quick-facts {
	list-style: none;
	margin:     0;
	padding:    0;
	display:    flex;
	flex-direction: column;
	gap:        0.5rem;
}

.vb-quick-facts__item {
	display:     flex;
	justify-content: space-between;
	align-items: baseline;
	gap:         0.5rem;
	font-size:   0.875rem;
	padding-bottom: 0.5rem;
	border-bottom:  1px solid var(--vb-border);
}

.vb-quick-facts__item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.vb-quick-facts__key {
	font-weight: 600;
	color:       var(--vb-text);
	flex-shrink: 0;
}

.vb-quick-facts__val {
	color:      var(--vb-text-muted);
	text-align: right;
	word-break: break-word;
}

/* RMA verification badge widget */
.vb-sidebar-rma-widget {
	background:    linear-gradient(135deg, var(--vb-navy-dark) 0%, var(--vb-navy) 100%);
	border-radius: var(--vb-card-radius);
	padding:       1.5rem;
	display:       flex;
	flex-direction: column;
	align-items:   center;
	text-align:    center;
	gap:           0.875rem;
	color:         #fff;
}

.vb-sidebar-rma-widget__badge-img {
	width:  140px;
	height: 140px;
	object-fit: contain;
	filter: drop-shadow(0 4px 12px rgba(0,0,0,0.4));
}

.vb-sidebar-rma-widget__label {
	font-size:      0.75rem;
	font-weight:    700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color:          rgba(255,255,255,0.6);
	margin:         0;
}

.vb-sidebar-rma-widget__name {
	font-size:   1.125rem;
	font-weight: 800;
	margin:      0;
}

.vb-sidebar-rma-widget__date {
	font-size:  0.8125rem;
	color:      rgba(255,255,255,0.5);
	margin:     0;
}

@keyframes vb-jiggle {
	0%, 100% { transform: rotate(0deg); }
	20%       { transform: rotate(-3deg); }
	40%       { transform: rotate(3deg); }
	60%       { transform: rotate(-2deg); }
	80%       { transform: rotate(2deg); }
}

.vb-sidebar-rma-widget__cta {
	display:         inline-block;
	padding:         0.625rem 1.25rem;
	background:      var(--vb-blue-accent);
	color:           #fff;
	text-decoration: none;
	border-radius:   10px;
	font-size:       0.875rem;
	font-weight:     700;
	transition:      background 0.15s ease;
	width:           auto;
}

.vb-sidebar-rma-widget__cta:hover {
	background: color-mix(in srgb, var(--vb-blue-accent) 85%, #000);
	animation: vb-jiggle 0.4s ease;
}

/* Sidebar score mini-cards */
.vb-sidebar-score-row {
	display:               grid;
	grid-template-columns: 1fr 1fr;
	gap:                   0.625rem;
}

.vb-sidebar-score-card {
	background:    linear-gradient(135deg, var(--vb-navy-dark), var(--vb-navy));
	border-radius: 12px;
	padding:       0.875rem;
	display:       flex;
	flex-direction: column;
	gap:           0.25rem;
}

.vb-sidebar-score-card__label {
	font-size:      0.625rem;
	font-weight:    700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color:          rgba(255,255,255,0.5);
	margin:         0;
}

.vb-sidebar-score-card__value {
	font-size:   1.5rem;
	font-weight: 800;
	color:       #fff;
	margin:      0;
	line-height: 1;
}

.vb-sidebar-score-card__rank {
	font-size:  0.75rem;
	color:      rgba(255,255,255,0.45);
	margin:     0;
}


/* ============================================================
 * AD SLOTS
 * ============================================================ */

/* Spacing: bar-chart score block before social/other content within a section */
.vb-profile .vbt-scores-section {
	margin-block-end: var(--vb-section-gap);
}

/* Ad slots — injected by KeystoneAds via data-keystoneads-slot attribute */
.vb-ad-slot {
	display: block;
	min-height: 1px; /* prevents collapse before ad loads */
}

.vb-ad-slot--sidebar {
	width: 100%;
	max-width: var(--vb-sidebar-width);
}

.vb-ad-slot--inline {
	width: 100%;
	margin-block: 1rem;
}

/* Make keystoneads images responsive within their containers */
.vb-ad-slot .keystoneads-link {
	display: block;
}

.vb-ad-slot--inline .keystoneads-img {
	width:         100%;
	height:        200px;
	object-fit:    cover;
	object-position: center;
	display:       block;
	border-radius: var(--vb-card-radius);
}

.vb-ad-slot--sidebar .keystoneads-img {
	width:         100%;
	height:        auto;
	display:       block;
	border-radius: var(--vb-card-radius);
}


/* ============================================================
 * UTILITY — show/hide responsive
 * ============================================================ */

@media (min-width: 901px) {
	.vb-hide-desktop { display: none !important; }
}

@media (max-width: 900px) {
	.vb-hide-mobile { display: none !important; }
}


/* ============================================================
 * INFO BANNER — "unverified" state notice
 * ============================================================ */

.vb-notice-banner {
	display:       flex;
	align-items:   flex-start;
	gap:           0.875rem;
	padding:       1rem 1.25rem;
	border-radius: 12px;
	border-left:   4px solid var(--vb-notice-color, var(--vb-text-muted));
	background:    color-mix(in srgb, var(--vb-notice-color, var(--vb-text-muted)) 6%, var(--vb-card-bg));
	margin-block-end: 1.5rem;
	font-size:     0.875rem;
	line-height:   1.5;
}

.vb-notice-banner--info     { --vb-notice-color: var(--vb-blue-accent); }
.vb-notice-banner--warning  { --vb-notice-color: var(--vb-rma-underway); }
.vb-notice-banner--error    { --vb-notice-color: var(--vb-rma-inactive); }
.vb-notice-banner--success  { --vb-notice-color: var(--vb-rma-active); }

.vb-notice-banner__icon {
	flex-shrink: 0;
	font-size:   1.125rem;
	line-height: 1.3;
}

.vb-notice-banner__text { flex: 1; color: var(--vb-text); }
.vb-notice-banner__text strong { font-weight: 700; }


/* ============================================================
 * EMPTY STATE
 * ============================================================ */

.vb-empty-state {
	padding:        clamp(2rem, 5vw, 3rem) 1.5rem;
	text-align:     center;
	border-radius:  var(--vb-card-radius);
	background:     var(--vb-card-bg);
	color:          var(--vb-text-muted);
	font-size:      0.9375rem;
}

.vb-empty-state__icon {
	font-size:     2rem;
	margin-block-end: 0.5rem;
	display:       block;
}


/* ============================================================
 * SECTION NAV — in-page jump links (replaces old TOC sidebar)
 * ============================================================ */

.vb-section-nav {
	background:    var(--vb-card-bg);
	border-radius: var(--vb-card-radius);
	box-shadow:    var(--vb-card-shadow);
	padding:       1.25rem;
	overflow:      hidden;
}

.vb-section-nav__heading {
	font-size:      0.8125rem;
	font-weight:    700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color:          var(--vb-text-muted);
	margin:         0 0 0.875rem;
}

.vb-section-nav__list {
	list-style: none;
	margin:     0;
	padding:    0;
	display:    flex;
	flex-direction: column;
	gap:        0.125rem;
}

.vb-section-nav__item a {
	display:        flex;
	align-items:    center;
	gap:            0.5rem;
	padding:        0.5rem 0.75rem;
	border-radius:  8px;
	font-size:      0.875rem;
	font-weight:    500;
	color:          var(--vb-text);
	text-decoration: none;
	transition:     background 0.15s ease, color 0.15s ease;
}

.vb-section-nav__item a:hover,
.vb-section-nav__item a[aria-current="true"] {
	background: color-mix(in srgb, var(--vb-navy) 8%, transparent);
	color:      var(--vb-navy);
	font-weight: 700;
}

.vb-section-nav__item a::before {
	content:       '';
	display:       block;
	width:         6px;
	height:        6px;
	border-radius: 50%;
	background:    var(--vb-border);
	flex-shrink:   0;
	transition:    background 0.15s ease;
}

.vb-section-nav__item a:hover::before,
.vb-section-nav__item a[aria-current="true"]::before {
	background: var(--vb-navy);
}


/* ============================================================
 * MOBILE RESPONSIVE ADJUSTMENTS
 * ============================================================ */

@media (max-width: 600px) {
	.vb-social-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.vb-reviews-grid {
		grid-template-columns: 1fr;
	}

	.vb-exchange-grid {
		grid-template-columns: 1fr;
	}

	.vb-gauge-row {
		grid-template-columns: repeat(2, 1fr);
	}

	.vb-team-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.vb-compliance-grid {
		grid-template-columns: 1fr;
	}

	.vb-token-card {
		grid-template-columns: 1fr;
	}

	.vb-sidebar-score-row {
		grid-template-columns: 1fr 1fr;
	}

	.vb-hero {
		gap: 1rem;
	}

	.vb-hero__logo {
		width:  60px;
		height: 60px;
	}
}

/* ── Template-level suppressions ──────────────────────────────────────────── */
/* Prevent the theme's .toc-container component from rendering inside
   any page that contains a .vb-profile layout. The theme TOC is only
   appropriate for article/blog templates, not profile pages.           */
.vb-profile ~ .toc-container,
.showcase-page .toc-container,
.entry-content:has(.vb-profile) .toc-container { display: none !important; }

/* ── Article-meta suppression on profile pages ────────────────────────────── */
/* The post-no-title FSE template still renders the WP post title block,
   Keystone's author/date/read-time meta, and author bio. None of these
   belong on a project profile — the profile hero carries that content. */
body.post-template-wp-custom-template-post-no-title .wp-block-post-title,
body.post-template-wp-custom-template-post-no-title .keystone-post-meta,
body.post-template-wp-custom-template-post-no-title .keystone-author-bio {
	display: none !important;
}
