.nsg-tf-fields {
	margin-bottom: 1.5em;
}

.nsg-tf-field {
	margin-bottom: 2em;
}

.nsg-tf-field label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.25em;
}

.nsg-tf-required {
	color: #d63638;
}

.nsg-tf-helptext {
	margin: 0 0 0.4em;
	font-size: 0.9em;
	opacity: 0.8;
}

.nsg-tf-field input[type="text"],
.nsg-tf-field textarea,
.nsg-tf-field select {
	width: 100%;
	max-width: 480px;
}

/* Ticket answers shown in the cart/checkout line item review: force each
   field onto its own line instead of the default inline/flowed layout. */

/* Legacy shortcode-based cart/checkout/mini-cart templates. */
.woocommerce-cart-form .cart_item dl.variation,
.woocommerce-checkout-review-order-table dl.variation,
.woocommerce-mini-cart-item dl.variation {
	display: block;
}

.woocommerce-cart-form .cart_item dl.variation dt,
.woocommerce-cart-form .cart_item dl.variation dd,
.woocommerce-checkout-review-order-table dl.variation dt,
.woocommerce-checkout-review-order-table dl.variation dd,
.woocommerce-mini-cart-item dl.variation dt,
.woocommerce-mini-cart-item dl.variation dd {
	display: block;
	float: none;
	width: auto;
	margin: 0;
}

.woocommerce-cart-form .cart_item dl.variation dd,
.woocommerce-checkout-review-order-table dl.variation dd,
.woocommerce-mini-cart-item dl.variation dd {
	margin-bottom: 0.5em;
}

/* WooCommerce Cart/Checkout/Mini-Cart *blocks* (Gutenberg) - this site's
   /cart/ page uses the Cart block, whose item metadata renders inside
   .wc-block-components-product-details rather than the legacy dl.variation
   markup above. Each field is its own inline <span> wrapper, with a
   decorative " / " <span aria-hidden="true"> separator between fields
   (skipped after the last one) - hide it since we're stacking fields
   vertically instead of running them inline. */
.wc-block-components-product-details {
	display: block;
}

.wc-block-components-product-details > * {
	display: block;
	margin: 0 0 0.35em;
}

.wc-block-components-product-details > span > [aria-hidden="true"] {
	display: none;
}
