/* Amazon Book Card — 他のテーマCSSと競合しにくいよう .abc- で名前空間化 */
.abc-card {
	box-sizing: border-box;
	display: flex;
	gap: 20px;
	align-items: flex-start;
	max-width: 680px;
	margin: 1.5em auto;
	padding: 20px;
	background: #fff;
	border: 1px solid #e2e4e7;
	border-radius: 4px;
	color: #1e1e1e;
	font-size: 16px;
	line-height: 1.6;
}
.abc-card *, .abc-card *::before, .abc-card *::after { box-sizing: border-box; }
.abc-card p { margin: 0; padding: 0; }
.abc-card__media { flex: 0 0 120px; width: 120px; }
.abc-card__imglink { display: block; line-height: 0; }
.abc-card .abc-card__img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0;
	border: 1px solid #eceef0;
	box-shadow: none;
}
.abc-card__noimage {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 2 / 3;
	background: #f6f7f7;
	border: 1px solid #e2e4e7;
	color: #8c8f94;
	font-size: 12px;
}
.abc-card__body { flex: 1 1 auto; min-width: 0; }
.abc-card .abc-card__title { font-size: 1.05em; font-weight: 700; line-height: 1.5; margin-bottom: 6px; overflow-wrap: anywhere; }
.abc-card .abc-card__title a { color: inherit; text-decoration: none; }
.abc-card .abc-card__title a:hover { text-decoration: underline; }
.abc-card .abc-card__author { font-size: 0.9em; color: #50575e; margin-bottom: 14px; }
.abc-card .abc-card__action { margin-top: 12px; }
.abc-card a.abc-card__button {
	display: inline-block;
	padding: 9px 22px;
	background: #1e1e1e;
	color: #fff;
	border-radius: 3px;
	font-size: 0.9em;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	box-shadow: none;
	transition: background-color .15s ease;
}
.abc-card a.abc-card__button:hover,
.abc-card a.abc-card__button:focus { background: #3c434a; color: #fff; text-decoration: none; }
.abc-card .abc-card__disclosure { margin-top: 10px; font-size: 11px; line-height: 1.5; color: #787c82; }
.abc-disclosure { font-size: 12px; color: #787c82; }

/* デザイン：角丸 */
.abc-card--rounded { border-radius: 12px; box-shadow: 0 2px 10px rgba(0, 0, 0, .06); }
.abc-card--rounded a.abc-card__button { border-radius: 999px; }
.abc-card--rounded .abc-card__img, .abc-card--rounded .abc-card__noimage { border-radius: 4px; }

/* デザイン：コンパクト */
.abc-card--compact { padding: 12px; gap: 14px; }
.abc-card--compact .abc-card__media { flex-basis: 80px; width: 80px; }
.abc-card--compact .abc-card__author { margin-bottom: 8px; }
.abc-card--compact a.abc-card__button { padding: 7px 16px; }

/* エラー（編集権限のあるユーザーにのみ表示） */
.abc-card--error { display: block; background: #fcf0f1; border-color: #d63638; color: #8a2424; font-size: 14px; }

.abc-textlink { margin: 1em 0; }

/* スマートフォン：縦並び */
@media (max-width: 480px) {
	.abc-card { flex-direction: column; align-items: center; text-align: center; padding: 16px; }
	.abc-card__media { flex-basis: auto; width: 110px; }
	.abc-card--compact .abc-card__media { width: 80px; }
	.abc-card__body { width: 100%; }
	.abc-card a.abc-card__button { display: block; width: 100%; text-align: center; }
}
