/* =========================================================
   POWER IMPORT - WINKELWAGEN
   WooCommerce Classic Cart + WooCommerce Cart block
   ========================================================= */

body.pi-cart-page {
	--pi-cart-orange: #ff9000;
	--pi-cart-orange-hover: #ffab32;
	--pi-cart-bg: #0d1112;
	--pi-cart-panel: #151a1b;
	--pi-cart-panel-raised: #1b2022;
	--pi-cart-border: #343c3f;
	--pi-cart-heading: #f7f7f4;
	--pi-cart-text: #c5cbcd;
	--pi-cart-muted: #919a9d;
	--pi-cart-success: #60d394;
	--pi-cart-danger: #ff6b62;
	--pi-cart-radius: 2px;
	background: var(--pi-cart-bg);
}

body.pi-cart-page #content > .wrapper,
body.pi-cart-page .site-content > .wrapper {
	width: min(1320px, calc(100% - 48px));
	max-width: none;
}

body.pi-cart-page #primary,
body.pi-cart-page .content-area,
body.pi-cart-page .site-main {
	float: none;
	width: 100%;
	max-width: none;
}

body.pi-cart-page #secondary,
body.pi-cart-page .widget-area.sidebar {
	display: none !important;
}

body.pi-cart-page article.page > .entry-header,
body.pi-cart-page .site-main > article > .entry-header {
	max-width: 1320px;
	margin: 0 auto;
	padding: clamp(32px, 5vw, 68px) 0 clamp(20px, 3vw, 36px);
	text-align: left;
}

