/**
 * Cart and checkout – De Slimme Doos.
 *
 * Presentation layer over the WooCommerce Cart/Checkout blocks. WooCommerce
 * owns markup and behaviour; only colours, type, spacing and layout are set.
 * Loaded on the cart and checkout pages only (inc/enqueue.php).
 */

/* Page shell: no white box, a calm centred column ------------------------ */

.woocommerce-cart .site-main,
.woocommerce-checkout .site-main {
	margin: 0;
}

.woocommerce-cart .inside-article,
.woocommerce-checkout .inside-article {
	max-width: 1200px;
	margin-inline: auto;
	padding: 1.5rem 0 4rem;
	background-color: transparent;
}

.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header {
	margin-bottom: 2rem;
}

.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title {
	font-size: var(--eno-text-headline-lg);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
}

/* Below the 1200px container the column touches the viewport edge: add the gutter. */
@media (max-width: 1247px) {
	.woocommerce-cart .inside-article,
	.woocommerce-checkout .inside-article {
		padding-inline: var(--eno-gutter);
	}
}

@media (min-width: 1024px) {
	.woocommerce-cart .inside-article,
	.woocommerce-checkout .inside-article {
		padding-top: 2.5rem;
	}
}

/* Shared block components ------------------------------------------------- */

:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-button:not(.is-link) {
	min-height: 3.25rem;
	padding: 0.875rem 2rem;
	border: 1px solid var(--eno-color-orange);
	border-radius: var(--eno-radius-sm);
	background-color: var(--eno-color-orange);
	box-shadow: var(--eno-shadow-sm);
	color: var(--eno-color-white);
	font-family: var(--eno-font-body);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-decoration: none;
	transition: background-color 150ms var(--eno-ease), border-color 150ms var(--eno-ease), box-shadow 150ms var(--eno-ease);
}

:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-button:not(.is-link):hover,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-button:not(.is-link):focus-visible {
	border-color: var(--eno-color-orange-dark);
	background-color: var(--eno-color-orange-dark);
	box-shadow: var(--eno-shadow-md);
	color: var(--eno-color-white);
}

:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-text-input input,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-combobox .components-combobox-control input,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-blocks-components-select select {
	border-color: var(--eno-color-surface-dim);
	border-radius: var(--eno-radius);
	background-color: var(--eno-color-white);
}

:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-text-input input:focus,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-blocks-components-select select:focus {
	border-color: var(--eno-color-orange);
	box-shadow: 0 0 0 1px var(--eno-color-orange);
}

:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-name {
	color: var(--eno-color-text);
	font-family: var(--eno-font-heading);
	font-size: 1.0625rem;
	font-weight: 600;
	text-decoration: none;
}

:is(.woocommerce-cart, .woocommerce-checkout) a.wc-block-components-product-name:hover {
	color: var(--eno-color-orange-dark);
}

:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-metadata,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-details {
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-label);
}

/* Order summary: no (truncated) short description between title and price;
   variation details (.wc-block-components-product-details) stay visible. */
.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-metadata__description {
	display: none;
}

:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sale-badge,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-badge {
	border-color: var(--eno-color-orange);
	border-radius: var(--eno-radius-sm);
	background-color: var(--eno-color-orange-tint);
	color: var(--eno-color-orange-dark);
}

/* Filled cart: items left, totals right ----------------------------------- */

/* GeneratePress widens .alignwide with negative margins (+60/80px); here the
   blocks must stay inside the column or they overflow on mobile. */
.entry-content :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout).alignwide {
	width: auto;
	max-width: none;
	margin-inline: 0;
}

.wc-block-cart .wc-block-cart__main {
	align-self: flex-start;
	padding: 0.5rem 1.25rem;
	border: 1px solid var(--eno-color-surface-high);
	border-radius: var(--eno-radius-lg);
	background-color: var(--eno-color-white);
}

.wc-block-cart .wc-block-cart-items {
	margin: 0;
	border: 0;
}

.wc-block-cart .wc-block-cart-items th,
.wc-block-cart .wc-block-cart-items td {
	border-color: var(--eno-color-surface-high);
}

.wc-block-cart .wc-block-cart-items__header {
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-small);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.wc-block-cart .wc-block-cart-items__row:last-child td {
	border-bottom: 0;
}

.wc-block-cart .wc-block-cart-item__image img {
	border-radius: var(--eno-radius);
	background-color: var(--eno-color-surface-low);
}

/* Narrow cart: WooCommerce's grid (80px 132px auto auto) lets a large line
   total push the row off-screen. Two columns, total below the product. */
:is(.wc-block-cart.is-mobile, .wc-block-cart.is-small) table.wc-block-cart-items .wc-block-cart-items__row {
	grid-template-columns: 80px minmax(0, 1fr);
}

:is(.wc-block-cart.is-mobile, .wc-block-cart.is-small) table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product {
	grid-column: 2;
	min-width: 0;
}

:is(.wc-block-cart.is-mobile, .wc-block-cart.is-small) table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
	grid-column: 2;
	grid-row: 2;
	padding-top: 0.5rem;
	text-align: left;
}

:is(.wc-block-cart.is-mobile, .wc-block-cart.is-small) .wc-block-cart-item__total .wc-block-cart-item__total-price-and-sale-badge-wrapper {
	align-items: flex-start;
}

.wc-block-cart .wc-block-cart-item__prices,
.wc-block-cart .wc-block-cart-item__total {
	font-weight: 600;
}

.wc-block-cart .wc-block-components-quantity-selector {
	border-radius: var(--eno-radius);
}

