/* ==========================================================
 * COEUR — MINI CART
 * Custom remove-item icon.
 *
 * This stylesheet is loaded globally because the Mini Cart drawer
 * can be opened from any storefront page, not only /cart/.
 * ========================================================== */

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

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

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

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

.wc-block-mini-cart__template-part
.wc-block-cart-item__remove-link svg {
    display: none !important;
}

.wc-block-mini-cart__template-part
.wc-block-cart-item__remove-link::before {
    content: "";
    display: block;

    width: 29px;
    height: 29px;

    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: 29px 29px;
}

.wc-block-mini-cart__template-part
.wc-block-cart-item__remove-link:hover::before,
.wc-block-mini-cart__template-part
.wc-block-cart-item__remove-link:focus-visible::before {
    opacity: .7;
}

/* ==========================================================
 * WOO QUANTITY SELECTORS — SQUARE CORNERS EVERYWHERE
 * ========================================================== */

.wc-block-components-quantity-selector,
.wc-block-components-quantity-selector:where(:has(input:not([type="hidden"]))) {
    border-radius: 0 !important;
}

.wc-block-components-quantity-selector__button,
.wc-block-components-quantity-selector__input {
    border-radius: 0 !important;
}

/* ==========================================================
 * MINI CART — GRID ITEM LAYOUT
 * Same visual system as the Cart, adapted to the drawer width.
 * ========================================================== */

.wp-block-woocommerce-filled-mini-cart-contents-block
table.wc-block-cart-items {
    width: 100%;
}

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

.wp-block-woocommerce-filled-mini-cart-contents-block
table.wc-block-cart-items
> tbody
> .wc-block-cart-items__row {
    --coeur-mini-cart-image-size: 88px;
    --coeur-mini-cart-padding: 12px;
    --coeur-mini-cart-quantity-gap: 10px;
    --coeur-mini-cart-quantity-height: 40px;

    position: relative;

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

    column-gap: 14px;
    row-gap: 14px;
    align-items: start;

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

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

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

    box-sizing: border-box;
}

.wp-block-woocommerce-filled-mini-cart-contents-block
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-filled-mini-cart-contents-block
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-mini-cart-image-size) !important;
}

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

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

    object-fit: cover;
}

.wp-block-woocommerce-filled-mini-cart-contents-block
.wc-block-cart-item__image
> img[hidden] {
    display: none !important;
}

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

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

    padding-right: 34px !important;
}

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

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

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

    padding: 0 !important;
}

.wp-block-woocommerce-filled-mini-cart-contents-block
.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-filled-mini-cart-contents-block
.wc-block-cart-item__prices {
    grid-area: price;
}

.wp-block-woocommerce-filled-mini-cart-contents-block
.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;
}

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

.wp-block-woocommerce-filled-mini-cart-contents-block
.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-filled-mini-cart-contents-block
.wc-block-cart-item__quantity
.wc-block-components-quantity-selector {
    position: absolute !important;

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

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

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

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

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

    box-sizing: border-box;

    transform: translateX(-50%);
}

.wp-block-woocommerce-filled-mini-cart-contents-block
.wc-block-cart-item__quantity
.wc-block-components-quantity-selector
.wc-block-components-quantity-selector__button,
.wp-block-woocommerce-filled-mini-cart-contents-block
.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-filled-mini-cart-contents-block
.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-filled-mini-cart-contents-block
.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-filled-mini-cart-contents-block
table.wc-block-cart-items
> tbody
> .wc-block-cart-items__row
> .wc-block-cart-item__total {
    grid-column: 2;
    grid-row: 2;

    align-self: start;
    justify-self: end;

    width: auto !important;

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

    text-align: right !important;
}

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

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

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

    margin: 0 !important;
}

/* Hide crossed-out / regular price in Mini Cart. */
.wc-block-mini-cart__template-part
.wc-block-components-product-price__regular,
.wc-block-mini-cart__template-part
.wc-block-components-product-price__regular.notranslate {
    display: none !important;
}

/* ==========================================================
 * MINI CART — FOOTER BUTTONS
 * Shared Coeur button treatment.
 * ========================================================== */

.wc-block-mini-cart__template-part
.wc-block-mini-cart__footer-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.wc-block-mini-cart__template-part
.wc-block-mini-cart__footer-actions
.wc-block-components-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 12px;

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

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

    font: inherit !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;
}

.wc-block-mini-cart__template-part
.wc-block-mini-cart__footer-actions
.wc-block-components-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;
}

/* View my cart — outline. */
.wc-block-mini-cart__template-part
.wc-block-mini-cart__footer-cart {
    background: transparent !important;
    color: #202020 !important;
}

.wc-block-mini-cart__template-part
.wc-block-mini-cart__footer-cart:hover,
.wc-block-mini-cart__template-part
.wc-block-mini-cart__footer-cart:focus-visible {
    background: #202020 !important;
    color: #fff !important;
    border-color: #202020 !important;
}

/* Go to checkout — primary. */
.wc-block-mini-cart__template-part
.wc-block-mini-cart__footer-checkout {
    background: #202020 !important;
    color: #fff !important;
}

.wc-block-mini-cart__template-part
.wc-block-mini-cart__footer-checkout:hover,
.wc-block-mini-cart__template-part
.wc-block-mini-cart__footer-checkout:focus-visible {
    background: transparent !important;
    color: #202020 !important;
    border-color: #202020 !important;
}

@media (max-width: 420px) {
    .wc-block-mini-cart__template-part
    .wc-block-mini-cart__footer-actions {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}

/* ==========================================================
 * MINI CART — PRODUCT DETAILS RESPONSIVE WRAP
 * Keep name + value in one row when they fit.
 * If they do not fit, value moves to the next line.
 * ========================================================== */

.wc-block-mini-cart__template-part
.wc-block-components-product-details {
    display: flex;
    flex-direction: column;
    row-gap: 2px;
}

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

.wc-block-mini-cart__template-part
.wc-block-components-product-details__name {
    flex: 0 0 auto;
    max-width: 100%;
}

.wc-block-mini-cart__template-part
.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;
}

.wc-block-mini-cart__template-part
.wc-block-components-product-details__minimum-period-s {
    order: 10;
}

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

/* Hide WooCommerce metadata separator. */
.wc-block-mini-cart__template-part
.wc-block-components-product-details
span[aria-hidden="true"] {
    display: none !important;
}

.wp-block-woocommerce-filled-mini-cart-contents-block
.wc-block-components-product-details {
    font-size: 14px;
    line-height: 1.35;
}

.wp-block-woocommerce-filled-mini-cart-contents-block
.wc-block-components-product-details__select-size
.wc-block-components-product-details__name {
    font-size: 0;
}

.wp-block-woocommerce-filled-mini-cart-contents-block
.wc-block-components-product-details__select-size
.wc-block-components-product-details__name::after {
    content: "Size:";
    font-size: 14px;
}

.wp-block-woocommerce-filled-mini-cart-contents-block
.wc-block-components-product-details__minimum-period-s
.wc-block-components-product-details__value::after {
    content: " month";
}


@media (max-width: 767.98px) {

    .wp-block-woocommerce-filled-mini-cart-contents-block
    table.wc-block-cart-items
    > tbody
    > .wc-block-cart-items__row {
        --coeur-mini-cart-quantity-height: 32px;
    }
}
