/**
 * ショートコード版カードのフロントスタイル(プラグイン側で完結・テーマ非依存)。
 * ブロック版と同じクラス名を使い、見た目を常に一致させる。
 */
.ksl-block {
	--ksl-accent: #ff7043;
	position: relative;
	margin: 0.25em 0 1.5em;
	padding: 1em;
	border: 2px solid #f5f5f4;
	border-radius: 8px;
	box-sizing: border-box;
}
.ksl-sale-copy {
	margin: 1.5em 0 0.25em;
	color: #ffa826;
	font-size: 15px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.03em;
	line-height: 1.5;
}
.ksl-sale-benefit {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: #ffa826;
}
.ksl-block *,
.ksl-block *::before,
.ksl-block *::after {
	box-sizing: border-box;
}
/* PCは商品数ぶんの等幅カラム、600px以下は1カラム(下部のメディアクエリ)。 */
.ksl-items {
	display: flex;
	gap: 16px;
	align-items: stretch;
	max-width: 100%;
}
.ksl-item {
	position: relative;
	/* flex-basis:0 + min-width:0 で、長い商品名があっても等幅を保ち横あふれさせない。 */
	flex: 1 1 0;
	min-width: 0;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	padding: 12px;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	background: #fff;
	overflow-wrap: anywhere;
	word-break: break-word;
}
.ksl-sale-badge {
	position: absolute;
	top: -10px;
	right: 8px;
	padding: 2px 10px;
	background: #d32f2f;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	border-radius: 10px;
}
.ksl-image {
	text-align: center;
	margin-bottom: 8px;
}
.ksl-image img {
	max-width: 100%;
	max-height: 220px;
	width: auto;
	height: auto;
	object-fit: contain;
}
.ksl-name {
	margin: 0 0 4px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	overflow-wrap: anywhere;
	word-break: break-word;
}
.ksl-note {
	margin: 4px 0;
	padding: 6px 8px;
	background: #fafafa;
	border-left: 3px solid var(--ksl-accent);
	font-size: 13px;
	line-height: 1.5;
}
.ksl-buttons {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: auto;
	padding-top: 8px;
}
.ksl-btn {
	display: block;
	padding: 10px 8px;
	border-radius: 5px;
	text-align: center;
	text-decoration: none;
	font-size: 14px;
	font-weight: 700;
	transition: opacity 0.15s;
	/* 長いラベルでもボタン幅からはみ出させない。 */
	max-width: 100%;
	overflow-wrap: anywhere;
}
.ksl-btn:hover {
	opacity: 0.8;
	text-decoration: none;
}
.ksl-btn-rakuten {
	background: #ffd3dc;
	color: #a3153b !important;
}
.ksl-btn-amazon {
	background: #ffe0b2;
	color: #7c3d00 !important;
}
.ksl-btn-yahoo {
	background: #d6e9ff;
	color: #1d4e9e !important;
}
@media (max-width: 600px) {
	.ksl-items {
		flex-direction: column;
	}
	.ksl-item {
		width: 100%;
	}
}