.wc-block-cart .wc-block-components-quantity-selector::after {
	border-color: var(--eno-color-surface-dim);
	border-radius: var(--eno-radius);
}

.wc-block-cart .wc-block-components-quantity-selector__button {
	color: var(--eno-color-text);
	opacity: 1;
}

.wc-block-cart .wc-block-components-quantity-selector__button:hover:not(:disabled) {
	color: var(--eno-color-orange-dark);
}

.wc-block-cart .wc-block-components-quantity-selector__button:disabled {
	opacity: 0.35;
}

.wc-block-cart .wc-block-cart-item__remove-link {
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-label);
}

.wc-block-cart .wc-block-cart-item__remove-link:hover {
	color: var(--eno-color-orange-dark);
}

/* Totals panel */

.wc-block-cart .wc-block-cart__sidebar {
	align-self: flex-start;
	padding: 1.5rem;
	border-radius: var(--eno-radius-lg);
	background-color: var(--eno-color-surface-low);
}

.wc-block-cart .wc-block-cart__totals-title {
	padding: 0 0 0.75rem;
	color: var(--eno-color-text);
	font-family: var(--eno-font-heading);
	font-size: 1.25rem;
	font-weight: 700;
	text-align: left;
	text-transform: none;
	letter-spacing: 0;
}

.wc-block-cart .wc-block-components-totals-wrapper {
	padding-inline: 0;
	border-color: var(--eno-color-surface-high);
}

.wc-block-cart .wc-block-components-panel__button {
	color: var(--eno-color-text);
	font-weight: 500;
}

.wc-block-cart .wc-block-components-totals-footer-item {
	font-family: var(--eno-font-heading);
}

.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 1.25rem;
	font-weight: 700;
}

.wc-block-cart .wc-block-cart__submit {
	margin-bottom: 0;
}

.wc-block-cart .wc-block-cart__submit-container {
	padding-inline: 0;
}

.wc-block-cart .wc-block-cart__submit-button {
	width: 100%;
}

@media (min-width: 700px) {
	.wc-block-cart .wc-block-cart__main {
		padding: 0.5rem 1.75rem;
	}

	.wc-block-cart .wc-block-cart__sidebar {
		padding: 1.75rem;
	}
}

@media (min-width: 1024px) {
	.wc-block-cart .wc-block-cart__sidebar {
		position: sticky;
		top: 2rem;
	}
}

/* Mobile: the sticky "proceed" bar WooCommerce adds stays on brand */
.wc-block-cart .wc-block-cart__submit-container--sticky {
	padding: 1rem var(--eno-gutter);
	background-color: var(--eno-color-white);
	box-shadow: 0 -1px 0 var(--eno-color-surface-high);
}

/* Empty cart -------------------------------------------------------------- */

.wp-block-woocommerce-empty-cart-block {
	padding: 3rem 1.25rem;
	border: 1px solid var(--eno-color-surface-high);
	border-radius: var(--eno-radius-lg);
	background-color: var(--eno-color-white);
	text-align: center;
}

.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	margin: 0 auto 0.75rem;
	font-size: var(--eno-text-headline-md);
	font-weight: 700;
	line-height: 1.25;
}

/* Swap WooCommerce's sad face for the site's cart icon in a soft orange disc. */
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	width: 5.5rem;
	height: 5.5rem;
	margin: 0 auto 1.5rem;
	border-radius: 50%;
	background-color: var(--eno-color-orange-tint);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-480 -1440 1920 1920'%3E%3Cpath fill='%239c4400' d='M223.5-103.5Q200-127 200-160t23.5-56.5Q247-240 280-240t56.5 23.5Q360-193 360-160t-23.5 56.5Q313-80 280-80t-56.5-23.5Zm400 0Q600-127 600-160t23.5-56.5Q647-240 680-240t56.5 23.5Q760-193 760-160t-23.5 56.5Q713-80 680-80t-56.5-23.5ZM246-720l96 200h280l110-200H246Zm-38-80h590q23 0 35 20.5t1 41.5L692-482q-11 20-29.5 31T622-440H324l-44 80h480v80H280q-45 0-68-39.5t-2-78.5l54-98-144-304H40v-80h130l38 80Zm134 280h280-280Z'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100%;
	-webkit-mask-image: none;
	mask-image: none;
}

.eno-empty-cart__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin-top: 2rem;
}

@media (max-width: 479px) {
	.eno-empty-cart__actions .eno-button {
		width: 100%;
	}
}

/* "New in the shop" upsell: a clean divider instead of the dotted one. */
.wp-block-woocommerce-empty-cart-block .wp-block-separator {
	width: 4rem;
	height: 2px;
	margin: 3rem auto 2.5rem;
	border: 0;
	background-color: var(--eno-color-surface-high);
}

.wp-block-woocommerce-empty-cart-block .wp-block-separator::before {
	content: none;
}

.wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title) {
	margin-bottom: 1.5rem;
	font-size: 1.25rem;
	font-weight: 700;
}

/* No products to show yet: hide the divider and the empty upsell heading. */
.wp-block-woocommerce-empty-cart-block:not(:has(.wc-block-grid__product, .wc-block-product, li)) :is(.wp-block-separator, h2:not(.wc-block-cart__empty-cart__title)) {
	display: none;
}

@media (min-width: 768px) {
	.wp-block-woocommerce-empty-cart-block {
		padding: 4.5rem 2rem;
	}
}

/* Order steps (eno_render_checkout_steps()) -------------------------------- */

