/*
 * CaryTamura blog post (every post, CT Single Post 5434) — 2026 redesign.
 *
 * Loaded on single posts only (functions.php, is_singular('post')), after
 * page-hero.css and sections.css. The hero is the shared split title band
 * (the post's featured image and title). Below it:
 *
 *   .ct-post-body   the post's own content in a reading column, then the
 *                   share icons ([ct_share_url] links)
 *   .ct-read-more   CT Read More Articles (5490): a paper band, section
 *                   head, four CT Loop – Related Article (5489) cards in a
 *                   row (Query ID ct_post_related)
 *   contact band    shared template
 *
 * The original 800px photographic hero, red share discs and black related
 * band with titles over the photographs are not reproduced.
 */

/* --------------------------------------------------------------- article */
.ct-page-body.ct-post-body.e-con {
	--padding-top: var(--ct-space-section);
	--padding-bottom: var(--ct-space-section);
	--padding-left: var(--ct-gutter);
	--padding-right: var(--ct-gutter);
	padding-block: var(--ct-space-section);
	background-color: var(--ct-canvas);
}

.elementor .ct-post-body.e-con > .elementor-widget {
	--kit-widget-spacing: 0px;
	width: 100%;
	max-width: 720px;
	margin: 0 auto;
}

.ct-post-content {
	font-family: var(--ct-font-body);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0;
	text-align: left;
	color: var(--ct-ink-body);
}

.ct-post-content p {
	margin: 0 0 1.3em;
	font-family: inherit;
	font-size: inherit;
}

.ct-post-content p:last-of-type {
	margin-bottom: 0;
}

.ct-post-content h2,
.ct-post-content h3,
.ct-post-content h4 {
	margin: 1.6em 0 0.6em;
	font-family: var(--ct-font-display);
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ct-ink);
}

.ct-post-content h2 { font-size: clamp(26px, 2.4vw, 34px); }
.ct-post-content h3 { font-size: clamp(22px, 2vw, 28px); }
.ct-post-content h4 { font-size: 21px; }

.ct-post-content a {
	color: var(--ct-ink);
	text-decoration: underline;
	text-decoration-color: var(--ct-accent);
	text-underline-offset: 3px;
}

.ct-post-content strong,
.ct-post-content b {
	font-weight: 700;
	color: var(--ct-ink);
}

.ct-post-content ul,
.ct-post-content ol {
	margin: 0 0 1.3em;
	padding-left: 1.3em;
}

.ct-post-content li::marker {
	color: var(--ct-accent);
}

.ct-post-content blockquote {
	margin: 1.6em 0;
	padding: 0 0 0 24px;
	border-left: 3px solid var(--ct-accent);
	font-family: var(--ct-font-display);
	font-size: 22px;
	line-height: 1.5;
	color: var(--ct-ink);
}

.ct-post-content img {
	display: block;
	margin-block: 1.6em;
}

/* Share: square ink marks under a hairline, filling red on hover. */
.elementor .ct-post-body.e-con > .elementor-widget.ct-post-share {
	--grid-column-gap: 8px;
	--grid-row-gap: 0px;
	margin-top: 48px;
	padding-top: 24px;
	border-top: 1px solid var(--ct-border);
}

.ct-post-share .elementor-social-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--ct-ink);
	border-radius: 0;
	background-color: var(--ct-canvas);
	font-size: 16px;
	color: var(--ct-ink);
	transition: background-color var(--ct-transition), color var(--ct-transition), border-color var(--ct-transition);
}

.ct-post-share .elementor-social-icon svg {
	width: 16px;
	height: 16px;
	fill: currentColor;
}

.ct-post-share .elementor-social-icon:hover,
.ct-post-share .elementor-social-icon:focus-visible {
	border-color: var(--ct-accent-strong);
	background-color: var(--ct-accent-strong);
	color: var(--ct-on-dark);
}

/* ---------------------------------------------------- read more articles */
.ct-read-more-placement.elementor-widget {
	--kit-widget-spacing: 0px;
	margin-block: 0;
}

.ct-read-more.e-con {
	--padding-top: var(--ct-space-section);
	--padding-bottom: var(--ct-space-section);
	--padding-left: max(var(--ct-gutter), calc((100% - var(--ct-max)) / 2));
	--padding-right: max(var(--ct-gutter), calc((100% - var(--ct-max)) / 2));
	--row-gap: 0px;
	--kit-widget-spacing: 0px;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	background-color: var(--ct-paper);
}

.elementor .ct-read-more.e-con > .elementor-widget {
	--kit-widget-spacing: 0px;
	margin: 0;
}

.elementor .ct-read-more.e-con > .elementor-widget.ct-read-more__title {
	width: auto;
	flex: 1 1 auto;
}

.ct-read-more .ct-read-more__title .elementor-heading-title {
	margin: 0;
	font-family: var(--ct-font-display);
	font-size: var(--ct-type-h2);
	font-weight: 400;
	line-height: var(--ct-leading-heading);
	letter-spacing: var(--ct-track-heading);
	text-transform: none;
	text-align: left;
	color: var(--ct-ink);
}

/* View All: a text link at the head's right, ahead of the grid. */
.elementor .ct-read-more.e-con > .elementor-widget.ct-read-more__all {
	order: 1;
	width: auto;
	flex: 0 0 auto;
}

.elementor .ct-read-more.e-con > .elementor-widget.ct-read-more__grid {
	order: 2;
	width: 100%;
	margin-top: var(--ct-space-block);
}

.ct-read-more .ct-read-more__grid .elementor-loop-container {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-flow: row;
	gap: 32px;
}

.ct-read-more .e-loop-item {
	display: flex;
}

.ct-read-more .ct-related-card.e-con {
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	--row-gap: 0px;
	width: 100%;
	color: var(--ct-ink);
	text-decoration: none;
}

.ct-read-more .ct-related-card .elementor-widget {
	--kit-widget-spacing: 0px;
	margin: 0;
}

.ct-read-more .ct-related-card__img.elementor-widget {
	position: relative;
	overflow: hidden;
	background-color: var(--ct-surface);
}

.ct-read-more .ct-related-card__img img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	max-width: none;
	object-fit: cover;
	transition: transform 600ms var(--ct-ease);
}

.ct-read-more .ct-related-card:hover .ct-related-card__img img {
	transform: scale(1.03);
}

.ct-read-more .ct-related-card__img::after {
	content: none;
}

.ct-read-more .ct-related-card__title.elementor-widget {
	position: static;
	padding-top: 18px;
}

.ct-read-more .ct-related-card__title .elementor-heading-title {
	margin: 0;
	font-family: var(--ct-font-display);
	font-size: 19px;
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: 0;
	text-transform: none;
	text-align: left;
	color: var(--ct-ink);
}

.ct-read-more .ct-related-card:hover .ct-related-card__title .elementor-heading-title {
	text-decoration: underline;
	text-decoration-color: var(--ct-accent);
	text-underline-offset: 4px;
}

.ct-read-more .ct-related-card:focus-visible {
	outline: 2px solid var(--ct-accent);
	outline-offset: 6px;
}

@media (max-width: 1024px) {
	.ct-read-more .ct-read-more__grid .elementor-loop-container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.ct-post-content {
		font-size: 17px;
	}

	.ct-read-more .ct-read-more__grid .elementor-loop-container {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ct-post-share .elementor-social-icon,
	.ct-read-more .ct-related-card__img img {
		transition: none;
	}
}
