.teeverse-customiser {
	margin: 1.5em 0;
	padding: 1.25em;
	border: 1px solid #e2e2e2;
	border-radius: 10px;
}
.teeverse-customiser h3 {
	margin-top: 0;
}
.teeverse-help {
	margin-bottom: 1.25em;
}
.teeverse-print-row {
	padding: 1em;
	margin: 0 0 1em;
	border: 1px solid #e6e6e6;
	border-radius: 8px;
	background: rgba(0,0,0,.015);
}
.teeverse-row-heading {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: .75em;
}
.teeverse-remove-print {
	border: 0;
	background: none;
	padding: 0;
	text-decoration: underline;
	cursor: pointer;
}
.teeverse-print-row .form-row {
	margin-bottom: .85em;
}
.teeverse-print-row select,
.teeverse-print-row input[type="text"],
.teeverse-print-row input[type="file"] {
	width: 100%;
}
.teeverse-add-print {
	margin-bottom: 1em !important;
}
.teeverse-total {
	margin: .5em 0 0;
	font-size: 1.05em;
}
.teeverse-print-row:after {
	content: "";
	display: table;
	clear: both;
}
@media (max-width: 600px) {
	.teeverse-print-row .form-row-first,
	.teeverse-print-row .form-row-last {
		width: 100%;
		float: none;
	}
}


/* v1.2 cart / checkout print summary */
.teeverse-cart-summary {
	margin-top: .65em;
	font-size: .92em;
	line-height: 1.45;
}
.teeverse-cart-print {
	margin: 0 0 .7em;
	padding: .55em .7em;
	border-left: 3px solid currentColor;
	background: rgba(0,0,0,.025);
}
.teeverse-cart-print-title {
	margin-bottom: .15em;
}
.teeverse-cart-print-main {
	margin-bottom: .2em;
}
.teeverse-cart-print-detail {
	margin-top: .12em;
}
.teeverse-detail-label {
	font-weight: 600;
}
.teeverse-cart-addon {
	margin-top: .4em;
}


/* v1.3 cart/checkout item data formatting */
.teeverse-item-data-block {
	display: inline-block;
	line-height: 1.5;
	margin: .12em 0 .3em;
}
.woocommerce-cart-form dl.variation dd,
.wc-block-components-product-details__value {
	white-space: normal;
}


/* v1.4 - separate WooCommerce cart metadata into readable rows */
.woocommerce-cart-form dl.variation {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr);
    column-gap: .35em;
    row-gap: .2em;
    margin-top: .35em !important;
}
.woocommerce-cart-form dl.variation dt,
.woocommerce-cart-form dl.variation dd {
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}
.woocommerce-cart-form dl.variation dt { font-weight: 600; }
.woocommerce-cart-form dl.variation dd p { margin: 0 !important; }
.woocommerce-cart-form dl.variation dd .teeverse-item-data-block {
    display: block !important;
    margin: 0 0 .35em !important;
    line-height: 1.5 !important;
}
.woocommerce-cart-form dl.variation dd .teeverse-item-data-block br {
    display: block !important;
    content: "" !important;
}
.wc-block-components-product-details {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr);
    column-gap: .35em;
    row-gap: .2em;
}
.wc-block-components-product-details__name,
.wc-block-components-product-details__value {
    margin: 0 !important;
    white-space: normal !important;
}
.wc-block-components-product-details__value .teeverse-item-data-block {
    display: block !important;
    line-height: 1.5 !important;
}


/* v1.5 - structural item-data rows */
.woocommerce-cart-form dl.variation,
.woocommerce-checkout-review-order-table dl.variation {
	display: block !important;
	margin-top: .35em !important;
}

.woocommerce-cart-form dl.variation dt,
.woocommerce-cart-form dl.variation dd,
.woocommerce-checkout-review-order-table dl.variation dt,
.woocommerce-checkout-review-order-table dl.variation dd {
	float: none !important;
	clear: both !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	display: inline !important;
	line-height: 1.5 !important;
}