body.pi-cart-page article.page > .entry-header .entry-title,
body.pi-cart-page .site-main > article > .entry-header .entry-title {
	margin: 0;
	color: var(--pi-cart-heading);
	font-family: "Oswald", "Arial Narrow", Arial, sans-serif;
	font-size: clamp(36px, 5vw, 64px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: .01em;
	text-transform: uppercase;
}

body.pi-cart-page .entry-content,
body.pi-cart-page .entry-content-wrap {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

body.pi-cart-page .woocommerce,
body.pi-cart-page .wp-block-woocommerce-cart {
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto clamp(56px, 7vw, 96px);
	color: var(--pi-cart-text);
	font-family: "Poppins", Arial, sans-serif;
	font-size: 14px;
	line-height: 1.55;
}

body.pi-cart-page .woocommerce *,
body.pi-cart-page .wp-block-woocommerce-cart * {
	box-sizing: border-box;
}

body.pi-cart-page .woocommerce a,
body.pi-cart-page .wp-block-woocommerce-cart a {
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

body.pi-cart-page .woocommerce-cart-form a:focus-visible,
body.pi-cart-page .woocommerce-cart-form button:focus-visible,
body.pi-cart-page .woocommerce-cart-form input:focus-visible,
body.pi-cart-page .woocommerce-cart-form select:focus-visible,
body.pi-cart-page .cart-collaterals a:focus-visible,
body.pi-cart-page .cart-collaterals button:focus-visible,
body.pi-cart-page .cart-collaterals input:focus-visible,
body.pi-cart-page .cart-collaterals select:focus-visible,
body.pi-cart-page .woocommerce-notices-wrapper a:focus-visible,
body.pi-cart-page .return-to-shop a:focus-visible,
body.pi-cart-page .wp-block-woocommerce-cart a:focus-visible,
body.pi-cart-page .wp-block-woocommerce-cart button:focus-visible,
body.pi-cart-page .wp-block-woocommerce-cart input:focus-visible,
body.pi-cart-page .wp-block-woocommerce-cart select:focus-visible {
	outline: 3px solid var(--pi-cart-orange) !important;
	outline-offset: 3px;
}

/* Berichten, voorraadmeldingen en validatie. */
body.pi-cart-page .woocommerce-notices-wrapper:not(:empty) {
	margin-bottom: 22px;
}

body.pi-cart-page .woocommerce-message,
body.pi-cart-page .woocommerce-info,
body.pi-cart-page .woocommerce-error,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-notice-banner {
	min-height: 54px;
	margin: 0 0 18px;
	padding: 15px 18px 15px 52px;
	border: 1px solid var(--pi-cart-border);
	border-top: 1px solid var(--pi-cart-border);
	border-radius: var(--pi-cart-radius);
	background: var(--pi-cart-panel);
	box-shadow: inset 4px 0 0 var(--pi-cart-orange);
	color: var(--pi-cart-text);
}

body.pi-cart-page .woocommerce-message::before,
body.pi-cart-page .woocommerce-info::before {
	top: 15px;
	left: 19px;
	color: var(--pi-cart-orange);
}

body.pi-cart-page .woocommerce-message {
	box-shadow: inset 4px 0 0 var(--pi-cart-success);
}

body.pi-cart-page .woocommerce-message::before {
	color: var(--pi-cart-success);
}

body.pi-cart-page .woocommerce-error {
	box-shadow: inset 4px 0 0 var(--pi-cart-danger);
}

body.pi-cart-page .woocommerce-error::before {
	top: 15px;
	left: 19px;
	color: var(--pi-cart-danger);
}

body.pi-cart-page .woocommerce-message a,
body.pi-cart-page .woocommerce-info a,
body.pi-cart-page .woocommerce-error a,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-notice-banner a {
	color: var(--pi-cart-heading);
	font-weight: 700;
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-notice-banner {
	display: flex;
	gap: 12px;
	padding-left: 18px;
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-notice-banner > svg {
	flex: 0 0 auto;
	fill: var(--pi-cart-orange);
}

/* Klassieke WooCommerce-winkelwagen. */
body.pi-cart-page .woocommerce-cart-form {
	margin: 0 0 30px;
	border: 1px solid var(--pi-cart-border);
	border-radius: var(--pi-cart-radius);
	background: var(--pi-cart-panel);
	overflow: hidden;
}

body.pi-cart-page table.shop_table,
body.pi-cart-page table.shop_table.cart {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	border-radius: 0;
	background: transparent;
	color: var(--pi-cart-text);
}

body.pi-cart-page table.shop_table th,
body.pi-cart-page table.shop_table td {
	border: 0;
	border-bottom: 1px solid var(--pi-cart-border);
	background: transparent;
	color: var(--pi-cart-text);
	vertical-align: middle;
}

body.pi-cart-page table.shop_table thead th {
	padding: 15px 16px;
	background: #111617;
	color: var(--pi-cart-muted);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body.pi-cart-page table.shop_table tbody td {
	padding: 20px 16px;
}

body.pi-cart-page table.shop_table tr:last-child > td,
body.pi-cart-page table.shop_table tfoot tr:last-child > th,
body.pi-cart-page table.shop_table tfoot tr:last-child > td {
	border-bottom: 0;
}

body.pi-cart-page .woocommerce-cart-form__cart-item,
body.pi-cart-page .pi-cart-line {
	transition: background-color .18s ease;
}

body.pi-cart-page .woocommerce-cart-form__cart-item:hover,
body.pi-cart-page .pi-cart-line:hover {
	background: rgba(255, 255, 255, .018);
}

body.pi-cart-page .product-thumbnail {
	width: 112px;
}

body.pi-cart-page .product-thumbnail a {
	display: block;
	width: 88px;
	height: 88px;
	border: 1px solid var(--pi-cart-border);
	border-radius: var(--pi-cart-radius);
	background: #f2f2f0;
	overflow: hidden;
}

body.pi-cart-page .product-thumbnail img {
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover;
	transition: transform .22s ease;
}

body.pi-cart-page .product-thumbnail a:hover img {
	transform: scale(1.035);
}

body.pi-cart-page .woocommerce-cart-form .product-name a,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-product-name {
	color: var(--pi-cart-heading) !important;
	font-size: 14px;
	font-weight: 750;
	line-height: 1.35;
	text-decoration: none;
}

body.pi-cart-page .woocommerce-cart-form .product-name a:hover,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-product-name:hover {
	color: var(--pi-cart-orange) !important;
}

body.pi-cart-page .woocommerce-cart-form .product-price,
body.pi-cart-page .woocommerce-cart-form .product-subtotal,
body.pi-cart-page .woocommerce-cart-form .woocommerce-Price-amount,
body.pi-cart-page .cart-collaterals .woocommerce-Price-amount,
body.pi-cart-page .wp-block-woocommerce-cart .woocommerce-Price-amount {
	color: var(--pi-cart-heading);
	font-weight: 700;
}

body.pi-cart-page .woocommerce-cart-form .product-subtotal {
	white-space: nowrap;
}

body.pi-cart-page .product-remove {
	width: 58px;
	text-align: center;
}

body.pi-cart-page .product-remove a.remove {
	width: 42px;
	height: 42px;
	margin: auto;
	display: inline-grid;
	place-items: center;
	border: 1px solid var(--pi-cart-border);
	border-radius: 50%;
	background: transparent;
	color: var(--pi-cart-muted) !important;
	font-family: Arial, sans-serif;
	font-size: 23px;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
	transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}

body.pi-cart-page .product-remove a.remove:hover {
	border-color: var(--pi-cart-danger);
	background: rgba(255, 107, 98, .1);
	color: var(--pi-cart-danger) !important;
}

body.pi-cart-page .woocommerce-cart-form dl.variation,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-product-details,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-product-metadata {
	margin: 7px 0 0;
	color: var(--pi-cart-muted);
	font-size: 11px;
	line-height: 1.55;
}

body.pi-cart-page .woocommerce-cart-form dl.variation dt,
body.pi-cart-page .woocommerce-cart-form dl.variation dd {
	display: inline;
	float: none;
	margin: 0 4px 0 0;
	padding: 0;
}

body.pi-cart-page .woocommerce-cart-form dl.variation dd::after {
	content: "";
	display: block;
}

body.pi-cart-page .woocommerce-cart-form dl.variation p,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-product-details li,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-product-metadata p {
	margin: 0;
}

body.pi-cart-page .backorder_notification,
body.pi-cart-page .woocommerce-info.wc_points_redeem_earn_points {
	margin: 8px 0 0;
	color: var(--pi-cart-orange);
	font-size: 11px;
	font-weight: 650;
}

body.pi-cart-page .woocommerce-cart-form .quantity .qty,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-quantity-selector {
	min-height: 44px;
	border: 1px solid var(--pi-cart-border) !important;
	border-radius: var(--pi-cart-radius) !important;
	background: #0f1314 !important;
	color: var(--pi-cart-heading) !important;
}

body.pi-cart-page .woocommerce-cart-form .quantity .qty {
	width: 72px;
	padding: 8px 10px;
	text-align: center;
}

body.pi-cart-page .woocommerce-cart-form td.actions {
	padding: 17px 18px;
	background: #111617;
	text-align: initial;
}

body.pi-cart-page .woocommerce-cart-form td.actions::after {
	content: "";
	display: table;
	clear: both;
}

body.pi-cart-page .woocommerce-cart-form .coupon {
	display: flex;
	gap: 10px;
	align-items: center;
}

body.pi-cart-page .woocommerce-cart-form .coupon .input-text,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-totals-coupon input,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-text-input input {
	min-height: 46px;
	border: 1px solid var(--pi-cart-border) !important;
	border-radius: var(--pi-cart-radius) !important;
	background: #0f1314 !important;
	box-shadow: none !important;
	color: var(--pi-cart-heading) !important;
}

body.pi-cart-page .woocommerce-cart-form .coupon .input-text {
	width: min(240px, 100%);
	padding: 10px 13px;
}

body.pi-cart-page .woocommerce-cart-form input::placeholder,
body.pi-cart-page .cart-collaterals input::placeholder,
body.pi-cart-page .wp-block-woocommerce-cart input::placeholder {
	color: #9aa3a6;
	opacity: 1;
}

body.pi-cart-page .woocommerce-cart-form button.button,
body.pi-cart-page .woocommerce-cart-form a.button,
body.pi-cart-page .cart-collaterals button.button,
body.pi-cart-page .cart-collaterals a.button,
body.pi-cart-page .return-to-shop a.button,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-button {
	min-height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 11px 18px;
	border: 1px solid var(--pi-cart-border);
	border-radius: var(--pi-cart-radius);
	background: transparent;
	box-shadow: none;
	color: var(--pi-cart-heading);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .055em;
	text-decoration: none;
	text-transform: uppercase;
	transition: border-color .18s ease, background-color .18s ease, color .18s ease, transform .18s ease;
}

body.pi-cart-page .woocommerce-cart-form button.button:hover,
body.pi-cart-page .woocommerce-cart-form a.button:hover,
body.pi-cart-page .cart-collaterals button.button:hover,
body.pi-cart-page .cart-collaterals a.button:hover,
body.pi-cart-page .return-to-shop a.button:hover,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-button:hover {
	border-color: var(--pi-cart-orange);
	background: rgba(255, 144, 0, .08);
	color: var(--pi-cart-orange);
}

body.pi-cart-page .woocommerce-cart-form button[name="apply_coupon"],
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-totals-coupon__button {
	border-color: var(--pi-cart-orange);
	background: var(--pi-cart-orange);
	color: #111 !important;
}

body.pi-cart-page .woocommerce-cart-form button[name="apply_coupon"]:hover,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-totals-coupon__button:hover {
	border-color: var(--pi-cart-orange-hover);
	background: var(--pi-cart-orange-hover);
	color: #111 !important;
}

body.pi-cart-page .woocommerce-cart-form button.button:disabled,
body.pi-cart-page .woocommerce-cart-form button.button:disabled[disabled],
body.pi-cart-page .cart-collaterals button.button:disabled,
body.pi-cart-page .cart-collaterals button.button:disabled[disabled],
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-button:disabled {
	cursor: not-allowed;
	opacity: .46;
}

/* Samenvatting, verzending en primaire vervolgstap. */
body.pi-cart-page .cart-collaterals {
	width: 100%;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 460px);
	gap: 30px;
	align-items: start;
}

body.pi-cart-page .cart-collaterals::before,
body.pi-cart-page .cart-collaterals::after {
	display: none;
}

body.pi-cart-page .cart-collaterals .cross-sells,
body.pi-cart-page .cart-collaterals .cart_totals {
	float: none;
	width: auto;
}

body.pi-cart-page .cart-collaterals .cart_totals {
	grid-column: 2;
	padding: clamp(22px, 3vw, 32px);
	border: 1px solid var(--pi-cart-border);
	border-radius: var(--pi-cart-radius);
	background: var(--pi-cart-panel-raised);
}

body.pi-cart-page .cart-collaterals .cross-sells {
	grid-column: 1;
	grid-row: 1;
}

body.pi-cart-page .cart-collaterals h2,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart__totals-title,
body.pi-cart-page .wp-block-woocommerce-empty-cart-block h2,
body.pi-cart-page .wp-block-woocommerce-empty-cart-block h3 {
	margin: 0 0 20px;
	color: var(--pi-cart-heading);
	font-family: "Oswald", "Arial Narrow", Arial, sans-serif;
	font-size: clamp(24px, 3vw, 32px);
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: .02em;
	text-transform: uppercase;
}

body.pi-cart-page .cart_totals table.shop_table {
	margin-bottom: 18px;
}

body.pi-cart-page .cart_totals table.shop_table th,
body.pi-cart-page .cart_totals table.shop_table td {
	padding: 15px 0;
	border-bottom: 1px solid var(--pi-cart-border);
	background: transparent;
}

body.pi-cart-page .cart_totals table.shop_table th {
	width: 42%;
	color: var(--pi-cart-muted);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

body.pi-cart-page .cart_totals table.shop_table td {
	color: var(--pi-cart-heading);
	text-align: right;
}

body.pi-cart-page .cart_totals .order-total th,
body.pi-cart-page .cart_totals .order-total td,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-totals-footer-item {
	color: var(--pi-cart-heading);
	font-size: 17px;
}

body.pi-cart-page .cart-collaterals .woocommerce-shipping-methods {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.pi-cart-page .cart-collaterals .woocommerce-shipping-methods li {
	margin: 0 0 8px;
}

body.pi-cart-page .cart-collaterals .woocommerce-shipping-methods label,
body.pi-cart-page .cart-collaterals .woocommerce-shipping-destination,
body.pi-cart-page .cart-collaterals .woocommerce-shipping-calculator,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-shipping-rates-control,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-shipping-address {
	color: var(--pi-cart-muted);
	font-size: 12px;
}

body.pi-cart-page .woocommerce-cart-form input[type="radio"],
body.pi-cart-page .woocommerce-cart-form input[type="checkbox"],
body.pi-cart-page .cart-collaterals input[type="radio"],
body.pi-cart-page .cart-collaterals input[type="checkbox"],
body.pi-cart-page .wp-block-woocommerce-cart input[type="radio"],
body.pi-cart-page .wp-block-woocommerce-cart input[type="checkbox"] {
	accent-color: var(--pi-cart-orange);
}

body.pi-cart-page .cart-collaterals .shipping-calculator-button,
body.pi-cart-page .cart-collaterals .woocommerce-remove-coupon {
	color: var(--pi-cart-orange) !important;
	font-weight: 700;
}

body.pi-cart-page .cart-collaterals .shipping-calculator-form input,
body.pi-cart-page .cart-collaterals .shipping-calculator-form select {
	min-height: 44px;
	border: 1px solid var(--pi-cart-border);
	border-radius: var(--pi-cart-radius);
	background: #0f1314;
	color: var(--pi-cart-heading);
}

body.pi-cart-page .cart-collaterals .wc-proceed-to-checkout {
	padding: 12px 0 0;
}

body.pi-cart-page .cart-collaterals .wc-proceed-to-checkout a.checkout-button,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart__submit-button {
	width: 100%;
	min-height: 56px;
	margin: 0;
	border: 1px solid var(--pi-cart-orange);
	border-radius: var(--pi-cart-radius);
	background: var(--pi-cart-orange);
	color: #111 !important;
	font-family: "Poppins", Arial, sans-serif;
	font-size: 12px;
	font-weight: 850;
	line-height: 1.2;
	letter-spacing: .065em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

body.pi-cart-page .cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart__submit-button:hover {
	border-color: var(--pi-cart-orange-hover);
	background: var(--pi-cart-orange-hover);
	color: #111 !important;
	transform: translateY(-1px);
}

/* WooCommerce Cart block. */
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-sidebar-layout {
	gap: 30px;
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart__main,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart__sidebar {
	border: 1px solid var(--pi-cart-border);
	border-radius: var(--pi-cart-radius);
	background: var(--pi-cart-panel);
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart__main {
	padding: 0 clamp(18px, 2.5vw, 28px);
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart__sidebar {
	align-self: start;
	padding: clamp(22px, 3vw, 30px);
	background: var(--pi-cart-panel-raised);
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart-items,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart-items th,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart-items td {
	border-color: var(--pi-cart-border) !important;
	background: transparent !important;
	color: var(--pi-cart-text);
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart-items thead th {
	padding-top: 17px;
	padding-bottom: 17px;
	color: var(--pi-cart-muted);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart-items__row td {
	padding-top: 23px !important;
	padding-bottom: 23px !important;
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart-item__image img {
	border: 1px solid var(--pi-cart-border);
	border-radius: var(--pi-cart-radius);
	background: #f2f2f0;
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart-item__remove-link {
	min-height: 40px;
	display: inline-flex;
	align-items: center;
	padding: 4px 0 !important;
	color: var(--pi-cart-muted) !important;
	font-size: 11px !important;
	font-weight: 650;
	text-decoration: underline;
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover {
	color: var(--pi-cart-danger) !important;
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	min-width: 42px;
	border: 0 !important;
	background: transparent !important;
	color: var(--pi-cart-heading) !important;
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-quantity-selector button {
	min-width: 38px;
	min-height: 42px;
	color: var(--pi-cart-heading) !important;
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-totals-wrapper,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-panel,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-totals-coupon,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-shipping-calculator {
	border-color: var(--pi-cart-border) !important;
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-totals-item,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-totals-item__label,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-totals-item__value,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-panel__button,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-totals-coupon__button {
	color: var(--pi-cart-text);
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-totals-item__description,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-totals-shipping__change-address__link,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-totals-shipping__via {
	color: var(--pi-cart-muted) !important;
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-panel__button {
	min-height: 44px;
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-totals-coupon-link,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-totals-shipping__change-address__link {
	color: var(--pi-cart-orange) !important;
	font-weight: 700;
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-totals-coupon__form {
	gap: 10px;
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-totals-coupon__button {
	min-width: 108px;
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-form .wc-block-components-text-input label,
body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-text-input label {
	color: var(--pi-cart-muted) !important;
}

body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-validation-error {
	color: var(--pi-cart-danger);
}

/* Lege winkelwagen: klassiek en block. */
body.pi-cart-page.pi-cart--empty .woocommerce,
body.pi-cart-page .wp-block-woocommerce-empty-cart-block {
	max-width: 920px;
}

body.pi-cart-page .cart-empty.woocommerce-info,
body.pi-cart-page .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	margin: 0;
	border: 1px solid var(--pi-cart-border);
	background: var(--pi-cart-panel);
	color: var(--pi-cart-heading);
	text-align: center;
}

body.pi-cart-page .cart-empty.woocommerce-info {
	min-height: 180px;
	display: grid;
	place-items: center;
	padding: 64px 24px;
	box-shadow: inset 0 4px 0 var(--pi-cart-orange);
	font-family: "Oswald", "Arial Narrow", Arial, sans-serif;
	font-size: clamp(24px, 4vw, 38px);
	font-weight: 600;
	line-height: 1.15;
	text-transform: uppercase;
}

body.pi-cart-page .cart-empty.woocommerce-info::before {
	display: none;
}

body.pi-cart-page .return-to-shop {
	margin: 18px 0 0;
	text-align: center;
}

body.pi-cart-page .return-to-shop .button,
body.pi-cart-page .wp-block-woocommerce-empty-cart-block .wp-block-button__link {
	min-height: 52px;
	border-color: var(--pi-cart-orange);
	background: var(--pi-cart-orange);
	color: #111 !important;
}

body.pi-cart-page .wp-block-woocommerce-empty-cart-block {
	padding: clamp(32px, 5vw, 58px);
	border: 1px solid var(--pi-cart-border);
	border-radius: var(--pi-cart-radius);
	background: var(--pi-cart-panel);
	box-shadow: inset 0 4px 0 var(--pi-cart-orange);
	color: var(--pi-cart-text);
}

body.pi-cart-page .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	border: 0;
	background: transparent;
}

/* Cross-sells blijven onderdeel van de native WooCommerce-flow. */
body.pi-cart-page .cross-sells ul.products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

body.pi-cart-page .cross-sells ul.products::before,
body.pi-cart-page .cross-sells ul.products::after {
	display: none;
}

body.pi-cart-page .cross-sells ul.products li.product {
	float: none;
	width: auto;
	margin: 0;
	padding: 15px;
	border: 1px solid var(--pi-cart-border);
	background: var(--pi-cart-panel);
}

/* Tablet. */
@media screen and (max-width: 960px) {
	body.pi-cart-page .cart-collaterals {
		grid-template-columns: minmax(0, 1fr);
	}

	body.pi-cart-page .cart-collaterals .cross-sells,
	body.pi-cart-page .cart-collaterals .cart_totals {
		grid-column: 1;
		grid-row: auto;
	}

	body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-sidebar-layout {
		gap: 22px;
	}
}

/* Mobiel: de klassieke tabel wordt een goed leesbare productkaart. */
@media screen and (max-width: 768px) {
	body.pi-cart-page #content > .wrapper,
	body.pi-cart-page .site-content > .wrapper {
		width: min(100% - 28px, 1320px);
	}

	body.pi-cart-page article.page > .entry-header,
	body.pi-cart-page .site-main > article > .entry-header {
		padding-top: 30px;
	}

	body.pi-cart-page .woocommerce-cart-form {
		border: 0;
		background: transparent;
		overflow: visible;
	}

	body.pi-cart-page table.shop_table_responsive thead,
	body.pi-cart-page table.shop_table.cart thead {
		display: none;
	}

	body.pi-cart-page table.shop_table_responsive tbody,
	body.pi-cart-page table.shop_table.cart tbody {
		display: block;
	}

	body.pi-cart-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item,
	body.pi-cart-page table.shop_table.cart tr.woocommerce-cart-form__cart-item {
		position: relative;
		display: grid;
		grid-template-columns: 82px minmax(0, 1fr);
		grid-template-areas:
			"image name"
			"image price"
			"image quantity"
			"image subtotal";
		column-gap: 16px;
		margin: 0 0 14px;
		padding: 18px;
		border: 1px solid var(--pi-cart-border);
		border-radius: var(--pi-cart-radius);
		background: var(--pi-cart-panel);
	}

	body.pi-cart-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item td,
	body.pi-cart-page table.shop_table.cart tr.woocommerce-cart-form__cart-item td {
		width: auto;
		min-height: 0;
		padding: 6px 0;
		border: 0;
		text-align: left !important;
	}

	body.pi-cart-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item td::before,
	body.pi-cart-page table.shop_table.cart tr.woocommerce-cart-form__cart-item td::before {
		float: none;
		margin-right: 10px;
		color: var(--pi-cart-muted);
		font-size: 9px;
		font-weight: 800;
		letter-spacing: .08em;
		text-transform: uppercase;
	}

	body.pi-cart-page .woocommerce-cart-form__cart-item .product-thumbnail {
		grid-area: image;
		display: block !important;
	}

	body.pi-cart-page .woocommerce-cart-form__cart-item .product-thumbnail::before,
	body.pi-cart-page .woocommerce-cart-form__cart-item .product-name::before {
		display: none;
	}

	body.pi-cart-page .woocommerce-cart-form__cart-item .product-thumbnail a {
		width: 82px;
		height: 82px;
	}

	body.pi-cart-page .woocommerce-cart-form__cart-item .product-name {
		grid-area: name;
		padding-top: 1px;
		padding-right: 50px;
	}

	body.pi-cart-page .woocommerce-cart-form__cart-item .product-price {
		grid-area: price;
	}

	body.pi-cart-page .woocommerce-cart-form__cart-item .product-quantity {
		grid-area: quantity;
	}

	body.pi-cart-page .woocommerce-cart-form__cart-item .product-subtotal {
		grid-area: subtotal;
		padding-bottom: 0;
		font-size: 15px;
	}

	body.pi-cart-page .woocommerce-cart-form__cart-item .product-remove {
		position: absolute;
		top: 10px;
		right: 10px;
		z-index: 1;
		display: block;
		padding: 0;
	}

	body.pi-cart-page .product-remove a.remove {
		width: 44px;
		height: 44px;
	}

	body.pi-cart-page table.shop_table_responsive tbody > tr:not(.woocommerce-cart-form__cart-item),
	body.pi-cart-page table.shop_table.cart tbody > tr:not(.woocommerce-cart-form__cart-item) {
		display: block;
		width: 100%;
	}

	body.pi-cart-page table.shop_table_responsive tr td.actions,
	body.pi-cart-page table.shop_table.cart tr td.actions {
		width: 100% !important;
		display: grid;
		gap: 10px;
		padding: 14px;
		border: 1px solid var(--pi-cart-border);
		background: var(--pi-cart-panel);
	}

	body.pi-cart-page .woocommerce-cart-form .coupon {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	body.pi-cart-page .woocommerce-cart-form .coupon .input-text {
		width: 100%;
		min-width: 0;
	}

	body.pi-cart-page .woocommerce-cart-form td.actions > button[name="update_cart"] {
		float: none;
		width: 100%;
	}

	body.pi-cart-page .cart-collaterals .cart_totals,
	body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart__sidebar {
		padding: 22px 18px;
	}

	body.pi-cart-page .cart_totals table.shop_table th,
	body.pi-cart-page .cart_totals table.shop_table td {
		display: table-cell;
		width: auto;
		padding: 14px 0;
		text-align: left;
	}

	body.pi-cart-page .cart_totals table.shop_table td {
		text-align: right;
	}

	body.pi-cart-page .cross-sells ul.products {
		grid-template-columns: minmax(0, 1fr);
	}

	body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart__main,
	body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart__sidebar {
		width: 100%;
	}

	body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart-items__row td {
		padding-top: 18px !important;
		padding-bottom: 18px !important;
	}

	body.pi-cart-page .woocommerce-cart-form input,
	body.pi-cart-page .woocommerce-cart-form select,
	body.pi-cart-page .cart-collaterals input,
	body.pi-cart-page .cart-collaterals select,
	body.pi-cart-page .wp-block-woocommerce-cart input,
	body.pi-cart-page .wp-block-woocommerce-cart select {
		font-size: 16px;
	}

	body.pi-cart-page .woocommerce-cart-form button.button,
	body.pi-cart-page .woocommerce-cart-form a.button,
	body.pi-cart-page .cart-collaterals button.button,
	body.pi-cart-page .cart-collaterals a.button,
	body.pi-cart-page .return-to-shop a.button,
	body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-button {
		min-height: 48px;
	}

	body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart-item__remove-link {
		min-height: 44px;
	}
}

@media screen and (max-width: 420px) {
	body.pi-cart-page .woocommerce-cart-form .coupon {
		grid-template-columns: minmax(0, 1fr);
	}

	body.pi-cart-page .woocommerce-cart-form button[name="apply_coupon"] {
		width: 100%;
	}

	body.pi-cart-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item,
	body.pi-cart-page table.shop_table.cart tr.woocommerce-cart-form__cart-item {
		grid-template-columns: 70px minmax(0, 1fr);
		column-gap: 13px;
		padding: 15px;
	}

	body.pi-cart-page .woocommerce-cart-form__cart-item .product-thumbnail a {
		width: 70px;
		height: 70px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.pi-cart-page .woocommerce-cart-form__cart-item,
	body.pi-cart-page .pi-cart-line,
	body.pi-cart-page .product-thumbnail img,
	body.pi-cart-page .product-remove a.remove,
	body.pi-cart-page .woocommerce-cart-form button.button,
	body.pi-cart-page .woocommerce-cart-form a.button,
	body.pi-cart-page .cart-collaterals button.button,
	body.pi-cart-page .cart-collaterals a.button,
	body.pi-cart-page .return-to-shop a.button,
	body.pi-cart-page .wp-block-woocommerce-cart .wc-block-components-button,
	body.pi-cart-page .cart-collaterals .wc-proceed-to-checkout a.checkout-button,
	body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart__submit-button {
		transition: none !important;
	}

	body.pi-cart-page .product-thumbnail a:hover img,
	body.pi-cart-page .cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover,
	body.pi-cart-page .wp-block-woocommerce-cart .wc-block-cart__submit-button:hover {
		transform: none;
	}
}
