/* ==========================================================
 * COEUR — CART PAGE HEADER
 * ========================================================== */

.coeur-cart-header {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: stretch;

	box-sizing: border-box;
	width: 100%;

	color: #777;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.2;
}

.coeur-cart-header__breadcrumbs {
	display: flex;
	align-items: center;
	gap: 10px;

	justify-self: start;
	align-self: center;

	min-width: 0;
	padding: 7px 0;
}

.coeur-cart-header__breadcrumbs a,
.coeur-cart-header__breadcrumbs span {
	color: inherit;
	text-decoration: none;
}

.coeur-cart-header__breadcrumbs a:hover {
	color: #202020;
}

.coeur-cart-header__separator {
	opacity: .55;
}

.coeur-cart-header__count {
	justify-self: center;
	align-self: center;

	padding: 7px 0;

	white-space: nowrap;
}

.coeur-cart-header__continue {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;

	justify-self: end;
	align-self: stretch;

	box-sizing: border-box;
	min-width: 170px;
	min-height: 32px;
	padding: 6px 16px;

	border: 1px solid #202020;
	border-radius: 0;

	background: transparent;
	color: #202020;

	text-decoration: none;
	white-space: nowrap;

	transition:
		background-color .25s ease,
		color .25s ease;
}

.coeur-cart-header__continue:hover,
.coeur-cart-header__continue:focus-visible {
	background: #202020;
	color: #fff;
}

.coeur-cart-header__continue-arrow {
	display: block;
	flex: 0 0 12px;
	width: 12px;
	height: 8px;
	font-size: 0;
	line-height: 0;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%228%22%20viewBox%3D%220%200%2012%208%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M11.6667%203.83364C11.6667%203.5846%2011.5562%203.35356%2011.4517%203.18008C11.3388%202.99286%2011.187%202.79958%2011.0206%202.61113C10.6866%202.23308%2010.2508%201.82709%209.82786%201.45985C9.40246%201.09045%208.97853%200.750304%208.66185%200.503122C8.50324%200.379324%208.37092%200.278367%208.27798%200.208159C8.2315%200.173046%208.19484%200.145598%208.16962%200.126802L8.14058%200.105212L8.13287%200.0995095L8.1302%200.097536C7.90786%20-0.0662384%207.59457%20-0.0189782%207.4308%200.203356C7.26703%200.425681%207.31449%200.738667%207.5368%200.902447L7.54529%200.908721L7.57199%200.928569C7.5956%200.94617%207.63055%200.972331%207.67521%201.00607C7.76457%201.07357%207.89266%201.1713%208.04655%201.29142C8.35486%201.53207%208.76426%201.86066%209.17219%202.2149C9.5826%202.57129%209.98014%202.94384%2010.2711%203.27322C10.2895%203.29406%2010.3074%203.31453%2010.3246%203.33464L0.5%203.33464C0.223858%203.33464%20-2.41411e-08%203.55849%200%203.83464C2.41412e-08%204.11078%200.223858%204.33464%200.5%204.33464L10.3229%204.33464C10.3062%204.35411%2010.2889%204.37392%2010.2711%204.39407C9.98014%204.72346%209.5826%205.09601%209.17219%205.4524C8.76426%205.80664%208.35486%206.13523%208.04655%206.37588C7.89266%206.496%207.76457%206.59373%207.67521%206.66123C7.63055%206.69497%207.5956%206.72113%207.57199%206.73873L7.54529%206.75858L7.5368%206.76485C7.31449%206.92863%207.26703%207.24162%207.4308%207.46394C7.59457%207.68628%207.90786%207.73354%208.1302%207.56976L8.13287%207.56779L8.14058%207.56209L8.16962%207.5405C8.19484%207.5217%208.23151%207.49425%208.27799%207.45914C8.37092%207.38893%208.50324%207.28797%208.66185%207.16418C8.97853%206.917%209.40246%206.57685%209.82786%206.20745C10.2508%205.84021%2010.6866%205.43422%2011.0206%205.05617C11.187%204.86772%2011.3388%204.67443%2011.4517%204.48722C11.5556%204.31478%2011.6653%204.08546%2011.6667%203.83813%22%20fill%3D%22%23414141%22%2F%3E%0A%3C%2Fsvg%3E") center / 12px 8px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%228%22%20viewBox%3D%220%200%2012%208%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M11.6667%203.83364C11.6667%203.5846%2011.5562%203.35356%2011.4517%203.18008C11.3388%202.99286%2011.187%202.79958%2011.0206%202.61113C10.6866%202.23308%2010.2508%201.82709%209.82786%201.45985C9.40246%201.09045%208.97853%200.750304%208.66185%200.503122C8.50324%200.379324%208.37092%200.278367%208.27798%200.208159C8.2315%200.173046%208.19484%200.145598%208.16962%200.126802L8.14058%200.105212L8.13287%200.0995095L8.1302%200.097536C7.90786%20-0.0662384%207.59457%20-0.0189782%207.4308%200.203356C7.26703%200.425681%207.31449%200.738667%207.5368%200.902447L7.54529%200.908721L7.57199%200.928569C7.5956%200.94617%207.63055%200.972331%207.67521%201.00607C7.76457%201.07357%207.89266%201.1713%208.04655%201.29142C8.35486%201.53207%208.76426%201.86066%209.17219%202.2149C9.5826%202.57129%209.98014%202.94384%2010.2711%203.27322C10.2895%203.29406%2010.3074%203.31453%2010.3246%203.33464L0.5%203.33464C0.223858%203.33464%20-2.41411e-08%203.55849%200%203.83464C2.41412e-08%204.11078%200.223858%204.33464%200.5%204.33464L10.3229%204.33464C10.3062%204.35411%2010.2889%204.37392%2010.2711%204.39407C9.98014%204.72346%209.5826%205.09601%209.17219%205.4524C8.76426%205.80664%208.35486%206.13523%208.04655%206.37588C7.89266%206.496%207.76457%206.59373%207.67521%206.66123C7.63055%206.69497%207.5956%206.72113%207.57199%206.73873L7.54529%206.75858L7.5368%206.76485C7.31449%206.92863%207.26703%207.24162%207.4308%207.46394C7.59457%207.68628%207.90786%207.73354%208.1302%207.56976L8.13287%207.56779L8.14058%207.56209L8.16962%207.5405C8.19484%207.5217%208.23151%207.49425%208.27799%207.45914C8.37092%207.38893%208.50324%207.28797%208.66185%207.16418C8.97853%206.917%209.40246%206.57685%209.82786%206.20745C10.2508%205.84021%2010.6866%205.43422%2011.0206%205.05617C11.187%204.86772%2011.3388%204.67443%2011.4517%204.48722C11.5556%204.31478%2011.6653%204.08546%2011.6667%203.83813%22%20fill%3D%22%23414141%22%2F%3E%0A%3C%2Fsvg%3E") center / 12px 8px no-repeat;
}


