/* ==========================================================================
   Buy Healthy Peptides — "Clinical Journal"
   Evidence-first reference styling layered over Twenty Twenty-Five.
   ========================================================================== */
:root{
	--bhp-deep:var(--wp--preset--color--accent-1);
	--bhp-green:var(--wp--preset--color--accent-2);
	/* Accent green is for rules and marks. Green *text* on white needs a darker
	   value to clear WCAG AA (4.5:1) — #2E8F6E only reaches 3.98:1. */
	--bhp-green-text:#227A5C;
	--bhp-darker:var(--wp--preset--color--accent-3);
	--bhp-muted:var(--wp--preset--color--accent-4);
	--bhp-tint:var(--wp--preset--color--accent-5);
	--bhp-rule:color-mix(in srgb, var(--bhp-deep) 16%, transparent);
	--bhp-rule-soft:color-mix(in srgb, var(--bhp-deep) 9%, transparent);
	--bhp-serif:var(--wp--preset--font-family--reading-serif);
	--bhp-sans:var(--wp--preset--font-family--manrope);
}
::selection{background:color-mix(in srgb, var(--bhp-green) 28%, transparent)}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* ---------- links ---------- */
.wp-site-blocks a:where(:not(.wp-element-button):not(.wp-block-navigation-item__content)){
	color:var(--bhp-deep);text-decoration-thickness:1px;text-underline-offset:.18em;
	text-decoration-color:color-mix(in srgb, var(--bhp-deep) 38%, transparent);
	transition:color .15s ease, text-decoration-color .15s ease;
}
.wp-site-blocks a:where(:not(.wp-element-button)):hover{color:var(--bhp-green-text);text-decoration-color:currentColor}

/* ---------- headings ---------- */
h1,h2,h3,h4,h5,h6{font-family:var(--bhp-sans);font-weight:700;letter-spacing:-.02em;line-height:1.15;color:var(--bhp-deep)}
/* long unbroken tokens (domain names, sequence strings) must not force a
   horizontal scrollbar on narrow screens */
h1,h2,h3,h4,h5,h6,.wp-block-post-content,.wp-block-post-content b,.wp-block-post-content strong{overflow-wrap:break-word}
.wp-block-post-title{letter-spacing:-.03em;line-height:1.08;color:var(--bhp-darker);text-wrap:balance}

/* ---------- site header ---------- */
header.wp-block-template-part .wp-block-site-title a{font-family:var(--bhp-sans);font-weight:800;letter-spacing:-.02em;color:var(--bhp-darker);text-decoration:none}
.wp-block-navigation .wp-block-navigation-item__content{font-family:var(--bhp-sans);font-size:.95rem;font-weight:500;color:var(--bhp-darker)}
.wp-block-navigation .wp-block-navigation-item__content:hover{color:var(--bhp-green)}

/* ==========================================================================
   ARTICLE BODY
   ========================================================================== */
.single .wp-block-post-content,.page .wp-block-post-content{
	font-family:var(--bhp-serif);
	font-size:clamp(1.0625rem,1.005rem + .28vw,1.1875rem);
	line-height:1.75;color:#1b2b29;
}
.single .wp-block-post-content p{margin-block:0 1.15em}
.single .wp-block-post-content > h2{
	font-size:clamp(1.45rem,1.28rem + .78vw,1.9rem);
	margin-block:2.4em .55em;padding-top:.9em;border-top:1px solid var(--bhp-rule);
}
.single .wp-block-post-content > h2:first-child{border-top:0;padding-top:0;margin-top:1.2em}
.single .wp-block-post-content h3{
	font-size:clamp(1.14rem,1.06rem + .34vw,1.32rem);
	margin-block:1.9em .45em;color:var(--bhp-darker);
}
.single .wp-block-post-content h4{font-size:1.02rem;text-transform:uppercase;letter-spacing:.08em;color:var(--bhp-muted);margin-block:1.7em .4em}
.single .wp-block-post-content ul,.single .wp-block-post-content ol{padding-left:1.35em;margin-block:0 1.25em}
.single .wp-block-post-content li{margin-block:.34em}
.single .wp-block-post-content li::marker{color:var(--bhp-green)}
.single .wp-block-post-content strong{font-weight:700;color:var(--bhp-darker)}
.single .wp-block-post-content em{font-style:italic}
.single .wp-block-post-content code{font-family:var(--wp--preset--font-family--fira-code);font-size:.86em;background:var(--bhp-tint);padding:.12em .38em;border-radius:3px}
.single .wp-block-post-content hr{border:0;border-top:1px solid var(--bhp-rule);margin-block:2.4em}