.eno-checkout-steps {
	margin-bottom: 1.25rem;
}

.eno-checkout-steps__list {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.eno-checkout-steps__item {
	display: flex;
	flex: 0 1 auto;
	align-items: center;
	gap: 0.5rem;
	min-width: 0;
	margin: 0;
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-label);
	font-weight: 500;
}

/* A short line between the steps */
.eno-checkout-steps__item + .eno-checkout-steps__item::before {
	content: "";
	flex: 0 0 auto;
	width: 1.25rem;
	height: 1px;
	background-color: var(--eno-color-surface-dim);
}

.eno-checkout-steps__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: inherit;
	text-decoration: none;
}

.eno-checkout-steps__link:hover .eno-checkout-steps__label {
	color: var(--eno-color-orange-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.eno-checkout-steps__number {
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	width: 1.75rem;
	height: 1.75rem;
	border: 1px solid var(--eno-color-surface-dim);
	border-radius: 50%;
	background-color: var(--eno-color-white);
	font-family: var(--eno-font-heading);
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1;
}

.eno-checkout-steps__item[data-state="done"] .eno-checkout-steps__number {
	border-color: var(--eno-color-green-soft);
	background-color: var(--eno-color-green-soft);
	color: var(--eno-color-green-ink);
}

.eno-checkout-steps__item[data-state="current"] {
	color: var(--eno-color-text);
	font-weight: 600;
}

.eno-checkout-steps__item[data-state="current"] .eno-checkout-steps__number {
	border-color: var(--eno-color-orange);
	background-color: var(--eno-color-orange);
	color: var(--eno-color-white);
}

/* Narrow: only the current step keeps its label, the others show their number. */
@media (max-width: 559px) {
	.eno-checkout-steps__item:not([data-state="current"]) .eno-checkout-steps__label {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}
}

@media (min-width: 768px) {
	.eno-checkout-steps {
		margin-bottom: 1.5rem;
	}

	.eno-checkout-steps__list {
		gap: 0.75rem;
	}

	.eno-checkout-steps__item + .eno-checkout-steps__item::before {
		width: 2.5rem;
	}
}

/* Checkout ----------------------------------------------------------------- */

.wp-block-woocommerce-checkout {
	--wc-separator-color: var(--eno-color-surface-high);
	color: var(--eno-color-text);
}

@container (min-width: 920px) {
	.wc-block-checkout.wc-block-components-sidebar-layout {
		column-gap: 2.5rem;
	}

	.wc-block-checkout .wc-block-checkout__sidebar {
		flex-basis: 380px;
		width: 380px;
		top: 2rem;
	}
}

/* Each step is a white card with a numbered heading. Fieldsets only: the
   order note is a step too, but sits below the cards. */
.wc-block-checkout__form {
	counter-reset: eno-step;
}

.wc-block-components-form.wc-block-checkout__form > fieldset.wc-block-components-checkout-step {
	counter-increment: eno-step;
	margin: 0 0 1rem;
	padding: 1.25rem;
	border: 1px solid var(--eno-color-surface-high);
	border-radius: var(--eno-radius-lg);
	background-color: var(--eno-color-white);
}

.wc-block-checkout__form > fieldset .wc-block-components-checkout-step__heading-container {
	margin-bottom: 1rem;
}

.wc-block-checkout__form > fieldset .wc-block-components-checkout-step__heading {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	margin: 0;
}

.wc-block-checkout__form > fieldset .wc-block-components-checkout-step__heading::before {
	content: counter(eno-step);
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background-color: var(--eno-color-orange-tint);
	color: var(--eno-color-orange-dark);
	font-family: var(--eno-font-heading);
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1;
}

.wc-block-checkout .wc-block-components-checkout-step__title {
	margin: 0;
	color: var(--eno-color-text);
	font-family: var(--eno-font-heading);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.3;
}

/* "Al een account? Inloggen" next to the first heading */
.wc-block-checkout .wc-block-components-checkout-step__heading-content {
	margin-left: auto;
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-label);
}

.wc-block-checkout .wc-block-components-checkout-step__heading-content a {
	color: var(--eno-color-orange-dark);
	font-weight: 600;
}

.wc-block-checkout .wc-block-components-checkout-step__description {
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-label);
}

.wc-block-checkout .wc-block-checkout__guest-checkout-notice {
	margin: 0.75rem 0 0;
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-label);
}

@media (min-width: 768px) {
	.wc-block-components-form.wc-block-checkout__form > fieldset.wc-block-components-checkout-step {
		margin-bottom: 1.25rem;
		padding: 1.75rem 2rem 2rem;
	}
}

/* Fields: the same look as the site's other forms (WPForms in project.css) */

.wc-block-checkout .wc-block-components-text-input input:is([type="text"], [type="email"], [type="tel"], [type="number"], [type="url"], [type="password"], [type="date"]),
.wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-checkout .wc-block-components-textarea {
	border: 1px solid var(--eno-color-surface-dim);
	border-radius: var(--eno-radius);
	background-color: var(--eno-color-white);
	color: var(--eno-color-text);
	font-family: var(--eno-font-body);
	transition: border-color 150ms var(--eno-ease), box-shadow 150ms var(--eno-ease);
}

.wc-block-checkout .wc-block-components-text-input input:hover,
.wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__select:hover,
.wc-block-checkout .wc-block-components-textarea:hover {
	border-color: var(--eno-color-outline);
}

