/**
 * Single blog post — A2Z typography and chrome (Blocksy + classic).
 * Scoped to body.a2z-single-post. Matches archive / Latest Posts tokens.
 */

body.a2z-single-post {
	--a2z-sp-ink: #0f172a;
	--a2z-sp-muted: #64748b;
	--a2z-sp-border: #e2e8f0;
	--a2z-sp-accent: #2563eb;
	--a2z-sp-surface: #fff;
	--a2z-sp-radius: clamp(1rem, 2vw, 1.25rem);
	--a2z-sp-prose: min(100%, 42rem);
}

body.a2z-single-post #main,
body.a2z-single-post .site-main,
body.a2z-single-post main {
	font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: var(--a2z-sp-ink);
}

/* Hero band: title + meta */
body.a2z-single-post .entry-header,
body.a2z-single-post .article-header,
body.a2z-single-post header.entry-header {
	margin-bottom: clamp(1.25rem, 3vw, 2rem);
	padding-bottom: clamp(1rem, 2.5vw, 1.5rem);
	border-bottom: 1px solid var(--a2z-sp-border);
}

body.a2z-single-post .entry-title,
body.a2z-single-post h1.entry-title,
body.a2z-single-post .post-title {
	margin: 0 0 0.75rem;
	max-width: var(--a2z-sp-prose);
	font-size: clamp(1.65rem, 4.2vw, 2.35rem);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.12;
	color: var(--a2z-sp-ink);
}

body.a2z-single-post .entry-meta,
body.a2z-single-post .post-meta,
body.a2z-single-post .ct-meta,
body.a2z-single-post .meta-elements {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--a2z-sp-muted);
}

body.a2z-single-post .entry-meta a,
body.a2z-single-post .post-meta a,
body.a2z-single-post .ct-meta a {
	color: var(--a2z-sp-muted);
	text-decoration: none;
	transition: color 0.15s ease;
}

body.a2z-single-post .entry-meta a:hover,
body.a2z-single-post .post-meta a:hover {
	color: var(--a2z-sp-accent);
}

body.a2z-single-post .entry-meta .meta-sep,
body.a2z-single-post .entry-meta .sep {
	opacity: 0.45;
}

/* Category / tag pills in header/footer */
body.a2z-single-post .cat-links a,
body.a2z-single-post .post-categories a,
body.a2z-single-post .ct-meta-badge a,
body.a2z-single-post .post-tags a,
body.a2z-single-post a[rel="category tag"],
body.a2z-single-post a[rel="tag"] {
	display: inline-block;
	margin: 0.15rem 0.35rem 0 0;
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--a2z-sp-accent);
	background: color-mix(in srgb, var(--a2z-sp-accent) 12%, #fff);
}

@supports not (color: color-mix(in srgb, white 50%, black)) {
	body.a2z-single-post .cat-links a,
	body.a2z-single-post .post-categories a,
	body.a2z-single-post .ct-meta-badge a,
	body.a2z-single-post .post-tags a,
	body.a2z-single-post a[rel="category tag"],
	body.a2z-single-post a[rel="tag"] {
		background: #eff6ff;
	}
}

/* Featured image */
body.a2z-single-post .post-thumbnail,
body.a2z-single-post .entry-media,
body.a2z-single-post .wp-post-image-wrap {
	margin: 0 0 clamp(1.25rem, 3vw, 2rem);
	border-radius: var(--a2z-sp-radius);
	overflow: hidden;
	border: 1px solid var(--a2z-sp-border);
	box-shadow: 0 14px 36px rgba(15, 23, 42, 0.06);
	background: var(--a2z-sp-border);
}

body.a2z-single-post .post-thumbnail img,
body.a2z-single-post .entry-media img,
body.a2z-single-post .wp-post-image-wrap img {
	width: 100%;
	display: block;
	height: auto;
	vertical-align: middle;
}

/* Prose */
body.a2z-single-post .entry-content,
body.a2z-single-post .post-content,
body.a2z-single-post .article-content {
	font-size: 1.05rem;
	line-height: 1.75;
	color: var(--a2z-sp-ink);
}

body.a2z-single-post .entry-content > *:not(.alignwide):not(.alignfull):not(.wp-block-image):not(.wp-block-gallery),
body.a2z-single-post .post-content > *:not(.alignwide):not(.alignfull) {
	max-width: var(--a2z-sp-prose);
}

body.a2z-single-post .entry-content > p,
body.a2z-single-post .post-content > p {
	margin-top: 0;
	margin-bottom: 1.1em;
	color: #334155;
}

body.a2z-single-post .entry-content a,
body.a2z-single-post .post-content a {
	color: var(--a2z-sp-accent);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}

body.a2z-single-post .entry-content a:hover,
body.a2z-single-post .post-content a:hover {
	color: #1d4ed8;
}