/* ==========================================================
 * TABLET
 * ========================================================== */

@media (max-width: 1024px) {

	.coeur-cart-header {
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	}

	.coeur-cart-header__continue {
		min-width: 160px;
		padding-right: 14px;
		padding-left: 14px;
	}
}


/* ==========================================================
 * MOBILE
 * ========================================================== */


@media (max-width: 767.98px) {

	.coeur-cart-header {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;

		margin-bottom: 24px;

		border-bottom: 0;
	}

	.coeur-cart-header__breadcrumbs {
		grid-column: 1;
		grid-row: 1;

		width: 100%;
		padding: 7px 0 8px;

		border-bottom: 1px solid rgba(32, 32, 32, .22);
	}

	.coeur-cart-header__count {
		grid-column: 2;
		grid-row: 1;

		box-sizing: border-box;
		width: 100%;
		padding: 7px 0 8px;

		border-bottom: 1px solid rgba(32, 32, 32, .22);

		text-align: right;
	}

	.coeur-cart-header__continue {
		grid-column: 1 / -1;
		grid-row: 2;

		justify-self: stretch;

		width: 100%;
		min-width: 0;
		min-height: 32px;
		margin: 0;
		padding: 7px 16px;

		border: 1px solid #202020;
	}
}

/* ==========================================================
 * CART — PROCEED TO CHECKOUT BUTTON
 * ========================================================== */

.wp-block-woocommerce-cart
.wc-block-cart__submit-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 14px;

	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 0 18px;

	border: 1px solid #202020 !important;
	border-radius: 0 !important;
	background: #202020 !important;
	box-shadow: none !important;

	color: #fff !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	text-transform: uppercase;
	text-decoration: none !important;

	transition:
		background-color .2s ease,
		color .2s ease,
		border-color .2s ease;
}

