/* ========================================
   Variable Balloon
======================================== */

.variable-balloon {

	/* 可変変数 */
	--balloon-icon-size: 56px;
	--balloon-gap: 16px;
	--balloon-radius: 18px;
	--balloon-padding: 1em 1.2em;
	margin: 2em 0;

}

/* FAMOUS / TCD系対策 */
.variable-balloon > .wp-block-group__inner-container {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

/* ========================================
   Icon
======================================== */

.variable-balloon__image {
	flex-shrink: 0;
	width: 56px;
	margin: 0;
}

.variable-balloon__image img {
	display: block;
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 50%;
}

/* ========================================
   Balloon Body
======================================== */

.variable-balloon__body {
	position: relative;
	flex: 1;

	background: #ffffff;
	border: 1px solid #dcdcdc;
	border-radius: 18px;

	padding: 1em 1.2em;

	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

/* テキスト余白調整 */

.variable-balloon__body p {
	margin: 0;
}

/* ========================================
   Left Balloon Arrow
======================================== */

.variable-balloon__body::before {
	content: "";
	position: absolute;

	top: 20px;
	left: -10px;

	border-width: 10px 10px 10px 0;
	border-style: solid;
	border-color: transparent #dcdcdc transparent transparent;
}

.variable-balloon__body::after {
	content: "";
	position: absolute;

	top: 21px;
	left: -8px;

	border-width: 9px 9px 9px 0;
	border-style: solid;
	border-color: transparent #ffffff transparent transparent;
}

/* ========================================
   Right Balloon
======================================== */

.variable-balloon--right > .wp-block-group__inner-container {
	flex-direction: row-reverse;
}

.variable-balloon--right .variable-balloon__body::before {
	left: auto;
	right: -10px;

	border-width: 10px 0 10px 10px;
	border-color: transparent transparent transparent #dcdcdc;
}

.variable-balloon--right .variable-balloon__body::after {
	left: auto;
	right: -8px;

	border-width: 9px 0 9px 9px;
	border-color: transparent transparent transparent #ffffff;
}

/* ========================================
   Mobile
======================================== */

@media screen and (max-width: 767px) {

	.variable-balloon > .wp-block-group__inner-container {
		gap: 12px;
		align-items: flex-start;
	}

	.variable-balloon__image {
		width: 48px;
	}

	.variable-balloon__image img {
		width: 48px;
		height: 48px;
	}

	.variable-balloon__body {
		padding: 0.9em 1em;
		font-size: 0.95rem;
	}

}