/* ---------- quick-answer / summary panel ---------- */
.single .wp-block-post-content blockquote{
	font-family:var(--bhp-sans);font-size:1.02rem;line-height:1.6;font-style:normal;
	background:var(--bhp-tint);border:1px solid var(--bhp-rule-soft);border-left:3px solid var(--bhp-green);
	border-radius:0 6px 6px 0;padding:1.15em 1.35em;margin-block:0 2em;color:var(--bhp-darker);
}
.single .wp-block-post-content blockquote p:last-child{margin-bottom:0}
.single .wp-block-post-content blockquote strong{color:var(--bhp-deep);letter-spacing:.01em}

/* ---------- data tables ---------- */
.wp-block-post-content table{
	width:100%;border-collapse:collapse;margin-block:.4em 2em;
	font-family:var(--bhp-sans);font-size:.925rem;line-height:1.5;
	border-top:2px solid var(--bhp-deep);border-bottom:1px solid var(--bhp-rule);
}
.wp-block-post-content thead th{
	background:var(--bhp-tint);color:var(--bhp-deep);text-align:left;font-weight:700;
	font-size:.775rem;text-transform:uppercase;letter-spacing:.075em;
	padding:.72em .85em;border-bottom:1px solid var(--bhp-rule);vertical-align:bottom;
}
.wp-block-post-content tbody td,.wp-block-post-content tbody th{
	padding:.72em .85em;border-bottom:1px solid var(--bhp-rule-soft);vertical-align:top;text-align:left;
}
.wp-block-post-content tbody tr:nth-child(even){background:color-mix(in srgb, var(--bhp-tint) 55%, transparent)}
.wp-block-post-content tbody tr:last-child td{border-bottom:0}
.wp-block-post-content tbody td:first-child{font-weight:600;color:var(--bhp-darker)}
.wp-block-post-content figure.wp-block-table{margin-block:.4em 2em}
.wp-block-post-content figure.wp-block-table table{margin-block:0}

/* ---------- references ---------- */
.single .wp-block-post-content > ol:last-of-type{
	font-family:var(--bhp-sans);font-size:.875rem;line-height:1.55;color:var(--bhp-muted);
	padding-left:1.6em;margin-top:.6em;
}
.single .wp-block-post-content > ol:last-of-type li{margin-block:.6em;overflow-wrap:anywhere}
.single .wp-block-post-content > ol:last-of-type a{text-decoration-color:var(--bhp-rule)}
.single .wp-block-post-content > ol:last-of-type em{color:var(--bhp-darker);font-style:italic}

/* ---------- engine-emitted notices ----------
   The engine emits these as bare <div class="bhp-*"> with no inline styles,
   so the theme owns their appearance and it stays in step with the palette. */