.wp-block-woocommerce-cart
.wc-block-cart__submit-button::after {
	content: "";
	display: block;
	flex: 0 0 auto;
	width: 18px;
	height: 12px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg width='18' height='12' viewBox='0 0 18 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.5 5.75047C17.5 5.37691 17.3344 5.03034 17.1775 4.77011C17.0082 4.4893 16.7806 4.19937 16.5308 3.91669C16.0298 3.34962 15.3762 2.74064 14.7418 2.18977C14.1037 1.63567 13.4678 1.12546 12.9928 0.754682C12.7549 0.568986 12.5564 0.41755 12.417 0.312239C12.3473 0.259569 12.2923 0.218397 12.2544 0.190203L12.2109 0.157818L12.1993 0.149264L12.1953 0.146304C11.8618 -0.0993576 11.3919 -0.0284673 11.1462 0.305035C10.9005 0.638521 10.9717 1.108 11.3052 1.35367L11.3179 1.36308L11.358 1.39285C11.3934 1.41925 11.4458 1.4585 11.5128 1.50911C11.6468 1.61036 11.839 1.75695 12.0698 1.93713C12.5323 2.2981 13.1464 2.79099 13.7583 3.32235C14.3739 3.85694 14.9702 4.41576 15.4067 4.90983C15.4343 4.94108 15.461 4.9718 15.4869 5.00195L0.75 5.00196C0.335787 5.00196 0 5.33774 0 5.75195C0 6.16617 0.335787 6.50196 0.75 6.50196L15.4843 6.50195C15.4593 6.53116 15.4334 6.56088 15.4067 6.59111C14.9702 7.08518 14.3739 7.64401 13.7583 8.1786C13.1464 8.70995 12.5323 9.20285 12.0698 9.56382C11.839 9.74399 11.6468 9.89059 11.5128 9.99184C11.4458 10.0425 11.3934 10.0817 11.358 10.1081L11.3179 10.1379L11.3052 10.1473C10.9717 10.3929 10.9005 10.8624 11.1462 11.1959C11.3919 11.5294 11.8618 11.6003 12.1953 11.3546L12.1993 11.3517L12.2109 11.3431L12.2544 11.3107C12.2923 11.2826 12.3473 11.2414 12.417 11.1887C12.5564 11.0834 12.7549 10.932 12.9928 10.7463C13.4678 10.3755 14.1037 9.86528 14.7418 9.31118C15.3762 8.76031 16.0298 8.15133 16.5308 7.58425C16.7806 7.30158 17.0082 7.01165 17.1775 6.73083C17.3334 6.47217 17.498 6.12819 17.5 5.7572' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg width='18' height='12' viewBox='0 0 18 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.5 5.75047C17.5 5.37691 17.3344 5.03034 17.1775 4.77011C17.0082 4.4893 16.7806 4.19937 16.5308 3.91669C16.0298 3.34962 15.3762 2.74064 14.7418 2.18977C14.1037 1.63567 13.4678 1.12546 12.9928 0.754682C12.7549 0.568986 12.5564 0.41755 12.417 0.312239C12.3473 0.259569 12.2923 0.218397 12.2544 0.190203L12.2109 0.157818L12.1993 0.149264L12.1953 0.146304C11.8618 -0.0993576 11.3919 -0.0284673 11.1462 0.305035C10.9005 0.638521 10.9717 1.108 11.3052 1.35367L11.3179 1.36308L11.358 1.39285C11.3934 1.41925 11.4458 1.4585 11.5128 1.50911C11.6468 1.61036 11.839 1.75695 12.0698 1.93713C12.5323 2.2981 13.1464 2.79099 13.7583 3.32235C14.3739 3.85694 14.9702 4.41576 15.4067 4.90983C15.4343 4.94108 15.461 4.9718 15.4869 5.00195L0.75 5.00196C0.335787 5.00196 0 5.33774 0 5.75195C0 6.16617 0.335787 6.50196 0.75 6.50196L15.4843 6.50195C15.4593 6.53116 15.4334 6.56088 15.4067 6.59111C14.9702 7.08518 14.3739 7.64401 13.7583 8.1786C13.1464 8.70995 12.5323 9.20285 12.0698 9.56382C11.839 9.74399 11.6468 9.89059 11.5128 9.99184C11.4458 10.0425 11.3934 10.0817 11.358 10.1081L11.3179 10.1379L11.3052 10.1473C10.9717 10.3929 10.9005 10.8624 11.1462 11.1959C11.3919 11.5294 11.8618 11.6003 12.1953 11.3546L12.1993 11.3517L12.2109 11.3431L12.2544 11.3107C12.2923 11.2826 12.3473 11.2414 12.417 11.1887C12.5564 11.0834 12.7549 10.932 12.9928 10.7463C13.4678 10.3755 14.1037 9.86528 14.7418 9.31118C15.3762 8.76031 16.0298 8.15133 16.5308 7.58425C16.7806 7.30158 17.0082 7.01165 17.1775 6.73083C17.3334 6.47217 17.498 6.12819 17.5 5.7572' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
}