.wc-block-checkout .wc-block-components-text-input input:is([type="text"], [type="email"], [type="tel"], [type="number"], [type="url"], [type="password"], [type="date"]):focus,
.wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus,
.wc-block-checkout .wc-block-components-textarea:focus {
	border: 1px solid var(--eno-color-orange);
	outline: 0;
	box-shadow: 0 0 0 3px var(--eno-color-orange-tint);
}

.wc-block-checkout .wc-block-components-text-input label,
.wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__label {
	color: var(--eno-color-text-muted);
}

.wc-block-checkout .wc-block-components-text-input.has-error input,
.wc-block-checkout .wc-block-components-text-input.has-error input:focus {
	border-color: #b3261e;
	box-shadow: 0 0 0 3px rgb(179 38 30 / 12%);
}

.wc-block-checkout .wc-block-components-validation-error {
	color: #b3261e;
}

.wc-block-checkout .wc-block-components-address-form__address_2-toggle,
.wc-block-checkout .wc-block-components-address-card__edit {
	color: var(--eno-color-orange-dark);
	font-size: var(--eno-text-label);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wc-block-checkout .wc-block-components-address-card {
	border-color: var(--eno-color-surface-dim);
	border-radius: var(--eno-radius);
}

/* Checkboxes and radios: orange when chosen */

.wc-block-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	border-color: var(--eno-color-outline);
	border-radius: var(--eno-radius-sm);
}

.wc-block-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	border-color: var(--eno-color-orange);
	background-color: var(--eno-color-orange);
}

.wc-block-checkout .wc-block-components-checkbox .wc-block-components-checkbox__mark {
	fill: var(--eno-color-white);
}

.wc-block-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input:focus-visible,
.wc-block-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:focus-visible {
	outline: 2px solid var(--eno-color-orange);
	outline-offset: 2px;
}

.wc-block-checkout .wc-block-components-checkbox__label {
	font-size: var(--eno-text-label);
}

.wc-block-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input {
	border-color: var(--eno-color-outline);
}

.wc-block-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:checked {
	border-color: var(--eno-color-orange);
}

.wc-block-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before {
	background-color: var(--eno-color-orange);
}

.wc-block-checkout .wc-block-components-radio-control--highlight-checked::after {
	border-color: var(--eno-color-surface-dim);
	border-radius: var(--eno-radius);
}

.wc-block-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-checkout .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
	border-radius: var(--eno-radius);
	background-color: color-mix(in srgb, var(--eno-color-orange) 5%, var(--eno-color-white));
	box-shadow: inset 0 0 0 1.5px var(--eno-color-orange);
}

.wc-block-checkout .wc-block-components-radio-control__label,
.wc-block-checkout .wc-block-components-radio-control__secondary-label {
	color: var(--eno-color-text);
	font-weight: 600;
}

.wc-block-checkout .wc-block-components-radio-control__description,
.wc-block-checkout .wc-block-components-radio-control__secondary-description,
.wc-block-checkout .wc-block-components-radio-control-accordion-content {
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-label);
}

/* Delivery: "Verzenden" / "Afhalen" as two calm option tiles */

.wc-block-checkout .wc-block-checkout__shipping-method-container {
	gap: 0.75rem;
	padding: 0;
	background: none;
}

.wc-block-checkout .wc-block-checkout__shipping-method-option {
	justify-content: flex-start;
	min-height: 3.5rem;
	padding: 0.75rem 1rem;
	border: 1px solid var(--eno-color-surface-dim);
	border-radius: var(--eno-radius);
	background-color: var(--eno-color-white);
	color: var(--eno-color-text);
	text-align: left;
	transition: border-color 150ms var(--eno-ease), background-color 150ms var(--eno-ease), box-shadow 150ms var(--eno-ease);
}

.wc-block-checkout .wc-block-checkout__shipping-method-option:hover,
.wc-block-checkout .wc-block-checkout__shipping-method-option:focus-within {
	border-color: var(--eno-color-outline);
	background-color: var(--eno-color-surface-low);
}

.wc-block-checkout .wc-block-checkout__shipping-method-option.wc-block-checkout__shipping-method-option--selected {
	border: 1px solid var(--eno-color-orange);
	background-color: color-mix(in srgb, var(--eno-color-orange) 5%, var(--eno-color-white));
	box-shadow: inset 0 0 0 0.5px var(--eno-color-orange);
}

.wc-block-checkout .wc-block-checkout__shipping-method-option:focus-visible {
	outline: 2px solid var(--eno-color-orange);
	outline-offset: 2px;
}

.wc-block-checkout .wc-block-checkout__shipping-method-option-title-wrapper {
	align-items: center;
	gap: 0.625rem;
}

.wc-block-checkout .wc-block-checkout__shipping-method-option-title {
	font-size: var(--eno-text-label);
	font-weight: 600;
	line-height: 1.4;
}

.wc-block-checkout .wc-block-checkout__shipping-method-option-title-wrapper svg {
	flex: 0 0 auto;
	fill: var(--eno-color-text-muted);
}

.wc-block-checkout .wc-block-checkout__shipping-method-option--selected .wc-block-checkout__shipping-method-option-title-wrapper svg {
	fill: var(--eno-color-orange-dark);
}

.wc-block-checkout .wc-block-checkout__shipping-method-option-price {
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-label);
	text-align: left;
}

/* Note, terms and the order button below the cards */

.wc-block-checkout .wc-block-checkout__order-notes {
	margin: 0.5rem 0 1.25rem;
	padding-inline: 0.25rem;
}

.wc-block-checkout .wc-block-checkout__terms {
	margin-bottom: 1.25rem;
	padding-inline: 0.25rem;
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-label);
}