.woocommerce-cart-form dl.variation dd::after,
.woocommerce-checkout-review-order-table dl.variation dd::after {
	content: "";
	display: block;
	height: .08em;
}

.woocommerce-cart-form dl.variation dd p,
.woocommerce-checkout-review-order-table dl.variation dd p {
	display: inline !important;
	margin: 0 !important;
}


/* v1.6 - WooCommerce Blocks / Kadence cart formatting
   Force each native product-detail item onto its own row and remove slash separators. */
.wc-block-components-product-details {
	display: block !important;
	margin-top: .45em !important;
}

.wc-block-components-product-details > li,
.wc-block-components-product-details__item {
	display: block !important;
	width: 100% !important;
	margin: 0 0 .14em !important;
	padding: 0 !important;
	line-height: 1.45 !important;
	white-space: normal !important;
}

.wc-block-components-product-details > li::after,
.wc-block-components-product-details__item::after {
	content: none !important;
	display: none !important;
}

.wc-block-components-product-details__name,
.wc-block-components-product-details__value {
	display: inline !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	white-space: normal !important;
}

.wc-block-components-product-details__name {
	font-weight: 600 !important;
}

/* Give Print 1 and Print 2 groups some breathing room. */
li[class*="product-details__print-1-location"],
li[class*="product-details__print-2-location"],
li[class*="product-details__print-3-location"],
li[class*="product-details__print-4-location"],
li[class*="product-details__print-5-location"],
li[class*="product-details__print-6-location"] {
	margin-top: .48em !important;
}

/* Make total printing add-on stand out. */
li[class*="product-details__printing-add-on"] {
	margin-top: .45em !important;
	font-weight: 600 !important;
}

/* Classic cart fallback */
.woocommerce-cart-form dl.variation {
	display: block !important;
	margin-top: .45em !important;
}

.woocommerce-cart-form dl.variation dt,
.woocommerce-cart-form dl.variation dd {
	float: none !important;
	clear: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	display: inline !important;
	line-height: 1.45 !important;
}

.woocommerce-cart-form dl.variation dd::after {
	content: "";
	display: block !important;
	height: .14em;
}

.woocommerce-cart-form dl.variation dd p {
	display: inline !important;
	margin: 0 !important;
}


/* v1.7 - purpose-built TeeVerse cart summary */
.teeverse-cart-custom-summary {
	display: block !important;
	margin-top: .5em !important;
	font-size: .92em;
	line-height: 1.45;
	white-space: normal !important;
}

.teeverse-cart-custom-print {
	display: block !important;
	margin: 0 0 .65em !important;
	padding: .45em .6em !important;
	border-left: 3px solid currentColor;
	background: rgba(0,0,0,.025);
	white-space: normal !important;
}

.teeverse-cart-custom-title {
	display: block !important;
	font-weight: 700;
	margin-bottom: .12em;
}

.teeverse-cart-custom-line {
	display: block !important;
	margin: .06em 0 !important;
	white-space: normal !important;
}

.teeverse-cart-custom-label {
	font-weight: 600;
}

.teeverse-cart-custom-total {
	display: block !important;
	margin-top: .25em !important;
	font-weight: 600;
}

/* Keep the summary under the product name in common cart implementations. */
.woocommerce-cart-form .product-name .teeverse-cart-custom-summary,
.wc-block-cart-item__product .teeverse-cart-custom-summary,
.wc-block-components-product-name .teeverse-cart-custom-summary {
	display: block !important;
	width: 100% !important;
}


/* v1.8 - one Store API / WooCommerce Cart Block customisation item */
.teeverse-block-summary,
.teeverse-block-print,
.teeverse-block-total {
	display: block !important;
	white-space: normal !important;
}

.teeverse-block-print {
	margin: .35em 0 .65em !important;
	padding: .45em .6em !important;
	border-left: 3px solid currentColor;
	background: rgba(0,0,0,.025);
	line-height: 1.45 !important;
}

.teeverse-block-print span {
	display: inline !important;
}