.wp-block-woocommerce-cart
.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-cart
.wc-block-cart__submit-button:focus-visible {
	background: transparent !important;
	color: #202020 !important;
	border-color: #202020 !important;
}

/* ==========================================================
 * CART — MAIN / SIDEBAR WIDTHS
 * ========================================================== */

.wp-block-woocommerce-cart .wc-block-components-sidebar {
    box-sizing: border-box;
    padding-left: 2.2641509434%;
    width: 32%;
}

.wp-block-woocommerce-cart
.wc-block-components-sidebar-layout
.wc-block-components-main {
    box-sizing: border-box;
    margin: 0;
    padding-right: 23px;
    width: 68%;
}

/* ==========================================================
 * CART SIDEBAR — MATCH CHECKOUT ORDER SUMMARY
 * ========================================================== */

.wp-block-woocommerce-cart
.wc-block-components-sidebar.wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block {
    box-sizing: border-box;
    padding: 25px 24px;
    border: none;
    border-radius: 0;
    background: #E4E3E1;
    box-shadow: none;
}

.wp-block-woocommerce-cart
.wp-block-woocommerce-cart-order-summary-heading-block.wc-block-cart__totals-title {
    margin-top: 0;
    padding: 0;
    font-family: 'Instrument Serif', serif !important;
    font-style: normal;
    font-weight: 400;
    font-size: 32px !important;
    line-height: 1.1;
    color: #202020;
}

/* ==========================================================
 * CART — RESPONSIVE LAYOUT
 * Mirrors the Checkout responsive behavior:
 * desktop columns, tablet/mobile stacked into one column.
 * ========================================================== */

/* Desktop only. */
@media (min-width: 1025px) {

    .wp-block-woocommerce-cart
    .wc-block-components-sidebar {
        box-sizing: border-box;
        padding-left: 2.2641509434%;
        width: 32%;
    }

    .wp-block-woocommerce-cart
    .wc-block-components-sidebar-layout
    .wc-block-components-main {
        box-sizing: border-box;
        margin: 0;
        padding-right: 23px;
        width: 68%;
    }
}

/* Preserve WooCommerce responsive states. */
.wp-block-woocommerce-cart
.is-medium.wc-block-components-sidebar-layout
.wc-block-components-main,
.wp-block-woocommerce-cart
.is-small.wc-block-components-sidebar-layout
.wc-block-components-main,
.wp-block-woocommerce-cart
.is-mobile.wc-block-components-sidebar-layout
.wc-block-components-main {
    box-sizing: border-box;
    margin: 0;
    padding-right: 0 !important;
    padding-left: 0 !important;
    width: 100% !important;
    max-width: none !important;
}