.wc-block-checkout .wc-block-checkout__terms.wc-block-checkout__terms--with-separator {
	padding-top: 1.25rem;
}

.wc-block-checkout .wc-block-checkout__terms a {
	color: var(--eno-color-orange-dark);
	text-underline-offset: 3px;
}

.wc-block-checkout .wc-block-components-checkout-place-order-button {
	min-height: 3.5rem;
	font-size: 1.0625rem;
}

/* A padlock before "Plaats bestelling" */
.wc-block-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.wc-block-checkout .wc-block-components-checkout-place-order-button:not(.wc-block-components-button--loading) .wc-block-components-button__text::before {
	content: "";
	width: 1.125rem;
	height: 1.125rem;
	background-color: currentColor;
	-webkit-mask: var(--eno-icon-lock) center / contain no-repeat;
	mask: var(--eno-icon-lock) center / contain no-repeat;
}

.wc-block-checkout {
	--eno-icon-lock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M240-80q-33 0-56.5-23.5T160-160v-400q0-33 23.5-56.5T240-640h40v-80q0-83 58.5-141.5T480-920q83 0 141.5 58.5T680-720v80h40q33 0 56.5 23.5T800-560v400q0 33-23.5 56.5T720-80H240Zm0-80h480v-400H240v400Zm240-120q33 0 56.5-23.5T560-360q0-33-23.5-56.5T480-440q-33 0-56.5 23.5T400-360q0 33 23.5 56.5T480-280ZM360-640h240v-80q0-50-35-85t-85-35q-50 0-85 35t-35 85v80ZM240-160v-400 400Z'/%3E%3C/svg%3E");
}

.wc-block-checkout .wc-block-components-checkout-return-to-cart-button {
	color: var(--eno-color-text-muted);
	font-weight: 500;
}

.wc-block-checkout .wc-block-components-checkout-return-to-cart-button:hover {
	color: var(--eno-color-orange-dark);
}

/* Order summary: the same calm grey panel as the cart totals */

.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block {
	padding: 0 1.25rem;
	border-radius: var(--eno-radius-lg);
	background-color: var(--eno-color-surface-low);
}

.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
	margin: 0;
	padding: 1.125rem 0;
	border: 0;
}

.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
	margin: 0;
	color: var(--eno-color-text);
	font-family: var(--eno-font-heading);
	font-size: 1.25rem;
	font-weight: 700;
}

.wc-block-checkout .wc-block-components-checkout-order-summary__title-price {
	margin-right: 0.5rem;
	font-weight: 700;
}

.wc-block-checkout .wc-block-components-checkout-order-summary__content {
	padding-bottom: 1.25rem;
}

.wc-block-checkout .wc-block-components-checkout-order-summary__content .wc-block-components-totals-wrapper {
	padding-inline: 0;
}

.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__image img {
	border: 1px solid var(--eno-color-surface-high);
	border-radius: var(--eno-radius);
	background-color: var(--eno-color-white);
}

.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
	border: 2px solid var(--eno-color-surface-low);
	background-color: var(--eno-color-orange);
	box-shadow: none;
}

.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__quantity span {
	color: var(--eno-color-white);
	font-weight: 700;
}

.wc-block-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name {
	font-size: 0.9375rem;
	line-height: 1.35;
}

.wc-block-checkout .wc-block-components-order-summary-item__individual-prices {
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-label);
}

.wc-block-checkout .wc-block-components-order-summary-item__total-price {
	font-weight: 600;
}

.wc-block-checkout .wc-block-components-totals-item__label,
.wc-block-checkout .wc-block-components-totals-item__value {
	font-size: 0.9375rem;
}

.wc-block-checkout .wc-block-components-totals-item__description {
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-label);
}

.wc-block-checkout .wc-block-components-totals-footer-item {
	padding-top: 0.25rem;
	font-family: var(--eno-font-heading);
}

.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 1.375rem;
	font-weight: 700;
}

.wc-block-checkout .wc-block-components-totals-coupon__button,
.wc-block-checkout .wc-block-components-panel__button {
	color: var(--eno-color-text);
	font-weight: 500;
}

@media (min-width: 700px) {
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block {
		padding-inline: 1.75rem;
	}

	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
		padding-top: 1.5rem;
	}
}

/* Reassurance below the totals (eno_checkout_assurance(), moved by main.js) */

.eno-checkout-assurance {
	display: grid;
	gap: 1.25rem;
	margin-top: 1rem;
	padding: 1.25rem;
	border: 1px solid var(--eno-color-surface-high);
	border-radius: var(--eno-radius-lg);
	background-color: var(--eno-color-white);
	font-size: var(--eno-text-label);
}

/* Still below the form (no JS, narrow checkout): a little more air */
.entry-content > .eno-checkout-assurance {
	margin-top: 1.5rem;
}

.eno-checkout-assurance__trust {
	display: grid;
	gap: 0.625rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.eno-checkout-assurance__trust li {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	margin: 0;
	line-height: 1.45;
}

.eno-checkout-assurance__trust .eno-icon {
	flex: 0 0 auto;
	width: 1.25rem;
	height: 1.25rem;
	color: var(--eno-color-green);
}

.eno-checkout-assurance__trust + .eno-checkout-assurance__help {
	padding-top: 1.25rem;
	border-top: 1px solid var(--eno-color-surface-high);
}

.eno-checkout-assurance__title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.375rem 0.625rem;
	margin: 0 0 0.625rem;
	font-family: var(--eno-font-heading);
	font-size: 1rem;
	font-weight: 700;
}

