/* カート・購入手続きフロー(カート/お客様情報/配送・支払方法/確認/完了)共通スタイル。
   ページ全体の骨格(.ck-account系)・フォーム(.customer_form)・送信ボタン(.send)は
   会員ページ用に作ったmember.cssのスタイルをそのまま流用する。ここではカート特有の
   要素(ステップナビ・カート明細テーブル・ポイントテーブル等)のみを扱う。 */

/* ---------- ステップナビゲーション ---------- */
.ck-cart-steps {
	display: flex;
	list-style: none;
	margin: 0 0 32px;
	padding: 0;
}

.ck-cart-steps__item {
	position: relative;
	flex: 1;
	text-align: center;
}

.ck-cart-steps__item::before {
	content: "";
	position: absolute;
	top: 15px;
	left: -50%;
	width: 100%;
	height: 2px;
	background: var(--ck-color-border-soft);
	z-index: 0;
}

.ck-cart-steps__item:first-child::before {
	content: none;
}

.ck-cart-steps__item.is-done::before {
	background: var(--ck-color-primary);
}

.ck-cart-steps__num {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin: 0 auto 8px;
	border-radius: 50%;
	background: var(--ck-color-white);
	border: 2px solid var(--ck-color-border-soft);
	color: var(--ck-text-3);
	font-weight: 700;
	font-size: var(--ck-text-sm);
}

.ck-cart-steps__label {
	display: block;
	font-size: var(--ck-text-xs);
	font-weight: 500;
	color: var(--ck-text-3);
}

.ck-cart-steps__item.is-done .ck-cart-steps__num {
	background: var(--ck-color-primary);
	border-color: var(--ck-color-primary);
	color: var(--ck-color-white);
	font-size: var(--ck-text-sm);
}

.ck-cart-steps__item.is-current .ck-cart-steps__num {
	border-color: var(--ck-color-primary);
	color: var(--ck-color-primary);
	box-shadow: 0 0 0 4px rgba(0, 160, 233, 0.12);
}

.ck-cart-steps__item.is-current .ck-cart-steps__label {
	color: var(--ck-color-primary);
	font-weight: 700;
}

/* ---------- カート明細テーブル(カート/確認ページ共通) ---------- */
.ck-cart-table-wrap {
	overflow-x: auto;
}

.ck-cart-table {
	width: 100%;
	min-width: 640px;
	border-collapse: collapse;
	font-size: var(--ck-text-sm);
}

.ck-cart-table th,
.ck-cart-table td {
	padding: 12px 10px;
	border-bottom: 1px solid var(--ck-color-border-soft);
	text-align: left;
	vertical-align: middle;
}

.ck-cart-table thead th {
	font-weight: 700;
	color: var(--ck-text-3);
	font-size: var(--ck-text-xs);
	background: var(--ck-color-bg-soft);
	white-space: nowrap;
}

.ck-cart-table tfoot th,
.ck-cart-table tfoot td {
	border-bottom: none;
	border-top: 1px solid var(--ck-color-border-soft);
}

.ck-cart-table .thumbnail {
	width: 60px;
}

.ck-cart-table .thumbnail img {
	display: block;
	border-radius: 6px;
}

.ck-cart-table .num,
.ck-cart-table .quantity,
.ck-cart-table .stock {
	text-align: center;
}

.ck-cart-table .unitprice,
.ck-cart-table .price,
.ck-cart-table .subtotal,
.ck-cart-table .amount,
.ck-cart-table .aright {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.ck-cart-table .amount {
	font-weight: 700;
	color: var(--ck-text-1);
}

.ck-cart-table .signal_red {
	color: var(--ck-color-accent-red);
	font-weight: 700;
}

.ck-cart-table input[type="text"] {
	width: 60px;
	box-sizing: border-box;
	border: 1px solid var(--ck-color-border-soft);
	border-radius: 6px;
	padding: 6px 8px;
	text-align: center;
}

.ck-cart-currency {
	margin-top: 12px;
	font-size: var(--ck-text-xs);
	color: var(--ck-text-4);
}

.ck-cart-discount {
	color: var(--ck-color-accent-red);
}

.ck-cart-upbutton {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	margin-bottom: 12px;
	font-size: var(--ck-text-xs);
	color: var(--ck-text-3);
}

.ck-cart-upbutton input[type="submit"] {
	border: 1px solid var(--ck-color-border-soft);
	border-radius: var(--ck-radius-pill);
	background: var(--ck-color-white);
	padding: 6px 16px;
	font-size: var(--ck-text-xs);
	font-weight: 700;
	cursor: pointer;
}

.ck-cart-gp {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
	font-size: var(--ck-text-xs);
	color: var(--ck-text-3);
}

/* ---------- 会員ポイントテーブル(確認ページ) ---------- */
.ck-point-table {
	width: 100%;
	border-collapse: collapse;
	margin: 20px 0;
	font-size: var(--ck-text-sm);
}

.ck-point-table td {
	padding: 10px;
	border-bottom: 1px solid var(--ck-color-border-soft);
}

.ck-point-table .used_point {
	width: 100px;
	box-sizing: border-box;
	border: 1px solid var(--ck-color-border-soft);
	border-radius: 6px;
	padding: 8px 10px;
}

/* 「戻る」ボタンはmember.cssのinput[name="top"]と同じく控えめな枠線ボタンにする */
.ck-account .send input[name="backCustomer"] {
	background: transparent;
	color: var(--ck-text-2);
	border: 1.5px solid var(--ck-color-border-soft);
}

.ck-account .send input[name="backCustomer"]:hover {
	background: var(--ck-color-bg-soft);
	color: var(--ck-text-1);
}

/* 最終購入ボタン(usces_purchase_button)は目立たせる */
.ck-account__submit--purchase input[type="submit"],
.ck-account__submit--purchase button {
	font-size: var(--ck-text-md);
	padding: 16px;
}

@media (max-width: 600px) {
	.ck-cart-steps__label {
		font-size: 0.65rem;
	}
	.ck-cart-steps__num {
		width: 26px;
		height: 26px;
	}
}