.wp-block-woocommerce-cart
.is-medium.wc-block-components-sidebar-layout
.wc-block-components-sidebar,
.wp-block-woocommerce-cart
.is-small.wc-block-components-sidebar-layout
.wc-block-components-sidebar,
.wp-block-woocommerce-cart
.is-mobile.wc-block-components-sidebar-layout
.wc-block-components-sidebar {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Phones + tablets: stack Cart and Order Summary. */
@media (max-width: 1024px) {

    .wp-block-woocommerce-cart
    .wc-block-components-sidebar-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 32px;
    }

    .wp-block-woocommerce-cart
    .wc-block-components-sidebar-layout
    .wc-block-components-main,
    .wp-block-woocommerce-cart
    .wc-block-components-sidebar-layout
    .wc-block-components-sidebar {
        box-sizing: border-box;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .wp-block-woocommerce-cart
    .wc-block-components-sidebar-layout
    .wc-block-components-main {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    /*
     * On Checkout the outer sidebar becomes full-width while the
     * inner Order Summary keeps its card padding. Cart has no extra
     * wrapper, so keep the same 25px / 24px card padding here.
     */
    .wp-block-woocommerce-cart
    .wc-block-components-sidebar.wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block {
        order: 1;
        padding: 25px 24px !important;
    }
}

/* Tablet spacing — same rhythm as Checkout. */
@media (min-width: 601px) and (max-width: 1024px) {

    .wp-block-woocommerce-cart
    .wc-block-components-sidebar-layout {
        gap: 36px;
    }
}

/* Phones — same tighter stack spacing as Checkout. */
@media (max-width: 600px) {

    .wp-block-woocommerce-cart
    .wc-block-components-sidebar-layout {
        gap: 28px;
    }
}

/* ==========================================================
 * CART — HIDE REGULAR / CROSSED-OUT PRICE
 * ========================================================== */

.wp-block-woocommerce-cart
.wc-block-components-product-price__regular {
    display: none !important;
}


/* ==========================================================
 * CART — GRID ITEM LAYOUT
 * Woo table markup is retained, but tbody and each cart row
 * become explicit grid containers so card spacing and inner
 * placement are deterministic.
 * ========================================================== */

.wp-block-woocommerce-cart
table.wc-block-cart-items
> tbody {
    display: grid !important;
    row-gap: 20px;
    width: 100%;
}

.wp-block-woocommerce-cart
table.wc-block-cart-items
> tbody
> .wc-block-cart-items__row {
    --coeur-cart-item-image-size: 124px;
    --coeur-cart-item-padding: 16px;
    --coeur-cart-item-quantity-gap: 10px;
    --coeur-cart-item-quantity-height: 40px;

    position: relative;

    display: grid !important;
    grid-template-columns:
        var(--coeur-cart-item-image-size)
        minmax(0, 1fr)
        180px !important;

    column-gap: 16px;
    align-items: start;

    width: 100%;
    min-height:
        calc(
            var(--coeur-cart-item-padding)
            + var(--coeur-cart-item-image-size)
            + var(--coeur-cart-item-quantity-gap)
            + var(--coeur-cart-item-quantity-height)
            + var(--coeur-cart-item-padding)
        );

    padding: var(--coeur-cart-item-padding) !important;

    border: 1px solid rgba(32, 32, 32, 0.12) !important;

    box-sizing: border-box;
}

.wp-block-woocommerce-cart
table.wc-block-cart-items
> tbody
> .wc-block-cart-items__row
> td {
    display: block !important;

    min-width: 0;
    width: auto !important;

    padding: 0 !important;
    border: 0 !important;
}

.wp-block-woocommerce-cart
table.wc-block-cart-items
> tbody
> .wc-block-cart-items__row
> .wc-block-cart-item__image {
    grid-column: 1;
    grid-row: 1;

    width: var(--coeur-cart-item-image-size) !important;
}

.wp-block-woocommerce-cart
table.wc-block-cart-items
> tbody
> .wc-block-cart-items__row
> .wc-block-cart-item__image img {
    display: block;

    width: var(--coeur-cart-item-image-size) !important;
    height: var(--coeur-cart-item-image-size) !important;

    object-fit: cover;
}

.wp-block-woocommerce-cart
table.wc-block-cart-items
> tbody
> .wc-block-cart-items__row
> .wc-block-cart-item__product {
    grid-column: 2;
    grid-row: 1;

    width: auto !important;
    min-width: 0;
}

.wp-block-woocommerce-cart
.wc-block-cart-item__wrap {
    display: grid !important;

    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
        "name"
        "price"
        "meta"
        "quantity";

    column-gap: 0;
    align-content: start;

    padding: 0 !important;
}

.wp-block-woocommerce-cart
.wc-block-components-product-name {
    grid-area: name;

    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.01rem;
}

.wp-block-woocommerce-cart
.wc-block-cart-item__prices {
    grid-area: price;
}

.wp-block-woocommerce-cart
.wc-block-components-product-metadata {
    grid-area: meta;
}

.wp-block-woocommerce-cart
.wc-block-cart-item__quantity {
    grid-area: quantity;

    position: static !important;

    display: block !important;

    height: 0;
    min-height: 0;

    margin: 0 !important;
    padding: 0 !important;
}

.wp-block-woocommerce-cart
.wc-block-cart-item__quantity
.wc-block-components-quantity-selector {
    position: absolute !important;

    top:
        calc(
            var(--coeur-cart-item-padding)
            + var(--coeur-cart-item-image-size)
            + var(--coeur-cart-item-quantity-gap)
        );

    left:
        calc(
            var(--coeur-cart-item-padding)
            + (var(--coeur-cart-item-image-size) / 2)
        );

    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;

    width: var(--coeur-cart-item-image-size) !important;
    max-width: none !important;
    height: var(--coeur-cart-item-quantity-height);

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box;

    transform: translateX(-50%);
}


.wp-block-woocommerce-cart
.wc-block-cart-item__quantity
.wc-block-components-quantity-selector
.wc-block-components-quantity-selector__button,
.wp-block-woocommerce-cart
.wc-block-cart-item__quantity
.wc-block-components-quantity-selector
.wc-block-components-quantity-selector__input {
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}

.wp-block-woocommerce-cart
.wc-block-cart-item__quantity
.wc-block-components-quantity-selector
.wc-block-components-quantity-selector__button {
    display: flex !important;
    align-items: center;
    justify-content: center;

    font-size: 14px !important;
    line-height: 1 !important;
}

.wp-block-woocommerce-cart
.wc-block-cart-item__quantity
.wc-block-components-quantity-selector
.wc-block-components-quantity-selector__input {
    font-size: 14px !important;
    line-height: 1 !important;

    text-align: center !important;
}

.wp-block-woocommerce-cart
table.wc-block-cart-items
> tbody
> .wc-block-cart-items__row
> .wc-block-cart-item__total {
    grid-column: 3;
    grid-row: 2;

    align-self: start;
    justify-self: stretch;

    width: auto !important;

    margin: 0 !important;

    text-align: right !important;
}

.wp-block-woocommerce-cart
.wc-block-cart-item__total-price-and-sale-badge-wrapper {
    align-items: flex-end;
}

.wp-block-woocommerce-cart
.wc-block-cart-item__remove-link {
    position: absolute !important;

    top: var(--coeur-cart-item-padding) !important;
    right: var(--coeur-cart-item-padding) !important;

    margin: 0 !important;
}

@media (max-width: 767.98px) {

    .wp-block-woocommerce-cart
    table.wc-block-cart-items
    > tbody
    > .wc-block-cart-items__row {
        --coeur-cart-item-image-size: 88px;
        --coeur-cart-item-padding: 12px;
        --coeur-cart-item-quantity-height: 32px;

        grid-template-columns:
            var(--coeur-cart-item-image-size)
            minmax(0, 1fr) !important;

        column-gap: 14px;
        row-gap: 14px;
    }

    .wp-block-woocommerce-cart
    table.wc-block-cart-items
    > tbody
    > .wc-block-cart-items__row
    > .wc-block-cart-item__product {
        grid-column: 2;
        grid-row: 1;

        padding-right: 34px !important;
    }

    .wp-block-woocommerce-cart
    table.wc-block-cart-items
    > tbody
    > .wc-block-cart-items__row
    > .wc-block-cart-item__total {
        grid-column: 2;
        grid-row: 2;

        justify-self: end;

        padding-right: 0 !important;

        text-align: right !important;
    }
}

/* ==========================================================
 * CART — SUBSCRIPTION PERIOD INLINE WITH PRICE
 * The recurring suffix stays on the same line as the price.
 * ========================================================== */

.wp-block-woocommerce-cart
.wc-block-cart-item__prices
.wc-block-components-product-price {
    display: inline-flex;
    flex-direction: row;
    align-items: baseline;
    column-gap: 4px;

    font-size: 14px !important;
    line-height: 1.2;

    text-align: left;
    white-space: nowrap;
}

/* ==========================================================
 * CART — PRODUCT DETAILS RESPONSIVE WRAP
 * Name + value stay in one row when there is enough room.
 * If the pair no longer fits, the value moves to the next line.
 * ========================================================== */

.wp-block-woocommerce-cart
.wc-block-components-product-details {
    display: flex;
    flex-direction: column;
    row-gap: 2px;
}

.wp-block-woocommerce-cart
.wc-block-components-product-details > span {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 4px;
    row-gap: 0;
}

.wp-block-woocommerce-cart
.wc-block-components-product-details__name {
    flex: 0 0 auto;
    max-width: 100%;
}

.wp-block-woocommerce-cart
.wc-block-components-product-details__value {
    display: -webkit-box !important;

    flex: 0 0 auto;

    width: auto;
    min-width: 0;
    max-width: 100%;

    margin-left: 0 !important;

    overflow: hidden;
    overflow-wrap: anywhere;
    white-space: normal;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.wp-block-woocommerce-cart
.wc-block-components-product-details__minimum-period-s {
    order: 10;
}

.wp-block-woocommerce-cart
.wc-block-components-product-details__a-note-from-you,
.wp-block-woocommerce-cart
span[class~="wc-block-components-product-details__a-note,-from-you"] {
    order: 20;
}

/* Minimum Period(s): 1 month */
.wp-block-woocommerce-cart
.wc-block-components-product-details__minimum-period-s
.wc-block-components-product-details__value::after {
    content: " month";
}

/* ==========================================================
 * CART — CUSTOM REMOVE ICON
 * ========================================================== */

.wp-block-woocommerce-cart
.wc-block-cart-item__remove-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;
    min-width: 36px;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;

    font-size: 0 !important;
    line-height: 0;
}

.wp-block-woocommerce-cart
.wc-block-cart-item__remove-link svg {
    display: none !important;
}

.wp-block-woocommerce-cart
.wc-block-cart-item__remove-link::before {
    content: "";
    display: block;
    width: 36px;
    height: 36px;

    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2036%2036%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cmask%20id%3D%22path-1-inside-1_2004_2996%22%20fill%3D%22white%22%3E%0A%3Cpath%20d%3D%22M36%200L36%2036L-1.57361e-06%2036L0%20-1.57361e-06L36%200Z%22%2F%3E%0A%3C%2Fmask%3E%0A%3Cpath%20d%3D%22M36%200L37.6%206.99382e-08L37.6%20-1.6L36%20-1.6L36%200ZM36%2036L36%2037.6L37.6%2037.6L37.6%2036L36%2036ZM-1.57361e-06%2036L-1.6%2036L-1.6%2037.6L-1.64355e-06%2037.6L-1.57361e-06%2036ZM0%20-1.57361e-06L6.99382e-08%20-1.6L-1.6%20-1.6L-1.6%20-1.64355e-06L0%20-1.57361e-06ZM36%200L34.4%20-6.99382e-08L34.4%2036L36%2036L37.6%2036L37.6%206.99382e-08L36%200ZM36%2036L36%2034.4L-1.50367e-06%2034.4L-1.57361e-06%2036L-1.64355e-06%2037.6L36%2037.6L36%2036ZM-1.57361e-06%2036L1.6%2036L1.6%20-1.50367e-06L0%20-1.57361e-06L-1.6%20-1.64355e-06L-1.6%2036L-1.57361e-06%2036ZM0%20-1.57361e-06L-6.99382e-08%201.6L36%201.6L36%200L36%20-1.6L6.99382e-08%20-1.6L0%20-1.57361e-06Z%22%20fill%3D%22%23414141%22%20fill-opacity%3D%220.7%22%20mask%3D%22url%28%23path-1-inside-1_2004_2996%29%22%2F%3E%0A%3Crect%20width%3D%2219.2%22%20height%3D%221.6%22%20transform%3D%22translate%2811.7773%2010.2461%29%20rotate%2845%29%22%20fill%3D%22%23414141%22%2F%3E%0A%3Crect%20width%3D%2219.2%22%20height%3D%221.6%22%20transform%3D%22translate%2810.6445%2023.8223%29%20rotate%28-45%29%22%20fill%3D%22%23414141%22%2F%3E%0A%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 36px 36px;
}

.wp-block-woocommerce-cart
.wc-block-cart-item__remove-link:hover::before,
.wp-block-woocommerce-cart
.wc-block-cart-item__remove-link:focus-visible::before {
    opacity: .7;
}


@media (max-width: 767.98px) {

    .wp-block-woocommerce-cart
    .wc-block-cart-item__remove-link {
        width: 29px;
        min-width: 29px;
    }

    .wp-block-woocommerce-cart
    .wc-block-cart-item__remove-link::before {
        width: 29px;
        background-size: 29px 29px;
    }
}