.eno-checkout-assurance__title > .eno-icon {
	width: 1.25rem;
	height: 1.25rem;
	color: var(--eno-color-orange-dark);
}

.eno-checkout-assurance__title .eno-open-status {
	flex-basis: 100%;
	padding-left: 1.875rem;
	font-family: var(--eno-font-body);
	font-size: var(--eno-text-small);
	font-weight: 500;
}

.eno-checkout-assurance__contact {
	display: grid;
	gap: 0.375rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.eno-checkout-assurance__contact li {
	margin: 0;
}

.eno-checkout-assurance__contact a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--eno-color-text);
	text-decoration: none;
	overflow-wrap: anywhere;
}

.eno-checkout-assurance__contact a:hover {
	color: var(--eno-color-orange-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.eno-checkout-assurance__contact .eno-icon {
	flex: 0 0 auto;
	color: var(--eno-color-text-muted);
}

@media (min-width: 700px) {
	.eno-checkout-assurance {
		padding: 1.5rem 1.75rem;
	}
}

/* Order received (WooCommerce's classic thank-you markup) ------------------
   Wide: order details left, addresses + help (eno_order_received_help())
   right. Everything else spans both columns. */

.woocommerce-checkout .woocommerce-order {
	display: grid;
	gap: 1.25rem;
}

.woocommerce-checkout .woocommerce-order > * {
	margin: 0;
}

@media (min-width: 1024px) {
	.woocommerce-checkout .woocommerce-order {
		grid-template-columns: minmax(0, 1fr) 23rem;
		column-gap: 2.5rem;
		align-items: start;
	}

	.woocommerce-checkout .woocommerce-order > * {
		grid-column: 1 / -1;
	}

	.woocommerce-checkout .woocommerce-order > .woocommerce-order-details {
		grid-column: 1;
	}

	.woocommerce-checkout .woocommerce-order > .woocommerce-customer-details {
		grid-column: 2;
	}
}

/* Thank-you message */
.woocommerce-checkout .woocommerce-order .woocommerce-thankyou-order-received {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.25rem 1.5rem;
	border: 0;
	border-radius: var(--eno-radius-lg);
	background-color: var(--eno-color-green-bg);
	color: var(--eno-color-green-ink);
	font-size: var(--eno-text-body);
	line-height: 1.5;
}

.woocommerce-checkout .woocommerce-thankyou-order-received::before {
	content: "";
	flex: 0 0 auto;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background-color: var(--eno-color-green-soft);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%233d4a3d' d='M378-246 154-470l43-43 181 181 384-384 43 43-427 427Z'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 1.375rem;
}

.woocommerce-checkout .woocommerce-thankyou-order-received strong {
	overflow-wrap: anywhere;
}

/* Failed payment */
.woocommerce-checkout .woocommerce-thankyou-order-failed {
	padding: 1.25rem 1.5rem;
	border-radius: var(--eno-radius-lg);
	background-color: #fbe9e7;
	color: #b3261e;
}

.woocommerce-checkout .woocommerce-thankyou-order-failed-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

/* Order number, date, e-mail, total, payment method as a row of tiles */
.woocommerce-checkout ul.woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 1px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--eno-color-surface-high);
	border-radius: var(--eno-radius-lg);
	background-color: var(--eno-color-surface-high);
	list-style: none;
}

.woocommerce-checkout ul.woocommerce-order-overview::before,
.woocommerce-checkout ul.woocommerce-order-overview::after {
	content: none;
}

.woocommerce-checkout ul.woocommerce-order-overview li {
	flex: 1 1 9.5rem;
	float: none;
	min-width: 0;
	margin: 0;
	padding: 1rem 1.25rem;
	border: 0;
	background-color: var(--eno-color-white);
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-small);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.woocommerce-checkout ul.woocommerce-order-overview li strong {
	display: block;
	margin-top: 0.25rem;
	color: var(--eno-color-text);
	font-family: var(--eno-font-heading);
	font-size: 1.0625rem;
	line-height: 1.35;
	letter-spacing: 0;
	text-transform: none;
	overflow-wrap: anywhere;
}

/* Payment instructions of the chosen method (e.g. "Contant betalen bij aflevering.") */
.woocommerce-checkout .woocommerce-order > p:not(.woocommerce-notice) {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	padding: 1rem 1.25rem;
	border-radius: var(--eno-radius-lg);
	background-color: var(--eno-color-surface-low);
	color: var(--eno-color-text);
	font-size: var(--eno-text-label);
	line-height: 1.5;
}

.woocommerce-checkout .woocommerce-order > p:not(.woocommerce-notice)::before {
	content: "";
	flex: 0 0 auto;
	width: 1.25rem;
	height: 1.25rem;
	background-color: var(--eno-color-text-muted);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M440-280h80v-240h-80v240Zm40-320q17 0 28.5-11.5T520-640q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640q0 17 11.5 28.5T480-600Zm0 520q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M440-280h80v-240h-80v240Zm40-320q17 0 28.5-11.5T520-640q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640q0 17 11.5 28.5T480-600Zm0 520q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Cards: order details, addresses, extra fields, help */
.woocommerce-checkout .woocommerce-order-details,
.woocommerce-checkout .woocommerce-customer-details .woocommerce-columns--addresses,
.woocommerce-checkout .woocommerce-customer-details .wc-block-order-confirmation-additional-fields-wrapper,
.woocommerce-checkout .eno-order-help,
.woocommerce-checkout .woocommerce-bacs-bank-details {
	margin: 0;
	padding: 1.25rem;
	border: 1px solid var(--eno-color-surface-high);
	border-radius: var(--eno-radius-lg);
	background-color: var(--eno-color-white);
}

.woocommerce-checkout .woocommerce-customer-details {
	display: grid;
	gap: 1.25rem;
	margin: 0;
}

.woocommerce-checkout .woocommerce-customer-details > * {
	margin: 0;
}

.woocommerce-checkout :is(.woocommerce-order-details__title, .woocommerce-column__title, .wc-block-order-confirmation-additional-fields-wrapper > h2, .wc-bacs-bank-details-heading) {
	margin: 0 0 1rem;
	color: var(--eno-color-text);
	font-family: var(--eno-font-heading);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.3;
}

/* Order table */
.woocommerce-checkout .woocommerce-order-details table.shop_table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	font-size: 0.9375rem;
}

