.hss-reg-form,
.hss-reg-addons,
.hss-reg-checkout-section {
	margin: 1.5em 0;
	padding: 1em 1.25em;
	border: 1px solid #e2e2e2;
	border-radius: 6px;
	background: #fafafa;
}

.hss-reg-checkout-section .hss-reg-form {
	background: #fff;
	border-color: #d8d8d8;
	margin: 1em 0;
}

.hss-reg-checkout-section .hss-reg-form h4 {
	margin: 0 0 0.5em;
	font-size: 1.05em;
}

.hss-reg-checkout-section .hss-reg-form h4 small {
	color: #666;
	font-weight: normal;
}

.hss-reg-form h3,
.hss-reg-addons h3 {
	margin-top: 0;
}

.hss-reg-row {
	margin: 1em 0;
	padding: 1em;
	border: 1px solid #e9e9e9;
	border-radius: 4px;
	background: #fff;
}

.hss-reg-row legend {
	font-weight: 600;
	padding: 0 0.5em;
}

.hss-reg-row p {
	margin: 0.5em 0;
}

.hss-reg-row input[type="text"],
.hss-reg-row input[type="email"] {
	width: 100%;
	max-width: 420px;
}

.hss-reg-row .required {
	color: #b00;
}

.hss-reg-buyer-proxy {
	background: #fffbe6;
	padding: 0.5em 0.75em;
	border-radius: 4px;
}

.hss-reg-addon input[type="number"] {
	width: 80px;
}

.hss-tour-a-status {
	margin-left: 0.5em;
	font-size: 0.9em;
}

.hss-tour-a-status.hss-status-info {
	color: #555;
}

.hss-tour-a-status.hss-status-low {
	color: #b14a00;
}

.hss-tour-a-status.hss-status-waitlist {
	color: #a00;
	font-weight: 600;
}

.hss-reg-company {
	background: #fff;
	padding: 0.5em 1em;
	border-left: 3px solid #1a3a5c;
	margin-bottom: 1em;
}

.hss-company-type-other-wrap input {
	background: #fffbe6;
}

.hss-reg-list {
	line-height: 1.6;
}

/* ── Cart-line meta breakdown (cart page + checkout review order) ─────────
 * WC outputs Included/Additional/Total/Dinner/Tour rows as a
 * <dl class="variation"> inside the product-name cell. Theme defaults often
 * float <dt> left and push <dd> to a wrapped next line, leaving values
 * visually orphaned. Force a two-column grid (label | value) so the layout
 * stays clean even with long labels. Scoped to body.hss-has-reg-cart so it
 * applies on cart AND checkout, and uses !important on layout-critical
 * properties since most WC themes ship higher-specificity defaults. */
body.hss-has-reg-cart table.shop_table dl.variation {
	display: grid !important;
	/* label: flexible (1fr) — wraps if long. value: auto, sized to content,
	 * stays compact on one line so prices like "$100.00" don't break across lines. */
	grid-template-columns: 1fr auto !important;
	column-gap: 1em !important;
	row-gap: 0.35em !important;
	margin: 0.7em 0 0 !important;
	padding: 0.7em 0.9em !important;
	background: #f5f7fa !important;
	border-left: 3px solid #1a3a5c !important;
	border-radius: 3px !important;
	font-size: 0.92em !important;
	line-height: 1.45 !important;
}

body.hss-has-reg-cart table.shop_table dl.variation dt,
body.hss-has-reg-cart table.shop_table dl.variation dd {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	clear: none !important;
	font-style: normal !important;
	white-space: normal !important;
}

body.hss-has-reg-cart table.shop_table dl.variation dt {
	font-weight: 600 !important;
	color: #1a3a5c !important;
	min-width: 0;
}

body.hss-has-reg-cart table.shop_table dl.variation dd {
	color: #333 !important;
	text-align: right !important;
	white-space: nowrap !important;
	font-variant-numeric: tabular-nums;
}

body.hss-has-reg-cart table.shop_table dl.variation dd p {
	margin: 0 !important;
	padding: 0 !important;
	display: inline !important;
}

/* Price amounts inside dd should not break across lines either. */
body.hss-has-reg-cart table.shop_table dl.variation dd .woocommerce-Price-amount {
	white-space: nowrap !important;
}

/* ── Hide the Update Cart button on cart pages that have a registration line ──
 * With live AJAX saves, the button is redundant and confusing. Removing items
 * uses the × link (independent action). Coupon button is unaffected. */
body.hss-has-reg-cart .woocommerce-cart-form button[name="update_cart"],
body.hss-has-reg-cart .woocommerce-cart-form input[name="update_cart"] {
	display: none !important;
}

/* ── Hide the Quantity AND Price columns on the cart-page table for registration carts ──
 * Registration products are always qty=1, so the Quantity column reads as an
 * empty cell, and the Price column duplicates the Subtotal column (unit price
 * = line subtotal when qty is always 1). Hiding both leaves a clean Product +
 * Subtotal layout. The colspan on the actions row still resolves fine — it
 * just visually spans fewer columns. */
body.hss-has-reg-cart .woocommerce-cart-form table.shop_table th.product-quantity,
body.hss-has-reg-cart .woocommerce-cart-form table.shop_table td.product-quantity,
body.hss-has-reg-cart .woocommerce-cart-form table.shop_table th.product-price,
body.hss-has-reg-cart .woocommerce-cart-form table.shop_table td.product-price {
	display: none !important;
}

/* Live-save status indicator next to the form heading. */
.hss-reg-checkout-section .hss-live-status {
	font-weight: normal;
}