body.a2z-single-post .entry-content h2,
body.a2z-single-post .post-content h2 {
	margin: 1.75em 0 0.55em;
	max-width: var(--a2z-sp-prose);
	font-size: clamp(1.25rem, 2.4vw, 1.45rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.2;
	color: var(--a2z-sp-ink);
}

body.a2z-single-post .entry-content h3,
body.a2z-single-post .post-content h3 {
	margin: 1.5em 0 0.45em;
	max-width: var(--a2z-sp-prose);
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--a2z-sp-ink);
}

body.a2z-single-post .entry-content h4,
body.a2z-single-post .post-content h4 {
	margin: 1.35em 0 0.4em;
	max-width: var(--a2z-sp-prose);
	font-size: 1rem;
	font-weight: 700;
	color: var(--a2z-sp-ink);
}

body.a2z-single-post .entry-content ul,
body.a2z-single-post .entry-content ol,
body.a2z-single-post .post-content ul,
body.a2z-single-post .post-content ol {
	max-width: var(--a2z-sp-prose);
	margin: 0 0 1.15em;
	padding-left: 1.35em;
	color: #334155;
}

body.a2z-single-post .entry-content li + li,
body.a2z-single-post .post-content li + li {
	margin-top: 0.35em;
}

body.a2z-single-post .entry-content blockquote,
body.a2z-single-post .post-content blockquote {
	margin: 1.35em 0;
	max-width: var(--a2z-sp-prose);
	padding: 1rem 1.15rem 1rem 1.1rem;
	border-left: 4px solid var(--a2z-sp-accent);
	border-radius: 0 0.65rem 0.65rem 0;
	background: #f8fafc;
	font-size: 1rem;
	font-style: normal;
	color: #475569;
}

body.a2z-single-post .entry-content strong,
body.a2z-single-post .post-content strong {
	font-weight: 800;
	color: var(--a2z-sp-ink);
}

body.a2z-single-post .entry-footer,
body.a2z-single-post .post-footer {
	margin-top: clamp(2rem, 4vw, 2.75rem);
	padding-top: 1.25rem;
	border-top: 1px solid var(--a2z-sp-border);
	font-size: 0.88rem;
	color: var(--a2z-sp-muted);
}

/* Post nav */
body.a2z-single-post .post-navigation,
body.a2z-single-post .navigation.post-navigation {
	margin-top: clamp(2rem, 4vw, 2.75rem);
	padding-top: 1.25rem;
	border-top: 1px solid var(--a2z-sp-border);
}

body.a2z-single-post .post-navigation a,
body.a2z-single-post .nav-links a {
	font-weight: 700;
	color: var(--a2z-sp-accent);
	text-decoration: none;
}

body.a2z-single-post .post-navigation a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Related posts (Blocksy / common) */
body.a2z-single-post .ct-related-posts,
body.a2z-single-post [class*="related-posts"],
body.a2z-single-post .related-posts {
	margin-top: clamp(2rem, 5vw, 3rem);
	padding: clamp(1.25rem, 3vw, 1.75rem);
	background: #f8fafc;
	border: 1px solid var(--a2z-sp-border);
	border-radius: var(--a2z-sp-radius);
}

body.a2z-single-post .ct-related-posts .related-entry-title,
body.a2z-single-post .related-posts a {
	font-weight: 700;
	color: var(--a2z-sp-ink);
	text-decoration: none;
}

body.a2z-single-post .ct-related-posts .related-entry-title:hover,
body.a2z-single-post .related-posts a:hover {
	color: var(--a2z-sp-accent);
}

/* Comments */
body.a2z-single-post .comments-area,
body.a2z-single-post #comments {
	margin-top: clamp(2.5rem, 5vw, 3.5rem);
	padding-top: clamp(1.5rem, 3vw, 2rem);
	border-top: 1px solid var(--a2z-sp-border);
}

body.a2z-single-post .comment-reply-title,
body.a2z-single-post .comments-title {
	font-size: clamp(1.15rem, 2.5vw, 1.35rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--a2z-sp-ink);
}

body.a2z-single-post .comment-form input[type="text"],
body.a2z-single-post .comment-form input[type="email"],
body.a2z-single-post .comment-form input[type="url"],
body.a2z-single-post .comment-form textarea {
	border-radius: 0.65rem;
	border: 1px solid var(--a2z-sp-border);
	font-family: inherit;
}

body.a2z-single-post .comment-form input[type="submit"],
body.a2z-single-post .form-submit input[type="submit"] {
	padding: 0.65rem 1.35rem;
	border-radius: 999px;
	font-weight: 700;
	background: var(--a2z-sp-accent);
	color: #fff;
	border: none;
	cursor: pointer;
	transition: filter 0.15s ease;
}

body.a2z-single-post .comment-form input[type="submit"]:hover {
	filter: brightness(1.05);
}