.woocommerce-checkout .woocommerce-order-details table.shop_table :is(th, td) {
	padding: 0.75rem 0;
	border: 0;
	border-top: 1px solid var(--eno-color-surface-high);
	background: none;
	font-weight: 400;
	text-align: left;
	vertical-align: top;
}

.woocommerce-checkout .woocommerce-order-details table.shop_table :is(td, th):last-child {
	padding-left: 1rem;
	text-align: right;
	white-space: nowrap;
}

.woocommerce-checkout .woocommerce-order-details table.shop_table thead th {
	padding-top: 0;
	border-top: 0;
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-small);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.woocommerce-checkout .woocommerce-order-details table.shop_table tbody td.product-name {
	white-space: normal;
}

.woocommerce-checkout .woocommerce-order-details .product-name a {
	color: var(--eno-color-text);
	font-weight: 600;
	text-decoration: none;
}

.woocommerce-checkout .woocommerce-order-details .product-name a:hover {
	color: var(--eno-color-orange-dark);
}

.woocommerce-checkout .woocommerce-order-details .product-quantity {
	color: var(--eno-color-text-muted);
	font-weight: 600;
}

.woocommerce-checkout .woocommerce-order-details .wc-item-meta {
	margin: 0.25rem 0 0;
	padding: 0;
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-label);
	list-style: none;
}

.woocommerce-checkout .woocommerce-order-details table.shop_table tfoot th {
	color: var(--eno-color-text-muted);
}

.woocommerce-checkout .woocommerce-order-details table.shop_table tfoot td small {
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-small);
}

/* The total (wrapped in .eno-order-total by eno_order_received_totals()) */
.woocommerce-checkout .woocommerce-order-details table.shop_table tfoot tr:has(.eno-order-total) :is(th, td) {
	padding-top: 1rem;
	border-top-color: var(--eno-color-surface-dim);
	color: var(--eno-color-text);
	font-family: var(--eno-font-heading);
	font-size: 1.25rem;
	font-weight: 700;
}

.woocommerce-checkout .woocommerce-order-details table.shop_table tfoot tr:has(.eno-order-total) small {
	font-family: var(--eno-font-body);
	font-weight: 400;
}

/* Actions (invoice): no label, buttons on their own row. "Bestel opnieuw"
   is pointless right after ordering. */
.woocommerce-checkout .woocommerce-order-details .order-actions-button.eno-reorder {
	display: none;
}

.woocommerce-checkout .woocommerce-order-details table.shop_table tfoot tr:has(> .order-actions--heading) :is(th, td) {
	padding-top: 1.25rem;
	vertical-align: middle;
}

.woocommerce-checkout .woocommerce-order-details table.shop_table tfoot tr:has(> .order-actions--heading):not(:has(.order-actions-button:not(.eno-reorder))) {
	display: none;
}

.woocommerce-checkout .woocommerce-order-details .order-actions--heading {
	font-size: var(--eno-text-label);
}

.woocommerce-checkout .woocommerce-order-details a.order-actions-button {
	display: inline-flex;
	align-items: center;
	margin: 0 0 0 0.5rem;
	padding: 0.625rem 1.25rem;
	border: 1px solid var(--eno-color-outline);
	border-radius: var(--eno-radius-sm);
	background-color: transparent;
	box-shadow: none;
	color: var(--eno-color-orange);
	font-family: var(--eno-font-body);
	font-size: var(--eno-text-label);
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.05em;
	text-decoration: none;
	transition: background-color 150ms var(--eno-ease);
}

.woocommerce-checkout .woocommerce-order-details a.order-actions-button:is(:hover, :focus-visible) {
	background-color: var(--eno-color-surface-low);
	color: var(--eno-color-orange);
}

/* Addresses: WooCommerce's clearfix pseudo-elements would become grid cells */
.woocommerce-checkout .woocommerce-customer-details .woocommerce-columns--addresses {
	display: grid;
	gap: 1.5rem;
}

.woocommerce-checkout .woocommerce-customer-details .woocommerce-columns--addresses::before,
.woocommerce-checkout .woocommerce-customer-details .woocommerce-columns--addresses::after {
	content: none;
}

.woocommerce-checkout .woocommerce-customer-details .woocommerce-column {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
}

.woocommerce-checkout .woocommerce-customer-details .woocommerce-column--shipping-address {
	padding-top: 1.5rem;
	border-top: 1px solid var(--eno-color-surface-high);
}

.woocommerce-checkout .woocommerce-customer-details .woocommerce-column__title {
	margin-bottom: 0.625rem;
	font-size: 1rem;
}

