.wp-block-handa-inline-title-frame.itf-frame {
	--itf-border-color: #b8c899;
	--itf-border-width: 2px;
	--itf-border-style: solid;
	--itf-radius: 24px;
	--itf-bg: #fff;
	--itf-title-color: #215f2a;
	--itf-title-bg: #fff;
	--itf-title-size: 32px;
	--itf-title-weight: 600;
	--itf-padding-top: 52px;
	--itf-padding-x: 32px;
	--itf-padding-bottom: 32px;

	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin-top: calc(var(--itf-title-size) * 0.85 + 18px);
	padding: var(--itf-padding-top) var(--itf-padding-x) var(--itf-padding-bottom);
	border-width: var(--itf-border-width);
	border-style: var(--itf-border-style);
	border-color: var(--itf-border-color);
	border-radius: var(--itf-radius);
	background: var(--itf-bg);
	overflow: visible;
}

.wp-block-handa-inline-title-frame.has-itf-shadow {
	box-shadow: 0 14px 38px rgba(30, 55, 25, 0.10);
}

.wp-block-handa-inline-title-frame .itf-title-wrap {
	position: absolute;
	top: 0;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.65em;
	box-sizing: border-box;
	max-width: calc(100% - 40px);
	transform: translateY(-50%);
	text-align: center;
}

.wp-block-handa-inline-title-frame.is-title-left .itf-title-wrap {
	left: max(20px, calc(var(--itf-radius) * 0.75));
}

.wp-block-handa-inline-title-frame.is-title-center .itf-title-wrap {
	left: 50%;
	transform: translate(-50%, -50%);
}

.wp-block-handa-inline-title-frame.is-title-right .itf-title-wrap {
	right: max(20px, calc(var(--itf-radius) * 0.75));
}

.wp-block-handa-inline-title-frame .itf-title {
	min-width: 0;
	margin: 0;
	color: var(--itf-title-color);
	font-size: clamp(1.15rem, 3.2vw, var(--itf-title-size));
	font-weight: var(--itf-title-weight);
	line-height: 1.25;
	letter-spacing: 0.05em;
	text-wrap: balance;
}

.wp-block-handa-inline-title-frame .itf-decoration {
	flex: 0 0 auto;
	color: var(--itf-title-color);
	font-size: clamp(1rem, 2.4vw, calc(var(--itf-title-size) * 0.78));
	line-height: 1;
}

/* ラインを自然に切って、見出しが枠線をまたいで見える基本形 */
.wp-block-handa-inline-title-frame.is-style-inline .itf-title-wrap,
.wp-block-handa-inline-title-frame.is-style-minimal .itf-title-wrap {
	padding: 0.18em 0.7em;
	background: var(--itf-title-bg);
}

/* ラベル型 */
.wp-block-handa-inline-title-frame.is-style-badge .itf-title-wrap {
	padding: 0.42em 0.9em;
	border: var(--itf-border-width) solid var(--itf-border-color);
	border-radius: 999px;
	background: var(--itf-title-bg);
	box-shadow: 0 4px 14px rgba(30, 55, 25, 0.08);
}

/* 帯型 */
.wp-block-handa-inline-title-frame.is-style-bar .itf-title-wrap {
	padding: 0.48em 1.05em;
	border-radius: 12px;
	background: var(--itf-title-bg);
	box-shadow: 0 5px 18px rgba(30, 55, 25, 0.10);
}

.wp-block-handa-inline-title-frame.is-style-minimal .itf-title-wrap {
	padding-inline: 0.5em;
}

.wp-block-handa-inline-title-frame.is-style-minimal .itf-decoration {
	opacity: 0.75;
}

.wp-block-handa-inline-title-frame .itf-content {
	position: relative;
	z-index: 1;
	min-width: 0;
}

.wp-block-handa-inline-title-frame .itf-content > :first-child {
	margin-top: 0;
}

.wp-block-handa-inline-title-frame .itf-content > :last-child {
	margin-bottom: 0;
}

.wp-block-handa-inline-title-frame .itf-content img {
	max-width: 100%;
	height: auto;
}

@media (max-width: 600px) {
	.wp-block-handa-inline-title-frame.itf-frame {
		margin-top: 44px;
		padding-top: max(42px, var(--itf-padding-top));
		padding-right: min(var(--itf-padding-x), 20px);
		padding-bottom: min(var(--itf-padding-bottom), 28px);
		padding-left: min(var(--itf-padding-x), 20px);
		border-radius: min(var(--itf-radius), 22px);
	}

	.wp-block-handa-inline-title-frame .itf-title-wrap {
		max-width: calc(100% - 24px);
		gap: 0.4em;
	}

	.wp-block-handa-inline-title-frame.is-title-left .itf-title-wrap {
		left: 14px;
	}

	.wp-block-handa-inline-title-frame.is-title-right .itf-title-wrap {
		right: 14px;
	}

	.wp-block-handa-inline-title-frame .itf-title {
		letter-spacing: 0.02em;
	}
}
