/**
 * Front-end styles for OD Gold Auto Pro.
 *
 * Themes:
 *  - .odgap-theme-light  forces the light palette.
 *  - .odgap-theme-dark   forces the dark palette.
 *  - .odgap-theme-auto   follows the visitor's OS-level color scheme
 *                        preference via `prefers-color-scheme`.
 */

.odgap-wrapper {
	--odgap-bg: #ffffff;
	--odgap-fg: #1d2327;
	--odgap-muted: #646970;
	--odgap-border: #e2e2e2;
	--odgap-head-bg: #f6f7f7;
	--odgap-up-color: #1a7f37;
	--odgap-down-color: #d1242f;

	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: var( --odgap-fg );
	background: var( --odgap-bg );
	margin: 1em 0;
	border-radius: 8px;
	overflow: hidden;
}

.odgap-theme-dark {
	--odgap-bg: #1b1d21;
	--odgap-fg: #f0f0f1;
	--odgap-muted: #9a9ea5;
	--odgap-border: #333338;
	--odgap-head-bg: #24262b;
}

@media ( prefers-color-scheme: dark ) {
	.odgap-theme-auto {
		--odgap-bg: #1b1d21;
		--odgap-fg: #f0f0f1;
		--odgap-muted: #9a9ea5;
		--odgap-border: #333338;
		--odgap-head-bg: #24262b;
	}
}

.odgap-title {
	margin: 0;
	padding: 14px 16px 0;
	font-size: 16px;
	font-weight: 700;
}

.odgap-empty {
	margin: 0;
	padding: 16px;
	color: var( --odgap-muted );
	font-style: italic;
}

.odgap-table-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.odgap-price-table {
	width: 100%;
	min-width: 420px;
	border-collapse: collapse;
	font-size: 14px;
}

.odgap-price-table th,
.odgap-price-table td {
	padding: 10px 14px;
	text-align: left;
	border-bottom: 1px solid var( --odgap-border );
	white-space: nowrap;
}

.odgap-price-table thead th {
	background: var( --odgap-head-bg );
	font-weight: 600;
	text-transform: uppercase;
	font-size: 11px;
	letter-spacing: 0.04em;
	color: var( --odgap-muted );
}

.odgap-price-table tbody tr:last-child td {
	border-bottom: none;
}

.odgap-price-table tbody tr:hover {
	background: rgba( 127, 127, 127, 0.06 );
}

.odgap-item-label {
	font-weight: 600;
}

.odgap-unit {
	color: var( --odgap-muted );
	font-size: 12px;
	margin-left: 4px;
}

.odgap-price {
	font-variant-numeric: tabular-nums;
}

.odgap-change {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.odgap-change--up {
	color: var( --odgap-up-color );
}

.odgap-change--down {
	color: var( --odgap-down-color );
}

.odgap-change--flat {
	color: var( --odgap-muted );
}

.odgap-change-arrow {
	display: inline-block;
	font-size: 10px;
}

.odgap-updated-time {
	margin: 0;
	padding: 8px 16px 14px;
	font-size: 12px;
	color: var( --odgap-muted );
	text-align: right;
}

.odgap-wrapper.is-refreshing {
	opacity: 0.6;
	transition: opacity 0.2s ease;
}

@media ( max-width: 480px ) {
	.odgap-price-table {
		font-size: 12.5px;
		min-width: 360px;
	}

	.odgap-price-table th,
	.odgap-price-table td {
		padding: 8px 10px;
	}

	.odgap-title {
		padding: 12px 12px 0;
		font-size: 15px;
	}

	.odgap-updated-time {
		padding: 6px 12px 12px;
	}
}
