/**
 * WAM Table Styles
 *
 * @since 1.0.0
 * @package WooCommerce_Association_Manager
 */

/* Order table styles */
#dynamic-order-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 15px;
}

#dynamic-order-table th,
#dynamic-order-table td {
	border: 1px solid var(--wam-border);
	padding: 8px;
	text-align: left;
}

#dynamic-order-table th {
	background-color: var(--wam-bg-secondary);
	font-weight: bold;
	color: var(--wam-text-primary);
}

#dynamic-order-table td.number {
	text-align: right;
}

/* Copyable cell styles */
.copyToClipboard {
	cursor: pointer;
	transition: background-color var(--wam-transition);
}

.copyToClipboard:hover,
.copyToClipboard:active,
.copyToClipboard:focus {
	background-color: var(--wam-secondary-bg);
}

/* Search box styles */
#order-search-box {
	padding: 8px 12px;
	border: 1px solid var(--wam-border);
	border-radius: var(--wam-radius-sm);
	width: 250px;
	margin-bottom: 10px;
	color: var(--wam-text-primary);
}

#order-search-box:focus {
	outline: none;
	border-color: var(--wam-focus-color);
	box-shadow: var(--wam-focus-shadow);
}

/* Editable note styles */
.editable {
	min-width: 50px;
	min-height: 20px;
	padding: 4px;
	cursor: pointer;
	border-radius: 2px;
	transition: background-color var(--wam-transition);
}

.editable:hover {
	background-color: var(--wam-bg-secondary);
}

.editable[contenteditable="true"] {
	background-color: var(--wam-bg-card);
	border: 1px solid var(--wam-focus-color);
	outline: none;
}

/* Year comparison table styles */
.wam-year-comparison-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 20px;
}

.wam-year-comparison-table th,
.wam-year-comparison-table td {
	border: 1px solid var(--wam-border);
	padding: 10px;
}

.wam-year-comparison-table th {
	background-color: var(--wam-bg-secondary);
	font-weight: bold;
	color: var(--wam-text-primary);
}

.wam-year-comparison-table .total-row {
	font-weight: bold;
	background-color: var(--wam-bg-secondary);
}

.wam-year-comparison-table .difference-positive {
	color: var(--wam-success);
}

.wam-year-comparison-table .difference-negative {
	color: var(--wam-error);
}

/* Responsive table wrapper */
.wam-table-wrapper {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* Fan file thumbnail */
.wam-fan-thumbnail {
	max-width: 200px;
	height: auto;
	display: block;
	margin-bottom: 10px;
}

/* Fan file row — label, link, and delete on one line */
.fan-file-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

/* Fan file delete button (product page) */
.delete-fan-file-product {
	background: #b32d2e !important;
	color: #fff !important;
	border-color: #b32d2e !important;
	padding: 4px 12px !important;
	font-size: 13px;
	border-radius: 3px;
	cursor: pointer;
	line-height: 1.6;
}

.delete-fan-file-product:hover,
.delete-fan-file-product:focus {
	background: #8b1a1b !important;
	border-color: #8b1a1b !important;
	color: #fff !important;
}

/* Fan file input — hidden native input, styled label as button */
.wam-fan-file-input {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.wam-file-select-btn {
	display: inline-block;
	cursor: pointer;
}

/* Fan file input row */
.fan-file-input-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 10px;
}

/* Upload status text */
.wam-upload-selected {
	color: #2e7d32;
}

.wam-upload-error {
	color: #b32d2e;
}

/* Fan upload wrapper — spacing below template download section */
.fan-file-upload-wrapper {
	margin-bottom: 24px;
}

/* Spacing below the PDF upload section to separate from 請求書宛名 */
#fan-pdf-upload {
	margin-bottom: 30px;
}

.template-download-links {
	margin-top: 15px;
}

/* ===== Stall price table ===== */
.wam-stall-price-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.wam-stall-price-table th,
.wam-stall-price-table td {
	border: 1px solid var(--wam-border, #ddd);
	padding: 10px 12px;
	text-align: left;
	vertical-align: top;
}

.wam-stall-price-table th {
	background: var(--wam-bg-secondary, #f7f7f7);
	font-weight: 600;
	white-space: nowrap;
}

/* Mobile: card layout */
@media (max-width: 768px) {
	.wam-table-wrapper table:not(.wam-stall-price-table) {
		min-width: 600px;
	}

	/* Prevent horizontal overflow on price table wrapper */
	.wam-stall-price-table-wrap {
		overflow: hidden;
		width: 100%;
		max-width: 100%;
	}

	/* Override parent summary container if it causes overflow */
	.wam-stall-custom-fields,
	.summary.entry-summary {
		overflow: hidden;
		max-width: 100vw;
	}

	/* Price table → stacked cards */
	.wam-stall-price-table,
	.wam-stall-price-table tbody,
	.wam-stall-price-table tr,
	.wam-stall-price-table th,
	.wam-stall-price-table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}

	/* Hide the header row */
	.wam-stall-price-table thead {
		display: none;
	}

	.wam-stall-price-table {
		max-width: 100%;
	}

	/* Each data row = a card */
	.wam-stall-price-table tr {
		border: 1px solid var(--wam-border, #ddd);
		border-radius: 6px;
		margin-bottom: 12px;
		padding: 0;
		overflow: hidden;
	}

	.wam-stall-price-table td {
		border: none;
		border-bottom: 1px solid #eee;
		padding: 10px 14px;
		display: block;
	}

	.wam-stall-price-table td:last-child {
		border-bottom: none;
	}

	/* Label above content */
	.wam-stall-price-table td::before {
		content: attr(data-label);
		display: block;
		font-weight: 600;
		font-size: 11px;
		color: #666;
		margin-bottom: 2px;
	}

	.wam-fan-thumbnail {
		max-width: 100%;
	}

	.fan-file-input-row {
		gap: 6px;
	}
}