.teeverse-block-total {
	margin-top: .35em !important;
	font-weight: 600;
}

.wc-block-components-product-details__customisation {
	display: block !important;
	width: 100% !important;
	white-space: normal !important;
}

.wc-block-components-product-details__customisation .wc-block-components-product-details__name {
	display: block !important;
	font-weight: 700 !important;
	margin-bottom: .25em !important;
}

.wc-block-components-product-details__customisation .wc-block-components-product-details__value {
	display: block !important;
	white-space: normal !important;
}


/* v1.9 - final cart block spacing/presentation polish */
.teeverse-block-summary {
	display: block !important;
	margin-top: .25em !important;
	white-space: normal !important;
}

.teeverse-block-print {
	display: block !important;
	margin: 0 0 .8em !important;
	padding: .45em .6em !important;
	border-left: 3px solid currentColor;
	background: rgba(0,0,0,.025);
	line-height: 1.5 !important;
	white-space: normal !important;
}

.teeverse-block-print + .teeverse-block-print {
	margin-top: .85em !important;
}

.teeverse-block-print strong:first-child {
	display: block !important;
	margin-bottom: .18em !important;
}

.teeverse-block-print br {
	display: block !important;
	content: "" !important;
}

.teeverse-block-total {
	display: block !important;
	margin-top: .8em !important;
	padding-top: .45em !important;
	border-top: 1px solid rgba(0,0,0,.12);
	font-weight: 700 !important;
	line-height: 1.5 !important;
}

/* Make the WooCommerce "Customisation" label behave like a heading. */
.wc-block-components-product-details__customisation .wc-block-components-product-details__name {
	display: block !important;
	width: 100% !important;
	margin: .3em 0 .35em !important;
	font-size: .82em !important;
	font-weight: 700 !important;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.wc-block-components-product-details__customisation .wc-block-components-product-details__value {
	display: block !important;
	width: 100% !important;
	white-space: normal !important;
}

/* Protect spacing around links and the next block. */
.teeverse-block-print a {
	display: inline-block !important;
	margin-right: .15em !important;
}

.teeverse-block-print a + * {
	margin-left: .15em !important;
}


/* v2.1 - WooCommerce Cart/Checkout Blocks customisation layout */
.wc-block-components-product-details.teeverse-cart-details {
	display: block !important;
	margin-top: .35em !important;
}
.wc-block-components-product-details.teeverse-cart-details > li {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	line-height: 1.42 !important;
	white-space: normal !important;
}
.wc-block-components-product-details.teeverse-cart-details > li .wc-block-components-product-details__name,
.wc-block-components-product-details.teeverse-cart-details > li .wc-block-components-product-details__value {
	display: inline !important;
	float: none !important;
}
.wc-block-components-product-details.teeverse-cart-details > li.teeverse-print-start {
	margin-top: .65em !important;
	padding-top: .45em !important;
	border-top: 1px solid rgba(0,0,0,.10);
}
.wc-block-components-product-details.teeverse-cart-details > li.teeverse-print-start:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
	border-top: 0 !important;
}
.wc-block-components-product-details.teeverse-cart-details > li.teeverse-print-start .wc-block-components-product-details__name {
	font-weight: 700 !important;
}
.wc-block-components-product-details.teeverse-cart-details > li.teeverse-print-detail {
	padding-left: .65em !important;
}
.wc-block-components-product-details.teeverse-cart-details > li.teeverse-print-total {
	margin-top: .7em !important;
	padding-top: .45em !important;
	border-top: 1px solid rgba(0,0,0,.10);
	font-weight: 700 !important;
}
.wc-block-components-product-details.teeverse-cart-details a {
	overflow-wrap: anywhere;
}


/* v2.2 - exact WooCommerce Blocks DOM fix.
   WooCommerce renders product-detail entries as SPAN children, not LI children. */
.wc-block-components-product-details.teeverse-cart-details {
	display: block !important;
	margin-top: .35em !important;
}