body.woocommerce-checkout .woocommerce-customer-details address {
	margin: 0;
	padding: 0;
	border: 0;
	color: var(--eno-color-text);
	font-size: 0.9375rem;
	font-style: normal;
	line-height: 1.6;
}

/* Billing only (no shipping address): heading + address as one card */
.woocommerce-checkout .woocommerce-customer-details > .woocommerce-column__title {
	padding: 1.25rem 1.25rem 0;
	border: 1px solid var(--eno-color-surface-high);
	border-bottom: 0;
	border-radius: var(--eno-radius-lg) var(--eno-radius-lg) 0 0;
	background-color: var(--eno-color-white);
	font-size: 1rem;
}

body.woocommerce-checkout .woocommerce-customer-details > address {
	margin-top: -1.25rem;
	padding: 0.625rem 1.25rem 1.25rem;
	border: 1px solid var(--eno-color-surface-high);
	border-top: 0;
	border-radius: 0 0 var(--eno-radius-lg) var(--eno-radius-lg);
	background-color: var(--eno-color-white);
}

/* Phone and e-mail with the site's icons instead of WooCommerce's icon font */
body.woocommerce-checkout .woocommerce-customer-details :is(.woocommerce-customer-details--phone, .woocommerce-customer-details--email) {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0.375rem 0 0;
	padding: 0;
	overflow-wrap: anywhere;
}

body.woocommerce-checkout .woocommerce-customer-details :is(.woocommerce-customer-details--phone, .woocommerce-customer-details--email)::before {
	content: "";
	position: static;
	flex: 0 0 auto;
	width: 1rem;
	height: 1rem;
	margin: 0;
	background-color: var(--eno-color-text-muted);
	font-family: inherit;
	line-height: 1;
	-webkit-mask: var(--eno-detail-icon) center / contain no-repeat;
	mask: var(--eno-detail-icon) center / contain no-repeat;
}

.woocommerce-checkout .woocommerce-customer-details .woocommerce-customer-details--phone {
	--eno-detail-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M798-120q-125 0-247-54.5T329-329Q229-429 174.5-551T120-798q0-18 12-30t30-12h162q14 0 25 9.5t13 22.5l26 140q2 16-1 27t-11 19l-97 98q20 37 47.5 71.5T387-386q31 31 65 57.5t72 48.5l94-94q9-9 23.5-13.5T670-390l138 28q14 4 23 14.5t9 23.5v162q0 18-12 30t-30 12ZM241-600l66-66-17-94h-89q5 41 14 81t26 79Zm358 358q39 17 79.5 27t81.5 13v-88l-94-19-67 67ZM241-600Zm358 358Z'/%3E%3C/svg%3E");
}

.woocommerce-checkout .woocommerce-customer-details .woocommerce-customer-details--email {
	--eno-detail-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm320-280L160-640v400h640v-400L480-440Zm0-80 320-200H160l320 200ZM160-640v-80 480-400Z'/%3E%3C/svg%3E");
}

/* Extra fields (KvK, btw): label above value, no table borders */
.woocommerce-checkout .wc-block-order-confirmation-additional-fields-wrapper .wc-block-components-additional-fields-list {
	display: grid;
	grid-template-columns: 1fr;
	margin: 0;
	padding: 0;
	border: 0;
}

.woocommerce-checkout .wc-block-order-confirmation-additional-fields-wrapper .wc-block-components-additional-fields-list :is(dt, dd) {
	margin: 0;
	padding: 0;
	border: 0;
	text-align: left;
}

.woocommerce-checkout .wc-block-order-confirmation-additional-fields-wrapper .wc-block-components-additional-fields-list dt {
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-label);
	font-weight: 500;
}

.woocommerce-checkout .wc-block-order-confirmation-additional-fields-wrapper .wc-block-components-additional-fields-list dt::after {
	content: none;
}

.woocommerce-checkout .wc-block-order-confirmation-additional-fields-wrapper .wc-block-components-additional-fields-list dd {
	color: var(--eno-color-text);
	font-size: 0.9375rem;
	font-weight: 600;
	overflow-wrap: anywhere;
}

.woocommerce-checkout .wc-block-order-confirmation-additional-fields-wrapper .wc-block-components-additional-fields-list dt:not(:first-child) {
	margin-top: 1rem;
}

.woocommerce-checkout .wc-block-order-confirmation-additional-fields-wrapper > h2 {
	font-size: 1rem;
}

/* Help card with the way back into the shop */
.woocommerce-checkout .eno-order-help {
	font-size: var(--eno-text-label);
}

.eno-order-help__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--eno-color-surface-high);
}

.eno-order-help__actions .eno-button {
	flex: 1 1 auto;
}

@media (min-width: 768px) {
	.woocommerce-checkout :is(.woocommerce-order-details, .woocommerce-bacs-bank-details) {
		padding: 1.75rem 2rem;
	}

	.woocommerce-checkout .woocommerce-customer-details :is(.woocommerce-columns--addresses, .wc-block-order-confirmation-additional-fields-wrapper),
	.woocommerce-checkout .eno-order-help {
		padding: 1.5rem 1.75rem;
	}
}

/* Tablet: the addresses side by side (one column again next to the order) */
@media (min-width: 640px) and (max-width: 1023px) {
	.woocommerce-checkout .woocommerce-customer-details .woocommerce-columns--addresses {
		grid-template-columns: 1fr 1fr;
	}

	.woocommerce-checkout .woocommerce-customer-details .woocommerce-column--shipping-address {
		padding-top: 0;
		border-top: 0;
	}
}
