/* お買い得ラボ 表示コンポーネント */

.okd-verdict {
	border: 2px solid #d8dee4;
	border-radius: 10px;
	padding: 1.1em 1.2em;
	margin: 1.6em 0;
	background: #fbfcfd;
}

.okd-verdict__head {
	display: flex;
	align-items: center;
	gap: 0.5em;
	font-size: 1.35em;
	font-weight: 700;
	line-height: 1.3;
}

.okd-verdict__reason {
	margin: 0.6em 0 0;
	font-size: 0.97em;
	line-height: 1.75;
}

.okd-verdict__meta {
	margin: 0.7em 0 0;
	font-size: 0.82em;
	color: #6b7480;
}

.okd-verdict--buy_now,
.okd-verdict--good {
	border-color: #2e9e5b;
	background: #f2fbf5;
}

.okd-verdict--wait_sale {
	border-color: #d9a520;
	background: #fffbf0;
}

.okd-verdict--wait {
	border-color: #d24b4b;
	background: #fdf4f4;
}

.okd-verdict--collecting {
	border-color: #b6bec7;
	background: #f7f8f9;
}

.okd-table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.4em 0;
	font-size: 0.97em;
}

.okd-table th,
.okd-table td {
	border: 1px solid #e2e6ea;
	padding: 0.65em 0.9em;
	text-align: left;
}

.okd-table th {
	width: 45%;
	background: #f6f8fa;
	font-weight: 600;
}

.okd-table__current td {
	font-size: 1.15em;
	font-weight: 700;
}

.okd-muted {
	color: #6b7480;
	font-size: 0.88em;
	font-weight: 400;
}

.okd-note,
.okd-credit {
	font-size: 0.85em;
	color: #6b7480;
	line-height: 1.7;
	margin: 0.9em 0;
}

.okd-warn {
	background: #fff4f4;
	border-left: 4px solid #d24b4b;
	padding: 0.7em 1em;
	font-size: 0.9em;
}

/* グラフ */
.okd-chart {
	margin: 1.6em 0;
}

.okd-chart svg {
	width: 100%;
	height: auto;
	overflow: visible;
}

.okd-chart__line {
	fill: none;
	stroke: #bf0000;
	stroke-width: 2;
	stroke-linejoin: round;
	stroke-linecap: round;
	vector-effect: non-scaling-stroke;
}

.okd-chart__area {
	fill: rgba(191, 0, 0, 0.08);
	stroke: none;
}

.okd-chart__grid {
	stroke: #dfe4e9;
	stroke-width: 1;
	stroke-dasharray: 3 3;
	vector-effect: non-scaling-stroke;
}

.okd-chart__grid--min {
	stroke: #2e9e5b;
}

.okd-chart__ylabel,
.okd-chart__xlabel {
	font-size: 11px;
	fill: #6b7480;
}

.okd-chart__ylabel--min {
	fill: #2e9e5b;
	font-weight: 700;
}

.okd-chart figcaption {
	font-size: 0.82em;
	color: #6b7480;
	margin-top: 0.5em;
	text-align: center;
}

/* 購入ボタン */
.okd-buy {
	margin: 1.8em 0;
}

.okd-buy__btn {
	display: block;
	padding: 0.95em 1.2em;
	margin-bottom: 0.6em;
	border-radius: 8px;
	text-align: center;
	font-weight: 700;
	text-decoration: none;
	color: #fff;
	transition: opacity 0.15s ease;
}

.okd-buy__btn:hover {
	opacity: 0.88;
	color: #fff;
}

.okd-buy__btn--rakuten {
	background: #bf0000;
}

.okd-buy__btn--amazon {
	background: #ff9900;
	color: #111;
}

.okd-buy__btn--amazon:hover {
	color: #111;
}

.okd-buy__btn--yahoo {
	background: #ff0033;
}

.okd-buy__note {
	font-size: 0.8em;
	color: #6b7480;
	margin: 0.5em 0 0;
	text-align: center;
}

/* ランキング */
.okd-ranking {
	margin: 1.4em 0;
	padding-left: 1.4em;
}

.okd-ranking__item {
	padding: 0.7em 0;
	border-bottom: 1px solid #eceff2;
}

.okd-ranking__name {
	font-weight: 600;
	line-height: 1.5;
}

.okd-ranking__price {
	margin-top: 0.25em;
}

.okd-ranking__net {
	font-size: 1.1em;
	font-weight: 700;
	color: #bf0000;
}

@media (max-width: 600px) {
	.okd-verdict__head {
		font-size: 1.15em;
	}

	.okd-table th {
		width: 50%;
	}
}
