/* =============================================
   Price Table Manager — フロントエンドスタイル
   SWELLテーマのCSSを上書きするため高詳細度セレクタ + !important を使用
   ============================================= */

/* ---- ラッパー ---- */
.ptm-table-wrap {
	margin: 2em 0;
	font-family: inherit;
}

.ptm-table-scroll {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid #d0d0d0;
	border-radius: 6px;
}

/* ============================================================
   テーブル本体のリセット
   SWELL が table に加えるスタイルを完全に打ち消す
   ============================================================ */
.ptm-table-wrap .ptm-table {
	width: 100% !important;
	border-collapse: collapse !important;
	border-spacing: 0 !important;
	font-size: 0.95rem !important;
	background: #fff !important;
	table-layout: auto !important;
	/* SWELLの margin / border / outline をリセット */
	margin: 0 !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}

/* ============================================================
   ヘッダーセル（th）— SWELLは th に背景・枠を独自に付けることがある
   ============================================================ */
.ptm-table-wrap .ptm-table thead tr {
	background: none !important;
	border: none !important;
}

.ptm-table-wrap .ptm-table thead th,
.ptm-table-wrap .ptm-table th.ptm-th {
	background-color: #2c2c2c !important;
	color: #fff !important;
	padding: 14px 16px !important;
	text-align: center !important;
	font-size: 0.85rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.03em !important;
	border-right: 1px solid rgba(255, 255, 255, 0.15) !important;
	border-top: none !important;
	border-bottom: none !important;
	border-left: none !important;
	white-space: nowrap !important;
	vertical-align: middle !important;
	line-height: 1.45 !important;
	/* SWELLのth疑似要素などをリセット */
	box-shadow: none !important;
	outline: none !important;
}

.ptm-table-wrap .ptm-table thead th:last-child,
.ptm-table-wrap .ptm-table th.ptm-th:last-child {
	border-right: none !important;
}

/* 強調ヘッダー（赤背景） — !important で最優先 */
.ptm-table-wrap .ptm-table thead th.ptm-th--featured,
.ptm-table-wrap .ptm-table th.ptm-th.ptm-th--featured {
	background-color: #c0392b !important;
	color: #fff !important;
}

/* ラベル列ヘッダー */
.ptm-table-wrap .ptm-table thead th.ptm-th--label {
	min-width: 90px !important;
}

/* ============================================================
   データ行 (tbody tr)
   ============================================================ */
.ptm-table-wrap .ptm-table tbody tr {
	border-bottom: 1px solid #e8e8e8 !important;
	border-top: none !important;
	background-color: #fff !important;
	transition: background 0.15s ease;
}

.ptm-table-wrap .ptm-table tbody tr:last-child {
	border-bottom: none !important;
}

.ptm-table-wrap .ptm-table tbody tr:hover {
	background-color: #f8f8f8 !important;
}

/* 偶数行 */
.ptm-table-wrap .ptm-table tbody tr.ptm-row--even {
	background-color: #fdfdfd !important;
}

/* ============================================================
   データセル (td)
   ============================================================ */
.ptm-table-wrap .ptm-table tbody td,
.ptm-table-wrap .ptm-table td.ptm-td {
	padding: 15px 16px !important;
	text-align: center !important;
	border-right: 1px solid #e8e8e8 !important;
	border-top: none !important;
	border-bottom: none !important;
	border-left: none !important;
	font-size: 0.95rem !important;
	vertical-align: middle !important;
	color: #333 !important;
	background-color: transparent !important;
	box-shadow: none !important;
}

.ptm-table-wrap .ptm-table tbody td:last-child,
.ptm-table-wrap .ptm-table td.ptm-td:last-child {
	border-right: none !important;
}

/* 車種ラベルセル */
.ptm-table-wrap .ptm-table td.ptm-td--label {
	font-weight: 700 !important;
	color: #222 !important;
	text-align: center !important;
}

/* 強調セル（赤文字・太字） */
.ptm-table-wrap .ptm-table td.ptm-td--featured {
	color: #c0392b !important;
	font-weight: 700 !important;
	font-size: 1.05rem !important;
}

/* ============================================================
   注釈テキスト
   ============================================================ */
.ptm-table-wrap .ptm-notes {
	margin: 10px 0 0 !important;
	font-size: 0.78rem !important;
	color: #888 !important;
	line-height: 1.7 !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
	text-align: left !important;
	white-space: pre-line !important;
}

/* ============================================================
   レスポンシブ
   ============================================================ */
@media (max-width: 640px) {
	.ptm-table-wrap .ptm-table thead th,
	.ptm-table-wrap .ptm-table td.ptm-td {
		padding: 10px 10px !important;
		font-size: 0.82rem !important;
		white-space: normal !important;
	}

	.ptm-table-wrap .ptm-table td.ptm-td--featured {
		font-size: 0.9rem !important;
	}

	.ptm-table-wrap .ptm-notes {
		font-size: 0.72rem !important;
	}
}