.wp-block-post-content .bhp-disclosure,.wp-block-post-content .bhp-disclaimer{
	font-family:var(--bhp-sans);font-size:.9rem;line-height:1.6;
	border-radius:6px;padding:1em 1.2em;
}
.wp-block-post-content .bhp-disclosure{
	background:var(--bhp-tint);border:1px solid var(--bhp-rule-soft);
	border-left:3px solid var(--bhp-green);margin:0 0 2em;color:var(--bhp-darker);
}
.wp-block-post-content .bhp-disclaimer{
	background:transparent;border:1px solid var(--bhp-rule);
	margin:3em 0 0;color:var(--bhp-muted);font-size:.83rem;
}
.wp-block-post-content .bhp-disclaimer strong{color:var(--bhp-darker)}
.wp-block-post-content .bhp-cta{margin:1.6em 0;text-align:center}
.wp-block-post-content .bhp-cta a{
	display:inline-block;background:var(--bhp-deep);color:#fff;text-decoration:none;
	padding:.75em 1.6em;border-radius:6px;font-family:var(--bhp-sans);font-weight:600;
	letter-spacing:.01em;box-shadow:0 1px 2px color-mix(in srgb, var(--bhp-darker) 18%, transparent);
}
.wp-block-post-content .bhp-cta a:hover{background:var(--bhp-green);color:#fff}

/* wide data tables get a little breathing room beyond the reading column */
@media (min-width:1180px){
	.single .wp-block-post-content > table:has(thead th:nth-child(4)){
		width:calc(100% + 150px);max-width:none;margin-left:-75px;
	}
}
.wp-block-post-content .bhp-pending-link{color:var(--bhp-muted);border-bottom:1px dotted var(--bhp-rule)}

/* ---------- in-article figures ---------- */
.wp-block-post-content figure{margin:2.2em 0}
.wp-block-post-content figure img{border-radius:6px;display:block}
.wp-block-post-content figcaption,
.wp-block-post-content .wp-element-caption{
	font-family:var(--bhp-sans);font-size:.82rem;line-height:1.5;
	color:var(--bhp-muted);margin-top:.7em;text-align:left;
	padding-left:.9em;border-left:2px solid var(--bhp-rule);
}

/* ---------- featured image ---------- */
.wp-block-post-featured-image img{border-radius:6px}
.single .wp-block-post-featured-image{margin-bottom:1.6em}

/* ==========================================================================
   LISTINGS
   ========================================================================== */
.wp-block-post-template > li{list-style:none}
.bhp-card{
	border:1px solid var(--bhp-rule-soft);border-radius:8px;overflow:hidden;background:#fff;
	transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;height:100%;
}
.bhp-card:hover{border-color:var(--bhp-rule);transform:translateY(-2px);box-shadow:0 6px 20px color-mix(in srgb, var(--bhp-darker) 9%, transparent)}
.bhp-card .wp-block-post-featured-image{margin:0}
.bhp-card .wp-block-post-featured-image img{border-radius:0;aspect-ratio:16/9;object-fit:cover;width:100%}
.bhp-card .wp-block-post-title{font-size:1.09rem!important;line-height:1.28;letter-spacing:-.015em;margin:0}
.bhp-card .wp-block-post-title a{text-decoration:none;color:var(--bhp-darker)}
.bhp-card .wp-block-post-title a:hover{color:var(--bhp-green-text)}
.bhp-card .wp-block-post-excerpt{font-size:.9rem;line-height:1.55;color:var(--bhp-muted);margin:0}
.bhp-card .wp-block-post-excerpt__more-text{display:none}
.bhp-eyebrow,.bhp-card .wp-block-post-terms{
	font-family:var(--bhp-sans);font-size:.71rem;font-weight:700;text-transform:uppercase;
	letter-spacing:.11em;color:var(--bhp-green-text);
}
.bhp-card .wp-block-post-terms a{text-decoration:none;color:inherit}
.bhp-card .wp-block-post-date{font-size:.78rem;color:var(--bhp-muted);font-family:var(--bhp-sans)}
.bhp-archive-head{border-bottom:1px solid var(--bhp-rule);padding-bottom:1.2em}

/* ==========================================================================
   FOOTER
   ========================================================================== */
footer.wp-block-group :is(h1,h2,h3,h4,h5,h6){color:inherit}
footer.wp-block-group .wp-block-site-title a{color:inherit;text-decoration:none;font-weight:800;letter-spacing:-.02em}
footer.wp-block-group a{color:inherit}
footer.wp-block-group a:hover{color:#7fd6b4}
footer.wp-block-group .wp-block-navigation a{text-decoration:none}
footer.wp-block-group .wp-block-navigation a:hover{text-decoration:underline;text-underline-offset:.2em}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:781px){
	.wp-block-post-content table{
		display:block;overflow-x:auto;font-size:.875rem;max-width:100%;
		/* scroll shadows: the right edge fades while more columns remain */
		background-image:
			linear-gradient(to right,#fff,rgba(255,255,255,0)),
			linear-gradient(to left,#fff,rgba(255,255,255,0)),
			linear-gradient(to right,color-mix(in srgb,var(--bhp-darker) 16%,transparent),transparent),
			linear-gradient(to left,color-mix(in srgb,var(--bhp-darker) 16%,transparent),transparent);
		background-position:left center,right center,left center,right center;
		background-repeat:no-repeat;
		background-size:22px 100%,22px 100%,11px 100%,11px 100%;
		background-attachment:local,local,scroll,scroll;
	}
	.wp-block-post-content table > thead,.wp-block-post-content table > tbody{display:table;width:100%;min-width:30rem}
	.single .wp-block-post-content > h2{margin-block:1.9em .5em}
	.single .wp-block-post-content blockquote{padding:1em 1.05em}
}
@media (prefers-reduced-motion:reduce){
	.bhp-card,.wp-site-blocks a{transition:none}
	.bhp-card:hover{transform:none}
}
