/*
 * Entry content styles
 * IE Zukuri Content Theme
 */

/* --------------------------------
 * Entry content / typography
 * -------------------------------- */
.single-post__content > *:last-child,
.single-page__content > *:last-child {
	margin-bottom: 0;
}

.single-post__content,
.single-page__content,
.entry-content {
	font-size: 1.0625rem;
	line-height: 1.9;
	color: #2f2f2f;
}

.single-post__content > h2.wp-block-heading,
.single-page__content > h2.wp-block-heading {
	position: relative;
	margin-top: 120px;
	margin-bottom: 1em;
	padding: 0.55em 0 0.55em 1.15em;
	border-bottom: 1px solid #e6ddd3;
	font-size: clamp(1.6rem, 2.7vw, 2.1rem);
	line-height: 1.45;
	color: #2b2b2b;
}

.single-post__content > h2.wp-block-heading::before,
.single-page__content > h2.wp-block-heading::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 6px;
	height: calc(100% - 1.1em);
	border-radius: 999px;
	background: linear-gradient(180deg, #b89b7d 0%, #e3d6c8 100%);
}

.single-post__content > h2.wp-block-heading::after,
.single-page__content > h2.wp-block-heading::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 96px;
	height: 2px;
	background-color: #b89b7d;
}

.single-post__content > h3.wp-block-heading,
.single-page__content > h3.wp-block-heading {
	position: relative;
	margin: 3em 0 0.8em;
	padding-left: 0.9em;
	font-size: clamp(1.32rem, 2.1vw, 1.6rem);
	line-height: 1.5;
	color: #2b2b2b;
}

.single-post__content > h3.wp-block-heading::before,
.single-page__content > h3.wp-block-heading::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.35em;
	width: 4px;
	height: 1.25em;
	border-radius: 999px;
	background: linear-gradient(180deg, #b89b7d 0%, #e3d6c8 100%);
}

.single-post__content p,
.single-page__content p,
.entry-content p {
	margin: 0 0 1.4em;
}

.single-post__content h2,
.single-page__content h2,
.entry-content h2 {
	font-size: clamp(1.3rem, 2.4vw, 1.6rem);
	line-height: 1.45;
	color: #2b2b2b;
}

.single-post__content h3,
.single-page__content h3,
.entry-content h3 {
	margin: 1.8em 0 0.6em;
	font-size: clamp(1.2rem, 2vw, 1.4rem);
	line-height: 1.5;
	color: #2b2b2b;
}

.single-post__content ul,
.single-post__content ol,
.single-page__content ul,
.single-page__content ol,
.entry-content ul,
.entry-content ol {
	margin: 0 0 1.4em;
	padding-left: 1.5em;
}

.single-post__content li,
.single-page__content li,
.entry-content li {
	margin-bottom: 0.5em;
}

.single-post__content img,
.single-page__content img,
.entry-content img {
	height: auto;
	border-radius: 12px;
}

.single-post__content a,
.single-page__content a,
.entry-content a {
	color: #1f5fa8;
	text-decoration: underline;
	text-underline-offset: 0.08em;
}

.single-post__content blockquote,
.single-page__content blockquote,
.entry-content blockquote {
	margin: 0 0 1.6em;
	padding: 1em 1.2em;
	border-left: 4px solid #d8cabb;
	background-color: #fcfaf7;
	color: #5d5147;
}

.single-post__content table,
.single-page__content table,
.entry-content table {
	width: 100%;
	margin: 0 0 1.6em;
	border-collapse: collapse;
}

.single-post__content th,
.single-post__content td,
.single-page__content th,
.single-page__content td,
.entry-content th,
.entry-content td {
	padding: 12px 14px;
	border: 1px solid #e7ddd3;
	text-align: left;
	vertical-align: top;
}

.single-post__content strong,
.single-post__content b,
.single-page__content strong,
.single-page__content b,
.entry-content strong,
.entry-content b {
	padding: 0 0.08em;
	font-weight: 700;
	color: #2f2f2f;
	background: linear-gradient(transparent 38%, #f2eb8f 38%);
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

.single-post__content .wp-block-image,
.single-page__content .wp-block-image,
.entry-content .wp-block-image {
	margin: 0 0 1.6em;
}

.single-post__content .wp-block-button,
.single-page__content .wp-block-button,
.entry-content .wp-block-button {
	margin: 0 0 1.6em;
}

/* --------------------------------
 * Entry content CTA adjustments
 * -------------------------------- */
.entry-content .c-cta-middle__card,
.entry-content .c-cta-middle__card:link,
.entry-content .c-cta-middle__card:visited,
.single-post__content .c-cta-middle__card,
.single-post__content .c-cta-middle__card:link,
.single-post__content .c-cta-middle__card:visited,
.single-page__content .c-cta-middle__card,
.single-page__content .c-cta-middle__card:link,
.single-page__content .c-cta-middle__card:visited {
	color: #2b2b2b;
	text-decoration: none;
}

.entry-content .c-cta-middle__card:hover,
.single-post__content .c-cta-middle__card:hover,
.single-page__content .c-cta-middle__card:hover {
	text-decoration: none;
}

.single-post__content .c-cta-middle__card-image,
.single-page__content .c-cta-middle__card-image,
.entry-content .c-cta-middle__card-image {
	display: block;
	width: 60px;
	height: 60px;
	object-fit: contain;
	border-radius: 0;
}

/* --------------------------------
 * Lead box
 * -------------------------------- */
.single-post__content .c-lead-box__list,
.single-page__content .c-lead-box__list,
.entry-content .c-lead-box__list {
	margin: 0;
	padding-left: 0;
	list-style: none;
}

.single-post__content .c-lead-box__item,
.single-page__content .c-lead-box__item,
.entry-content .c-lead-box__item {
	position: relative;
	margin-bottom: 12px;
	padding-left: 1.1em;
	line-height: 1.2;
	color: #2f2f2f;
}

/* --------------------------------
 * Responsive
 * -------------------------------- */
@media (max-width: 767px) {
	.single-post__content,
	.single-page__content,
	.entry-content {
		font-size: 1rem;
		line-height: 1.85;
	}

	.single-post__content h2,
	.single-page__content h2,
	.entry-content h2 {
		margin-top: 2em;
		font-size: clamp(1.35rem, 5vw, 1.65rem);
	}

	.single-post__content h3,
	.single-page__content h3,
	.entry-content h3 {
		margin-top: 1.5em;
		font-size: clamp(1.1rem, 4vw, 1.25rem);
	}

	.single-post__content .c-cta-middle__card-image,
	.single-page__content .c-cta-middle__card-image,
	.entry-content .c-cta-middle__card-image {
		width: 52px;
		height: 52px;
		border-radius: 0;
	}

	.single-post__content .c-lead-box__list,
	.single-page__content .c-lead-box__list,
	.entry-content .c-lead-box__list {
		padding-left: 0;
	}

	.single-post__content .c-lead-box__item,
	.single-page__content .c-lead-box__item,
	.entry-content .c-lead-box__item {
		margin-bottom: 10px;
		font-size: 1rem;
		line-height: 1.75;
	}
}