/**
 * BlueMed — Blog, Archiwum, Wpis
 *
 * Covers: home.html (blog index), archive.html, single.html, sidebar-blog.html.
 * Follows the same conventions as contact-page.css, pricing-page.css, etc.
 */

/* ────────────────────────────────────────────────────────────────────────────
   BLOG HERO — split layout identical to other page heroes
   ─────────────────────────────────────────────────────────────────────────── */
.bluemed-blog-hero {
	position: relative;
	overflow: hidden;
	background: var(--bluemed-white, #ffffff);
	margin-top: 0;
}

.bluemed-blog-hero::before {
	content: "";
	position: absolute;
	right: -6%;
	top: -40%;
	width: min(44vw, 620px);
	height: min(44vw, 620px);
	border-radius: 50%;
	background: radial-gradient(
		ellipse at 40% 40%,
		var(--bm-sand-deep, #EAF0FA) 0%,
		var(--bluemed-sand, #F8F9FD) 60%,
		transparent 100%
	);
	pointer-events: none;
	z-index: 0;
}

.bluemed-blog-hero::after {
	content: "";
	position: absolute;
	left: -4%;
	bottom: -30%;
	width: min(22vw, 280px);
	height: min(22vw, 280px);
	border-radius: 50%;
	background: radial-gradient(
		ellipse,
		rgba(205, 216, 228, 0.18) 0%,
		transparent 70%
	);
	pointer-events: none;
	z-index: 0;
}

.bluemed-blog-hero__stage {
	display: grid;
	grid-template-columns: 54fr 46fr;
	align-items: center;
	gap: clamp(2.5rem, 5vw, 5.5rem);
	max-width: 1480px;
	margin-left: auto;
	margin-right: auto;
	padding: 70px clamp(1.5rem, 5vw, 3.5rem);
	position: relative;
	z-index: 1;
	box-sizing: border-box;
}

.bluemed-blog-hero__copy {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.bluemed-blog-hero__visual {
	position: relative;
	align-self: stretch;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.bluemed-blog-hero__photo {
	width: 100%;
	margin: 0 !important;
}

.bluemed-blog-hero__photo img {
	width: 100%;
	max-height: min(74vh, 700px);
	object-fit: cover;
	border-radius: 20px;
	display: block;
	box-shadow: var(--bm-shadow-hero, 0 40px 100px rgba(51, 52, 61, 0.08), 0 8px 32px rgba(21, 61, 138, 0.04));
}

/* Kicker — pill consistent with About / Service hero */
.bluemed-blog-hero__kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.72rem !important;
	letter-spacing: 0.3em !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	color: var(--accent-primary, #153D8A) !important;
	border: 1px solid rgba(21, 61, 138, 0.2);
	border-radius: 999px;
	padding: 0.45rem 1rem;
	margin: 0 0 1.75rem !important;
	line-height: 1;
	width: fit-content;
}

/* Title */
.bluemed-blog-hero__title,
.bluemed-blog-hero .wp-block-heading.bluemed-blog-hero__title {
	font-size: clamp(2.05rem, 4.15vw, 3.5rem) !important;
	font-weight: 700 !important;
	line-height: 1.07 !important;
	letter-spacing: -0.034em !important;
	color: var(--text-heading, #33343D) !important;
	margin-bottom: clamp(1rem, 2vw, 1.35rem) !important;
	max-width: 14ch;
}

/* Lead */
.bluemed-blog-hero__lead {
	font-size: clamp(1rem, 1.5vw, 1.15rem) !important;
	line-height: 1.7 !important;
	margin-bottom: clamp(1.5rem, 3vw, 2rem) !important;
	max-width: 50ch;
}

/* CTA wrap */
.bluemed-blog-hero__cta-wrap {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 0 !important;
	padding: 0 !important;
}

.bluemed-blog-hero__cta-note {
	margin: 0 !important;
	opacity: 0.7;
}

/* Hero buttons — canonical pill style, consistent with About / Service hero */
.bluemed-blog-hero__cta-primary .wp-block-button__link,
.bluemed-blog-hero__cta-primary a.wp-block-button__link {
	background-color: var(--bluemed-graphite, #153D8A) !important;
	color: #fff !important;
	border-radius: 999px !important;
	padding: 1rem 2.25rem !important;
	font-size: 0.9rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em !important;
	box-shadow: 0 16px 44px rgba(21, 61, 138, 0.22) !important;
	border: none !important;
	transition: transform 0.3s var(--bluemed-ease-out, cubic-bezier(0.22, 1, 0.36, 1)),
	            box-shadow 0.3s var(--bluemed-ease-out, cubic-bezier(0.22, 1, 0.36, 1)) !important;
}

.bluemed-blog-hero__cta-primary .wp-block-button__link:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 24px 56px rgba(21, 61, 138, 0.28) !important;
}

.bluemed-blog-hero__cta-secondary .wp-block-button__link,
.bluemed-blog-hero__cta-secondary a.wp-block-button__link {
	border: 1.5px solid rgba(21, 61, 138, 0.22) !important;
	color: var(--bluemed-graphite, #153D8A) !important;
	background: transparent !important;
	border-radius: 999px !important;
	padding: 0.95rem 2rem !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	transition: border-color 0.25s ease, color 0.25s ease,
	            transform 0.25s var(--bluemed-ease-out, cubic-bezier(0.22, 1, 0.36, 1)) !important;
}

.bluemed-blog-hero__cta-secondary .wp-block-button__link:hover {
	border-color: var(--bluemed-graphite, #153D8A) !important;
	background: var(--primary-50, #EEF3FC) !important;
	transform: translateY(-2px) !important;
}

/* ────────────────────────────────────────────────────────────────────────────
   ARCHIVE HERO BAND — for category/tag/date archives (no image, text only)
   ─────────────────────────────────────────────────────────────────────────── */
.bluemed-blog-archive-hero {
	position: relative;
	overflow: hidden;
	background: var(--bluemed-white, #ffffff);
}

.bluemed-blog-archive-hero::before {
	content: "";
	position: absolute;
	right: -5%;
	top: -30%;
	width: min(38vw, 500px);
	height: min(38vw, 500px);
	border-radius: 50%;
	background: radial-gradient(
		ellipse at 40% 40%,
		var(--bm-sand-deep, #EAF0FA) 0%,
		var(--bluemed-sand, #F8F9FD) 65%,
		transparent 100%
	);
	pointer-events: none;
	z-index: 0;
}

.bluemed-blog-archive-hero > * {
	position: relative;
	z-index: 1;
}

.bluemed-blog-archive-hero .wp-block-query-title,
.bluemed-blog-archive-hero__title {
	font-size: clamp(2.05rem, 4.15vw, 3.5rem) !important;
	font-weight: 700 !important;
	line-height: 1.07 !important;
	letter-spacing: -0.034em !important;
	color: var(--text-heading, #33343D) !important;
	max-width: 20ch;
}

.bluemed-blog-archive-hero .wp-block-term-description,
.bluemed-blog-archive-hero__desc {
	max-width: 56ch;
	font-size: clamp(1rem, 1.5vw, 1.1rem) !important;
	line-height: 1.7 !important;
}

/* ────────────────────────────────────────────────────────────────────────────
   FEATURED ARTICLE BAND
   ─────────────────────────────────────────────────────────────────────────── */
.bluemed-blog-featured-band {
	background: var(--bluemed-white, #ffffff);
}

/* ── Featured article card ──────────────────────────────────────────────────── */
.bluemed-blog-featured {
	overflow: hidden;
	background: var(--bluemed-white, #fff);
	transition: box-shadow 0.3s var(--bluemed-ease-out, ease);
}

.bluemed-blog-featured:hover {
	box-shadow: 0 24px 72px rgba(21, 61, 138, 0.10), 0 4px 16px rgba(21, 61, 138, 0.06);
}

.bluemed-blog-featured .bluemed-blog-featured__image-col .wp-block-post-featured-image,
.bluemed-blog-featured .bluemed-blog-featured__image-col .wp-block-post-featured-image a {
	display: block;
	height: 100%;
}

.bluemed-blog-featured .bluemed-blog-featured__image-col .wp-block-post-featured-image img {
	width: 100%;
	height: clamp(280px, 42vw, 520px);
	object-fit: cover;
	object-position: center;
	display: block;
}

.bluemed-blog-featured .wp-block-post-title a {
	color: var(--bluemed-heading, #33343D);
	text-decoration: none;
	transition: color 0.2s ease;
}

.bluemed-blog-featured .wp-block-post-title a:hover {
	color: var(--bluemed-oak, #3E6FCD);
}

/* Featured "Czytaj artykuł →" link */
.bluemed-blog-featured__cta.wp-block-read-more {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--bluemed-oak, #3E6FCD);
	text-decoration: none;
	letter-spacing: 0.01em;
	border-bottom: 1.5px solid transparent;
	padding-bottom: 1px;
	transition: border-color 0.2s ease, gap 0.2s ease;
}

.bluemed-blog-featured__cta.wp-block-read-more:hover {
	border-bottom-color: currentColor;
	gap: 0.55rem;
}

/* ────────────────────────────────────────────────────────────────────────────
   BLOG GRID BAND
   ─────────────────────────────────────────────────────────────────────────── */
.bluemed-blog-grid-band {
	background: var(--bluemed-sand, #F8F9FD);
}

/* ── Article cards ──────────────────────────────────────────────────────────── */
.bluemed-blog-card {
	background: var(--bluemed-white, #fff);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	transition: transform 0.3s var(--bluemed-ease-out, ease),
	            box-shadow 0.3s var(--bluemed-ease-out, ease);
}

.bluemed-blog-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 60px rgba(21, 61, 138, 0.11), 0 4px 16px rgba(21, 61, 138, 0.06);
}

@media (hover: none) {
	.bluemed-blog-card:hover {
		transform: none;
		box-shadow: none;
	}
}

.bluemed-blog-card .wp-block-post-featured-image,
.bluemed-blog-card .bluemed-blog-card__image {
	display: block;
	overflow: hidden;
	flex-shrink: 0;
}

.bluemed-blog-card .wp-block-post-featured-image img {
	width: 100%;
	/* aspect-ratio gives equal image heights at any viewport width;
	   the exact pixel value is overridden by card-system.css         */
	aspect-ratio: 16 / 10;
	height: auto;
	object-fit: cover;
	object-position: center;
	display: block;
	border-radius: 24px 24px 0 0;
	transition: transform var(--bm-card-img-duration, 0.45s) var(--bm-card-ease, var(--bluemed-ease-out, ease));
}

.bluemed-blog-card:hover .wp-block-post-featured-image img {
	transform: scale(1.04);
}

.bluemed-blog-card__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}

.bluemed-blog-card .wp-block-post-title a {
	color: var(--bluemed-heading, #33343D);
	text-decoration: none;
	transition: color 0.2s ease;
	font-weight: 700;
}

.bluemed-blog-card .wp-block-post-title a:hover {
	color: var(--bluemed-oak, #3E6FCD);
}

.bluemed-blog-card .wp-block-post-excerpt {
	flex: 1 1 auto;
	color: var(--bluemed-ash, #8694A8);
}

.bluemed-blog-card .wp-block-post-excerpt .wp-block-post-excerpt__excerpt {
	margin: 0;
}

/* Card "Czytaj artykuł →" */
.bluemed-blog-card__read-more.wp-block-read-more {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--bluemed-oak, #3E6FCD);
	text-decoration: none;
	margin-top: auto;
	letter-spacing: 0.01em;
	border-bottom: 1.5px solid transparent;
	padding-bottom: 1px;
	transition: border-color 0.2s ease, gap 0.2s ease;
}

.bluemed-blog-card__read-more.wp-block-read-more:hover {
	border-bottom-color: currentColor;
	gap: 0.45rem;
}

/* Equal-height article cards in the blog grid.
   Gutenberg Query list items receive padding/margin/border except :last-child,
   and are not flex containers — so the last card is taller and CTAs drift.
   Grid gap already spaces the row; cards stretch, CTA pins to the bottom. */
.bluemed-blog-grid-band .wp-block-post-template.is-layout-grid,
.bluemed-blog-grid-band ul.wp-block-post-template {
	align-items: stretch !important;
}

.bluemed-blog-grid-band .wp-block-post-template > .wp-block-post {
	display: flex;
	flex-direction: column;
	align-self: stretch;
	height: 100%;
	min-height: 0;
	margin: 0 !important;
	padding: 0 !important;
	border-bottom: none !important;
}

.bluemed-blog-grid-band .bluemed-blog-card {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto;
	width: 100%;
	height: 100%;
	min-height: 0;
}

.bluemed-blog-grid-band .bluemed-blog-card__body {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto;
	min-height: 0;
}

.bluemed-blog-grid-band .bluemed-blog-card__body .wp-block-post-excerpt {
	flex: 1 1 auto;
}

.bluemed-blog-grid-band .bluemed-blog-card__body > .wp-block-read-more,
.bluemed-blog-grid-band .bluemed-blog-card__read-more {
	margin-top: auto !important;
	margin-block-start: auto !important;
}

/* ────────────────────────────────────────────────────────────────────────────
   CATEGORY BADGES
   ─────────────────────────────────────────────────────────────────────────── */
.bluemed-blog-category .wp-block-post-terms__separator,
.bluemed-blog-card .wp-block-post-terms__separator,
.bluemed-blog-featured .wp-block-post-terms__separator {
	display: none;
}

.bluemed-blog-category a,
.bluemed-blog-card .wp-block-post-terms a,
.bluemed-blog-featured .wp-block-post-terms a {
	display: inline-flex;
	align-items: center;
	padding: 0.22em 0.65em;
	background: var(--bm-sand-deep, #EAF0FA);
	color: var(--bluemed-oak, #3E6FCD) !important;
	border-radius: 999px;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	text-decoration: none;
	transition: background 0.2s ease;
}

.bluemed-blog-category a:hover,
.bluemed-blog-card .wp-block-post-terms a:hover,
.bluemed-blog-featured .wp-block-post-terms a:hover {
	background: rgba(62, 111, 205, 0.15);
}

/* ────────────────────────────────────────────────────────────────────────────
   PAGINATION
   ─────────────────────────────────────────────────────────────────────────── */
.bluemed-blog-pagination.wp-block-query-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.4rem;
	flex-wrap: wrap;
}

.bluemed-blog-pagination .wp-block-query-pagination-previous,
.bluemed-blog-pagination .wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	padding: 0.55rem 1.1rem;
	background: var(--bluemed-white, #fff);
	border: 1.5px solid var(--border-light, #E2E7F1);
	border-radius: 10px;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--bluemed-text, #33343D);
	text-decoration: none;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.bluemed-blog-pagination .wp-block-query-pagination-previous:hover,
.bluemed-blog-pagination .wp-block-query-pagination-next:hover {
	background: var(--bluemed-oak, #3E6FCD);
	border-color: var(--bluemed-oak, #3E6FCD);
	color: #fff;
}

.bluemed-blog-pagination .wp-block-query-pagination-numbers {
	display: inline-flex;
	gap: 0.4rem;
	flex-wrap: wrap;
}

.bluemed-blog-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.6rem;
	border-radius: 10px;
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--bluemed-text, #33343D);
	text-decoration: none;
	border: 1.5px solid var(--border-light, #E2E7F1);
	background: var(--bluemed-white, #fff);
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.bluemed-blog-pagination .page-numbers.current {
	background: var(--bluemed-oak, #3E6FCD);
	border-color: var(--bluemed-oak, #3E6FCD);
	color: #fff;
}

.bluemed-blog-pagination .page-numbers:hover:not(.current) {
	background: var(--bluemed-sand, #F8F9FD);
	border-color: var(--bluemed-oak, #3E6FCD);
	color: var(--bluemed-oak, #3E6FCD);
}

/* ────────────────────────────────────────────────────────────────────────────
   SINGLE POST — general wrapper
   ─────────────────────────────────────────────────────────────────────────── */
.bluemed-single-post {
	background: var(--bluemed-white, #fff);
}

/* ── Single hero ──────────────────────────────────────────────────────────── */
.bluemed-single-hero {
	position: relative;
	overflow: hidden;
	background: var(--bluemed-white, #ffffff);
	text-align: center;
}

/* Centred top gradient — symmetric with centred hero copy */
.bluemed-single-hero::before {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: -55%;
	width: min(72vw, 720px);
	height: min(72vw, 720px);
	border-radius: 50%;
	background: radial-gradient(
		ellipse at 50% 50%,
		var(--bm-sand-deep, #EAF0FA) 0%,
		var(--bluemed-sand, #F8F9FD) 55%,
		transparent 100%
	);
	pointer-events: none;
	z-index: 0;
}

.bluemed-single-hero > * {
	position: relative;
	z-index: 1;
}

/* Centre breadcrumbs */
.bluemed-single-hero .bluemed-breadcrumbs {
	display: flex;
	justify-content: center;
}

.bluemed-single-hero .bluemed-breadcrumbs__list {
	justify-content: center;
}

/* Category badge row — centred */
.bluemed-single-hero__meta-top {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center !important;
	gap: 0.6rem !important;
}

.bluemed-single-hero__dot {
	color: var(--bluemed-ash, #8694A8);
	font-size: 0.875rem;
}

/* Reading time */
.bluemed-reading-time {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--bluemed-ash, #8694A8);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* Post title — centred, no max-width when centred */
.bluemed-single-hero__title.wp-block-post-title,
.bluemed-single-post .bluemed-single-hero__title {
	font-size: clamp(2rem, 4.5vw, 3.5rem) !important;
	font-weight: 700 !important;
	line-height: 1.08 !important;
	letter-spacing: -0.03em !important;
	color: var(--text-heading, #33343D) !important;
	margin: 0 auto !important;
	text-align: center;
	max-width: 22ch;
}

/* Date · Author meta row — centred */
.bluemed-single-hero__meta-bottom {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center !important;
	gap: 0.5rem !important;
}

.bluemed-single-hero__meta-bottom .wp-block-post-date,
.bluemed-single-hero__meta-bottom .wp-block-post-author {
	margin: 0 !important;
	font-weight: 500;
}

.bluemed-single-hero__meta-bottom > p {
	margin: 0 !important;
}

/* ── Featured image band ───────────────────────────────────────────────────── */
.bluemed-single-featured-band {
	background: var(--bluemed-sand, #F8F9FD);
}

.bluemed-post-featured-image.wp-block-post-featured-image {
	margin: 0 auto !important;
	display: block;
	max-width: 860px;
}

.bluemed-post-featured-image.wp-block-post-featured-image img {
	width: 100%;
	aspect-ratio: 16 / 9;
	max-height: clamp(220px, 30vw, 440px);
	object-fit: cover;
	object-position: center;
	border-radius: 20px;
	display: block;
	box-shadow: 0 16px 48px rgba(21, 61, 138, 0.08), 0 3px 12px rgba(21, 61, 138, 0.04);
}

/* ── Article content ───────────────────────────────────────────────────────── */
.bluemed-single-content-band {
	background: var(--bluemed-white, #fff);
}

.bluemed-post-content.wp-block-post-content {
	font-size: clamp(1rem, 1.2vw, 1.0625rem);
	line-height: 1.8;
	color: var(--bluemed-text, #33343D);
}

.bluemed-post-content .wp-block-heading {
	color: var(--bluemed-navy, #0f2042);
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.bluemed-post-content h2.wp-block-heading {
	font-size: clamp(1.5rem, 2.8vw, 2rem);
	font-weight: 700;
	margin-top: 2.5em;
	margin-bottom: 0.7em;
}

.bluemed-post-content h3.wp-block-heading {
	font-size: clamp(1.2rem, 2vw, 1.5rem);
	font-weight: 700;
	margin-top: 2em;
	margin-bottom: 0.6em;
}

.bluemed-post-content h4.wp-block-heading,
.bluemed-post-content h5.wp-block-heading,
.bluemed-post-content h6.wp-block-heading {
	font-size: 1rem;
	font-weight: 700;
	margin-top: 1.75em;
	margin-bottom: 0.5em;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.bluemed-post-content p {
	margin-bottom: 1.35em;
	color: var(--bluemed-text, #33343D);
}

.bluemed-post-content a {
	color: var(--bluemed-oak, #3E6FCD);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color 0.2s ease;
}

.bluemed-post-content a:hover {
	color: #2d57bb;
}

.bluemed-post-content ul,
.bluemed-post-content ol {
	padding-left: 1.6rem;
	margin-bottom: 1.35em;
}

.bluemed-post-content li {
	margin-bottom: 0.45em;
	line-height: 1.7;
}

/* Blockquote */
.bluemed-post-content blockquote,
.bluemed-post-content .wp-block-quote {
	border-left: 3px solid var(--bluemed-oak, #3E6FCD);
	padding: 1rem 1.5rem;
	margin: 2rem 0;
	background: var(--bm-sand-deep, #EAF0FA);
	border-radius: 0 14px 14px 0;
}

.bluemed-post-content blockquote p,
.bluemed-post-content .wp-block-quote p {
	font-size: 1.05rem;
	font-style: italic;
	color: var(--bluemed-navy, #0f2042);
	margin: 0;
}

.bluemed-post-content .wp-block-quote cite,
.bluemed-post-content blockquote cite {
	display: block;
	margin-top: 0.6rem;
	font-size: 0.875rem;
	font-style: normal;
	font-weight: 600;
	color: var(--bluemed-ash, #8694A8);
}

/* Pull-quote */
.bluemed-post-content .wp-block-pullquote {
	border-top: 2px solid var(--border-light, #E2E7F1);
	border-bottom: 2px solid var(--border-light, #E2E7F1);
	padding: 1.5rem 0;
	margin: 2.5rem 0;
	text-align: center;
}

.bluemed-post-content .wp-block-pullquote blockquote p {
	font-size: clamp(1.15rem, 2.2vw, 1.45rem);
	font-style: italic;
	font-weight: 600;
	color: var(--bluemed-navy, #0f2042);
}

/* Separator */
.bluemed-post-content .wp-block-separator,
.bluemed-post-content hr {
	border: none;
	border-top: 2px solid var(--border-light, #E2E7F1);
	margin: 2.5rem auto;
	max-width: 120px;
}

/* Images in content */
.bluemed-post-content figure.wp-block-image img {
	border-radius: 14px;
	box-shadow: 0 8px 28px rgba(21, 61, 138, 0.07);
}

.bluemed-post-content .wp-block-image figcaption {
	font-size: 0.8125rem;
	color: var(--bluemed-ash, #8694A8);
	text-align: center;
	margin-top: 0.5rem;
}

/* Tables */
.bluemed-post-content .wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9375rem;
}

.bluemed-post-content .wp-block-table th,
.bluemed-post-content .wp-block-table td {
	padding: 0.65rem 1rem;
	border: 1px solid var(--border-light, #E2E7F1);
	text-align: left;
}

.bluemed-post-content .wp-block-table th {
	background: var(--bm-sand-deep, #EAF0FA);
	font-weight: 700;
	color: var(--bluemed-navy, #0f2042);
}

.bluemed-post-content .wp-block-table tr:nth-child(even) td {
	background: var(--bluemed-sand, #F8F9FD);
}

/* Buttons in content */
.bluemed-post-content .wp-block-button .wp-block-button__link {
	border-radius: 10px;
	font-weight: 700;
	padding: 0.7rem 1.5rem;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.bluemed-post-content .wp-block-button .wp-block-button__link:hover {
	opacity: 0.88;
	transform: translateY(-1px);
}

/* Code */
.bluemed-post-content code {
	font-family: 'Courier New', monospace;
	font-size: 0.875em;
	background: var(--bm-sand-deep, #EAF0FA);
	padding: 0.15em 0.45em;
	border-radius: 5px;
	color: var(--bluemed-navy, #0f2042);
}

.bluemed-post-content pre {
	background: var(--bluemed-navy, #0f2042);
	color: #e0e6f0;
	padding: 1.25rem 1.5rem;
	border-radius: 14px;
	overflow-x: auto;
	font-size: 0.875rem;
	line-height: 1.6;
	margin: 1.5rem 0;
}

/* ── Author box band ───────────────────────────────────────────────────────── */
.bluemed-single-author-band {
	background: var(--bluemed-sand, #F8F9FD);
}

.bluemed-author-card {
	overflow: hidden;
}

.bluemed-author-card .wp-block-post-author {
	display: flex !important;
	flex-wrap: wrap;
	gap: 1.25rem !important;
	align-items: center;
}

.bluemed-author-card .wp-block-post-author__avatar {
	flex-shrink: 0;
	border-radius: 50%;
	overflow: hidden;
}

.bluemed-author-card .wp-block-post-author__avatar img {
	width: 72px !important;
	height: 72px !important;
	border-radius: 50% !important;
	object-fit: cover;
	display: block;
	border: 2px solid var(--border-light, #E2E7F1);
}

.bluemed-author-card .wp-block-post-author__content {
	flex: 1 1 200px;
}

.bluemed-author-card .wp-block-post-author__byline {
	font-size: 0.68rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	color: var(--bluemed-oak, #3E6FCD) !important;
	margin: 0 0 0.2rem !important;
}

.bluemed-author-card .wp-block-post-author__name {
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	color: var(--bluemed-navy, #0f2042) !important;
	margin: 0 !important;
	letter-spacing: -0.01em;
}

.bluemed-author-card .wp-block-post-author__name a {
	color: inherit;
	text-decoration: none;
}

/* If bio is present, add spacing above */
.bluemed-author-card .wp-block-post-author__bio {
	font-size: 0.9375rem !important;
	line-height: 1.65 !important;
	color: var(--bluemed-ash, #8694A8) !important;
	margin: 0.4rem 0 0 !important;
}

/* Hide bio element when empty (no biography set for the author) */
.bluemed-author-card .wp-block-post-author__bio:empty {
	display: none;
}

/* ── Post navigation ───────────────────────────────────────────────────────── */
.bluemed-post-nav {
	background: var(--bluemed-white, #fff) !important;
	border-radius: 16px;
	border: 1.5px solid var(--border-light, #E2E7F1);
	display: flex !important;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	gap: 0 !important;
}

.bluemed-post-nav .wp-block-post-navigation-link {
	flex: 1 1 45%;
}

.bluemed-post-nav .wp-block-post-navigation-link a {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding: 0 !important;
	color: var(--bluemed-text, #33343D);
	text-decoration: none;
	font-weight: 700;
	font-size: 0.9375rem;
	line-height: 1.4;
	transition: color 0.2s ease;
}

.bluemed-post-nav .wp-block-post-navigation-link a:hover {
	color: var(--bluemed-oak, #3E6FCD);
}

.bluemed-post-nav .wp-block-post-navigation-link .wp-block-post-navigation-link__label {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--bluemed-ash, #8694A8);
}

/* ── Related posts ─────────────────────────────────────────────────────────── */
.bluemed-related-posts {
	background: var(--bluemed-white, #fff);
}

/* Cards on a white section use sand bg so they stand out */
.bluemed-related-posts .bluemed-blog-card {
	background: var(--bluemed-sand, #F8F9FD);
}

.bluemed-related-posts .bluemed-blog-card .wp-block-post-featured-image img {
	border-radius: 20px 20px 0 0;
}

/* Equal-height related post cards — card-system.css reinforces this */
.bluemed-related-posts .wp-block-post-template {
	align-items: stretch;
}

/* ────────────────────────────────────────────────────────────────────────────
   SIDEBAR
   ─────────────────────────────────────────────────────────────────────────── */
.bluemed-sidebar {
	position: sticky;
	top: 2rem;
}

.bluemed-sidebar-card {
	transition: box-shadow 0.25s ease;
}

.bluemed-sidebar-card:hover {
	box-shadow: 0 8px 32px rgba(21, 61, 138, 0.08);
}

.bluemed-blog-search.wp-block-search {
	display: flex;
	gap: 0.5rem;
}

.bluemed-blog-search .wp-block-search__input {
	flex: 1 1 auto;
	padding: 0.65rem 1rem;
	border: 1.5px solid var(--border-light, #E2E7F1);
	border-radius: 10px;
	font-size: 0.9375rem;
	font-family: inherit;
	color: var(--bluemed-text, #33343D);
	background: var(--bluemed-sand, #F8F9FD);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	box-sizing: border-box;
	line-height: 1.5;
}

.bluemed-blog-search .wp-block-search__input:focus {
	outline: none;
	border-color: var(--bluemed-oak, #3E6FCD);
	box-shadow: 0 0 0 3px rgba(62, 111, 205, 0.12);
	background: #fff;
}

.bluemed-blog-search .wp-block-search__button {
	padding: 0.65rem 1rem;
	background: var(--bluemed-oak, #3E6FCD);
	color: #fff;
	border: none;
	border-radius: 10px;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.2s ease;
	flex-shrink: 0;
}

.bluemed-blog-search .wp-block-search__button:hover {
	background: #2d57bb;
}

.bluemed-sidebar-categories.wp-block-categories-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.bluemed-sidebar-categories.wp-block-categories-list li {
	margin: 0;
	padding: 0;
}

.bluemed-sidebar-categories.wp-block-categories-list a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.55rem 0.75rem;
	border-radius: 8px;
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--bluemed-text, #33343D);
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}

.bluemed-sidebar-categories.wp-block-categories-list a:hover {
	background: var(--bm-sand-deep, #EAF0FA);
	color: var(--bluemed-oak, #3E6FCD);
}

.bluemed-sidebar-posts.wp-block-latest-posts {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.bluemed-sidebar-posts.wp-block-latest-posts li {
	padding: 0.65rem 0;
	border-bottom: 1px solid var(--border-light, #E2E7F1);
}

.bluemed-sidebar-posts.wp-block-latest-posts li:last-child {
	border-bottom: none;
}

.bluemed-sidebar-posts.wp-block-latest-posts a {
	display: block;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--bluemed-text, #33343D);
	text-decoration: none;
	line-height: 1.4;
	margin-bottom: 0.25rem;
	transition: color 0.2s ease;
}

.bluemed-sidebar-posts.wp-block-latest-posts a:hover {
	color: var(--bluemed-oak, #3E6FCD);
}

.bluemed-sidebar-posts.wp-block-latest-posts .wp-block-latest-posts__post-date {
	font-size: 0.72rem;
	color: var(--bluemed-ash, #8694A8);
	font-weight: 500;
}

.bluemed-sidebar-cta {
	background: linear-gradient(135deg, var(--bluemed-graphite, #153D8A) 0%, #0d2a6b 100%) !important;
	color: #fff;
}

.bluemed-sidebar-cta .bluemed-sidebar-cta__kicker {
	color: rgba(255,255,255,0.6) !important;
}

.bluemed-sidebar-cta h3,
.bluemed-sidebar-cta .wp-block-heading {
	color: #fff !important;
}

.bluemed-sidebar-cta p {
	color: rgba(255,255,255,0.75) !important;
}

.bluemed-sidebar-cta .wp-block-button .wp-block-button__link {
	background: #fff;
	color: var(--bluemed-graphite, #153D8A) !important;
	font-weight: 700;
	border-radius: 10px;
	transition: background 0.2s ease, transform 0.2s ease;
}

.bluemed-sidebar-cta .wp-block-button .wp-block-button__link:hover {
	background: var(--bm-sand-deep, #EAF0FA);
	transform: translateY(-1px);
}

/* ────────────────────────────────────────────────────────────────────────────
   RESPONSIVE
   ─────────────────────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
	/* Blog index hero */
	.bluemed-blog-hero__stage {
		grid-template-columns: 1fr;
		padding: 50px clamp(1rem, 4vw, 2rem);
	}

	.bluemed-blog-hero__visual {
		order: -1;
	}

	.bluemed-blog-hero__photo img {
		max-height: 380px;
		border-radius: 14px;
	}

	.bluemed-blog-hero__title {
		max-width: 100%;
	}

	/* Featured article */
	.bluemed-blog-featured .wp-block-columns {
		flex-direction: column !important;
	}

	.bluemed-blog-featured .bluemed-blog-featured__image-col,
	.bluemed-blog-featured .bluemed-blog-featured__copy-col {
		width: 100% !important;
		flex-basis: 100% !important;
	}

	.bluemed-blog-featured .bluemed-blog-featured__image-col .wp-block-post-featured-image img {
		border-radius: 28px 28px 0 0 !important;
		height: clamp(220px, 48vw, 380px);
	}

	/* Sidebar */
	.bluemed-sidebar {
		position: static;
	}

	/* Single hero title */
	.bluemed-single-hero__title.wp-block-post-title {
		max-width: 100%;
	}

	/* Author card */
	.bluemed-author-card .wp-block-post-author {
		flex-direction: column;
		gap: 1rem !important;
	}
}

@media (max-width: 640px) {
	/* Blog index hero */
	.bluemed-blog-hero__stage {
		padding: 40px 1rem;
	}

	.bluemed-blog-pagination.wp-block-query-pagination {
		justify-content: center;
		gap: 0.3rem;
	}

	/* Post nav — stack on mobile */
	.bluemed-post-nav {
		flex-direction: column;
	}

	.bluemed-post-nav .wp-block-post-navigation-link {
		flex: 1 1 100%;
		border-bottom: 1px solid var(--border-light, #E2E7F1);
		padding-bottom: 0 !important;
	}

	.bluemed-post-nav .wp-block-post-navigation-link:last-child {
		border-bottom: none;
	}

	/* Related articles — 1 column on mobile */
	.bluemed-related-posts .wp-block-post-template.is-flex-container {
		grid-template-columns: 1fr !important;
	}
}

/* ═══════════════════════════════════════════════════════════════════════════
   READING TIME — blog cards
   ═══════════════════════════════════════════════════════════════════════════ */

/* Inside blog card bodies (index + related) */
.bluemed-blog-card__body .bluemed-reading-time {
	display: block;
	font-size: var(--wp--preset--font-size--xs, 0.75rem);
	color: var(--color-ash, #6B7A8D);
	font-weight: 400;
	margin-bottom: var(--wp--preset--spacing--40, 0.75rem);
	line-height: 1.4;
}

/* Inside featured article copy column */
.bluemed-blog-featured__copy-col .bluemed-reading-time {
	font-size: var(--wp--preset--font-size--xs, 0.75rem);
	color: var(--color-ash, #6B7A8D);
	font-weight: 400;
}

/* ═══════════════════════════════════════════════════════════════════════════
   SOCIAL SHARING — single post
   ═══════════════════════════════════════════════════════════════════════════ */

.bluemed-social-share-band {
	background: var(--bluemed-white, #fff);
	padding: clamp(1.25rem, 2.5vw, 2rem) clamp(1.5rem, 5.2vw, 2.85rem);
	border-bottom: 1px solid var(--border-light, #E2E7F1);
}

.bluemed-social-share {
	max-width: 800px;
	margin: 0 auto;
}

.bluemed-social-share__label {
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.09em;
	color: var(--color-ash, #6B7A8D);
	margin: 0 0 0.75rem;
}

.bluemed-social-share__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: stretch; /* all buttons share the same row height */
}

/* ── Base button (both <a> and <button> elements) ──────────── */
.bluemed-social-share__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 2.75rem;       /* 44px — WCAG minimum touch target */
	padding: 0 1rem;
	border: 1.5px solid var(--border-light, #E2E7F1);
	border-radius: 10px;
	background: var(--bluemed-white, #fff);
	color: var(--color-navy, #0A1628);
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
	font-family: inherit;
	box-sizing: border-box;
	vertical-align: middle;
	transition:
		background     var(--bm-card-duration, 0.28s) ease,
		border-color   var(--bm-card-duration, 0.28s) ease,
		color          var(--bm-card-duration, 0.28s) ease,
		box-shadow     var(--bm-card-duration, 0.28s) ease,
		transform      0.15s ease;
}

.bluemed-social-share__btn svg {
	flex-shrink: 0;
	display: block;
	width: 17px;
	height: 17px;
}

.bluemed-social-share__btn:hover,
.bluemed-social-share__btn:focus-visible {
	background: var(--color-ocean, #1A3A5C);
	border-color: var(--color-ocean, #1A3A5C);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(21, 61, 138, 0.2);
	outline: none;
	text-decoration: none;
}

/* ── Copy link — feedback states ───────────────────────────── */
.bluemed-social-share__btn--copy .bluemed-share-copied {
	display: none;
}

.bluemed-social-share__btn--copy.is-copied {
	background: #ecfdf5;
	border-color: #10b981;
	color: #065f46;
	transform: none;
	box-shadow: none;
}

.bluemed-social-share__btn--copy.is-copied:hover,
.bluemed-social-share__btn--copy.is-copied:focus-visible {
	background: #d1fae5;
	border-color: #059669;
	color: #065f46;
	transform: none;
	box-shadow: none;
}

.bluemed-social-share__btn--copy.is-copied .bluemed-share-text {
	display: none;
}

.bluemed-social-share__btn--copy.is-copied .bluemed-share-copied {
	display: inline;
}

/* ── Mobile: icon-only for network buttons ─────────────────── */
@media (max-width: 480px) {
	/* Hide labels on network share buttons */
	.bluemed-social-share__btn:not(.bluemed-social-share__btn--copy) span {
		display: none;
	}

	/* Square icon buttons — 44×44 touch target */
	.bluemed-social-share__btn:not(.bluemed-social-share__btn--copy) {
		min-width: 2.75rem;   /* 44px */
		min-height: 2.75rem;  /* 44px */
		padding: 0;
	}

	/* Copy button keeps its label */
	.bluemed-social-share__btn--copy {
		padding: 0 0.875rem;
	}

	.bluemed-social-share__btn svg {
		width: 19px;
		height: 19px;
	}
}

/* ── Phase 2C: Touch targets, Typography, Mobile polish ─────────── */

/* Overflow protection for long hero titles on narrow screens */
.bluemed-blog-hero__title,
.bluemed-single-hero__title,
.bluemed-blog-archive-hero__title {
	overflow-wrap: break-word;
	word-break: break-word;
}

/* ── Pagination: 44px minimum touch target on mobile ────────────── */
@media (max-width: 600px) {
	.bluemed-blog-pagination .page-numbers {
		min-height: 2.75rem;  /* 44px */
		min-width: 2.75rem;   /* 44px */
	}

	.bluemed-blog-pagination .wp-block-query-pagination-previous,
	.bluemed-blog-pagination .wp-block-query-pagination-next {
		min-height: 2.75rem;  /* 44px */
		padding-top: 0.75rem;
		padding-bottom: 0.75rem;
	}
}

/* ── Blog cards at ≤360px: comfortable padding ───────────────────── */
@media (max-width: 360px) {
	.bluemed-blog-card__body {
		padding: 1.25rem !important;
	}

	.bluemed-blog-featured__copy-col {
		padding: 1.25rem !important;
	}
}

/* ── Post navigation: 44px touch targets ─────────────────────────── */
@media (max-width: 640px) {
	.bluemed-post-nav .wp-block-post-navigation-link a {
		min-height: 44px;
		display: flex;
		align-items: center;
		padding-top: 0.75rem;
		padding-bottom: 0.75rem;
	}
}

/* ── Single post content: overflow protection ─────────────────────── */
.bluemed-post-content {
	overflow-wrap: break-word;
	word-break: break-word;
}

.bluemed-post-content pre,
.bluemed-post-content code {
	overflow-x: auto;
	white-space: pre-wrap;
}

/* ── Social share band: comfortable tap spacing on mobile ─────────── */
@media (max-width: 480px) {
	.bluemed-social-share__buttons {
		gap: 0.5rem;
	}

	.bluemed-social-share-band {
		padding: 1rem;
	}
}
