.em-extra-thumb {
	width: 40px; height: 40px;
	object-fit: cover; border-radius: 3px;
	vertical-align: middle; margin-right: 8px;
	cursor: zoom-in;
}
.em-extra-options { margin-top: 4px; }
.em-extra-options select.em-extra-option-select { display: block; margin-top: 4px; max-width: 100%; }
.em-extra-label label { display: inline; }
.em-extra-description { display: inline; font-size: 0.9em; opacity: 0.85; }
#em-extras-modal {
	display: none; position: fixed; inset: 0; z-index: 100000;
	background: rgba(0,0,0,0.7);
	align-items: center; justify-content: center;
	cursor: zoom-out;
}
#em-extras-modal.open { display: flex; }
#em-extras-modal img {
	max-width: 80vw; max-height: 80vh;
	background: #fff; border-radius: 4px;
	box-shadow: 0 4px 30px rgba(0,0,0,0.5);
}

/* Layout refinements: image floats right of the name column, text inline */
.em-extra-thumb {
	float: right;
	margin-right: 0;
	margin-left: 8px;
}

/* Fixed-width Price & Qty columns; price never wraps */
.em-extras-table th.em-extras-th-price,
.em-extras-table td.em-extra-price {
	width: 90px;
	white-space: nowrap;
}
.em-extras-table th.em-extras-th-qty,
.em-extras-table td.em-extra-qty {
	width: 90px;
}

/* Continuity: match the ticket table's Price & Spaces columns to the same
 * widths (classic Events Manager booking form template classes) */
.em-bookings-ticket-table-price,
table.em-tickets .ticket-price {
	width: 90px !important;
	white-space: nowrap;
}
.em-bookings-ticket-table-spaces,
table.em-tickets .ticket-spaces {
	width: 90px !important;
}
