/* Optional, per-chart Carbon Ticket customer presentation. Native Tickera state colors remain authoritative. */
.tc-pan-wrapper.ctst-customer-enhanced .tc-group-content .tc-seat-row {
	line-height: 0;
	white-space: nowrap;
}

.tc-pan-wrapper.ctst-customer-enhanced .tc_seat_unit,
.tc-pan-wrapper.ctst-customer-enhanced .tc-table-chair {
	box-sizing: border-box;
	width: 32px;
	height: 32px;
	min-width: 32px;
	min-height: 32px;
	margin: 3.5px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 5px;
}

/* Price Civic's compact source geometry uses a 38px editor pitch (34px seat + 2px margins).
 * Matching that pitch on the customer chart keeps Center row D aligned with the side-section
 * row D after the three leading Center rows, while vertical-align removes Tickera's baseline gap. */
.tc-pan-wrapper.ctst-customer-enhanced .ctst-compact-price .tc_seat_unit,
.tc-pan-wrapper.ctst-customer-enhanced .ctst-compact-price .tc-table-chair {
	width: 34px;
	height: 34px;
	min-width: 34px;
	min-height: 34px;
	margin: 2px;
	vertical-align: middle;
}

/* Tickera's circle group draws an inset circular ::before decoration. Civic enhanced charts use
 * the rectangular seat itself; keep intentional per-seat CTST icons and every native seat/state. */
.tc-pan-wrapper.ctst-customer-enhanced .ctst-compact-price .tc_seat_unit:not([class*="ctst-customer-icon-"])::before,
.tc-pan-wrapper.ctst-customer-enhanced .ctst-compact-price .tc-table-chair:not([class*="ctst-customer-icon-"])::before {
	content: none;
	display: none;
}

.tc-pan-wrapper.ctst-customer-enhanced .tc_seat_unit::after,
.tc-pan-wrapper.ctst-customer-enhanced .tc-table-chair::after {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2px;
	box-sizing: border-box;
	color: #fff;
	font: 700 10px/1.05 system-ui, sans-serif;
	text-align: center;
	white-space: normal;
	overflow-wrap: anywhere;
	text-shadow: 0 1px 1px rgba(0,0,0,.65);
	pointer-events: none;
}

.tc-pan-wrapper.ctst-customer-enhanced.ctst-customer-label-short .tc_seat_unit::after,
.tc-pan-wrapper.ctst-customer-enhanced.ctst-customer-label-short .tc-table-chair::after {
	content: attr(data-ctst-customer-short);
}

.tc-pan-wrapper.ctst-customer-enhanced.ctst-customer-label-full .tc_seat_unit::after,
.tc-pan-wrapper.ctst-customer-enhanced.ctst-customer-label-full .tc-table-chair::after {
	content: attr(data-ctst-customer-full);
}

.tc-pan-wrapper.ctst-customer-enhanced.ctst-customer-label-hidden .tc_seat_unit::after,
.tc-pan-wrapper.ctst-customer-enhanced.ctst-customer-label-hidden .tc-table-chair::after {
	content: none;
}

.tc-pan-wrapper.ctst-customer-enhanced .tc_seat_unit > span,
.tc-pan-wrapper.ctst-customer-enhanced .tc-table-chair > span {
	opacity: 0;
}

.tc-pan-wrapper.ctst-customer-enhanced .ctst-customer-icon-circle { border-radius: 50%; }
.tc-pan-wrapper.ctst-customer-enhanced .ctst-customer-icon-square { border-radius: 3px; }
.tc-pan-wrapper.ctst-customer-enhanced .ctst-customer-icon-chair,
.tc-pan-wrapper.ctst-customer-enhanced .ctst-customer-icon-car { border-radius: 4px; }

/* The native classes/data attributes still control reserved, in-cart, assigned, and blocked fills. */
.tc-pan-wrapper.ctst-customer-enhanced .ctst-customer-icon-chair::before,
.tc-pan-wrapper.ctst-customer-enhanced .ctst-customer-icon-car::before {
	opacity: .24;
}

.tc-pan-wrapper .ctst-front-no-seat {
	visibility: hidden !important;
	pointer-events: none !important;
}