.wc-block-components-product-details.teeverse-cart-details > span.wc-block-components-product-details {
	display: block !important;
	width: 100% !important;
	margin: 0 0 .12em !important;
	line-height: 1.42 !important;
	white-space: normal !important;
}

.wc-block-components-product-details.teeverse-cart-details > span.wc-block-components-product-details .wc-block-components-product-details__name,
.wc-block-components-product-details.teeverse-cart-details > span.wc-block-components-product-details .wc-block-components-product-details__value {
	display: inline !important;
	float: none !important;
}

.wc-block-components-product-details.teeverse-cart-details > span.teeverse-print-start {
	margin-top: .7em !important;
	padding-top: .5em !important;
	border-top: 1px solid rgba(0,0,0,.10) !important;
}

.wc-block-components-product-details.teeverse-cart-details > span.teeverse-print-start:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
	border-top: 0 !important;
}

.wc-block-components-product-details.teeverse-cart-details > span.teeverse-print-start .wc-block-components-product-details__name {
	font-weight: 700 !important;
}

.wc-block-components-product-details.teeverse-cart-details > span.teeverse-print-detail {
	display: block !important;
	padding-left: .65em !important;
}

.wc-block-components-product-details.teeverse-cart-details > span.teeverse-print-total {
	display: block !important;
	margin-top: .7em !important;
	padding-top: .5em !important;
	border-top: 1px solid rgba(0,0,0,.10) !important;
	font-weight: 700 !important;
}

/* WooCommerce's decorative separator span should not force inline joining. */
.wc-block-components-product-details.teeverse-cart-details > span[aria-hidden="true"] {
	display: none !important;
}


/* v2.3 - exact child selectors from live TeeVerse cart DOM.
   Children are spans with modifier classes such as
   wc-block-components-product-details__print-1, not the base class. */

.wc-block-components-product-details.teeverse-cart-details {
	display: block !important;
	margin-top: .4em !important;
}

/* Every direct metadata span becomes its own row. */
.wc-block-components-product-details.teeverse-cart-details > span {
	display: block !important;
	width: 100% !important;
	margin: 0 0 .12em !important;
	padding: 0 !important;
	line-height: 1.45 !important;
	white-space: normal !important;
}

/* Keep label + value on the same row. */
.wc-block-components-product-details.teeverse-cart-details > span > .wc-block-components-product-details__name,
.wc-block-components-product-details.teeverse-cart-details > span > .wc-block-components-product-details__value {
	display: inline !important;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	white-space: normal !important;
}

/* Remove the slash/separator spans WooCommerce inserts inside each row. */
.wc-block-components-product-details.teeverse-cart-details > span > span[aria-hidden="true"] {
	display: none !important;
}

/* Start each print group clearly. */
.wc-block-components-product-details.teeverse-cart-details > span.teeverse-print-start {
	margin-top: .7em !important;
	padding-top: .5em !important;
	border-top: 1px solid rgba(0,0,0,.12) !important;
}

.wc-block-components-product-details.teeverse-cart-details > span.teeverse-print-start:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
	border-top: 0 !important;
}

.wc-block-components-product-details.teeverse-cart-details > span.teeverse-print-start > .wc-block-components-product-details__name {
	font-weight: 700 !important;
}

/* Indent fee/artwork/text beneath their print heading. */
.wc-block-components-product-details.teeverse-cart-details > span.teeverse-print-detail {
	padding-left: .7em !important;
}

/* Printing add-on gets its own total row. */
.wc-block-components-product-details.teeverse-cart-details > span.teeverse-print-total {
	margin-top: .7em !important;
	padding-top: .5em !important;
	border-top: 1px solid rgba(0,0,0,.12) !important;
	font-weight: 700 !important;
}

/* Colour / Size remain separate normal rows after the customisation. */
.wc-block-components-product-details.teeverse-cart-details > span[class*="__colour"],
.wc-block-components-product-details.teeverse-cart-details > span[class*="__size"] {
	margin-top: .18em !important;
}

/* Artwork links should wrap gracefully on narrow screens. */
.wc-block-components-product-details.teeverse-cart-details a {
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
}
