/* ----- General ----- */
.added_to_cart { display: none; }

.add_to_cart_button.added {
    position: relative;
    color: transparent;
    background-image: url('data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M4.27004 8C4.0476 8.00007 3.8342 7.91788 3.67652 7.77142L0.245842 4.56629C0.0884322 4.41934 0 4.22004 0 4.01222C0 3.80441 0.0884322 3.6051 0.245842 3.45816C0.403252 3.31121 0.616746 3.22865 0.839358 3.22865C1.06197 3.22865 1.27546 3.31121 1.43287 3.45816L4.27004 6.10674L10.5405 0.253024C10.6174 0.175176 10.7103 0.112645 10.8138 0.0691888C10.9172 0.0257328 11.0289 0.00225036 11.1423 0.000153953C11.2557 -0.00194245 11.3684 0.0173903 11.4735 0.0569897C11.5787 0.096589 11.6742 0.155637 11.7543 0.230582C11.8344 0.305527 11.8975 0.394823 11.9397 0.493097C11.9818 0.591371 12.0023 0.696594 11.9998 0.802438C11.9973 0.908283 11.9719 1.01256 11.9251 1.109C11.8783 1.20545 11.8111 1.29206 11.7276 1.36364L4.86621 7.77142C4.7074 7.9178 4.49322 7.99992 4.27004 8Z" fill="%23fff"/%3E%3C/svg%3E');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 1rem 0.75rem;
}



/* ----- Notices ----- */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
	margin-bottom: 2rem;
	padding: 1rem 1.5rem;
	background: var(--color-bg-notice-message);
	list-style: none;
	overflow: hidden;
	border-radius: var(--border-radius-sm);
	outline: 0 !important;
}

.woocommerce-NoticeGroup ul { list-style: none; }

.woocommerce-NoticeGroup ul li {
    position: relative;
    padding-left: 1.25rem;
}

.woocommerce-NoticeGroup ul li:before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    content: '';
}

.woocommerce-info {
    color: var(--color-fg-default);
    background: var(--color-bg-white);
    border: 1px solid var(--color-fg-border-input);
}

.woocommerce-info a {
    font-weight: 500;
    color: var(--color-fg-primary);
}

.woocommerce-info a:hover { text-decoration: underline; }

.woocommerce-error,
.woocommerce-error a { color: var(--color-fg-white); }

.woocommerce-error { background: var(--color-bg-notice-error); }

.woocommerce-NoticeGroup .woocommerce-message li::before
.woocommerce-NoticeGroup .woocommerce-info li::before { background: var(--color-fg-default); }

.woocommerce-NoticeGroup .woocommerce-error li::before { background: var(--color-fg-white); }



/* ----- Action buttons ----- */
.wc-action-btn,
.wc-action-btn svg * { transition: all .2s; }

.wc-action-btn {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-family: var(--font-primary);
    font-weight: 500;
    color: var(--color-fg-dark);
}

@media ( hover: hover ) {
    .wc-action-btn:hover { color: var(--color-fg-primary); }

    .wc-action-btn:hover svg *[fill] { fill: var(--color-fg-primary); }
    .wc-action-btn:hover svg *[stroke] { stroke: var(--color-fg-primary); }
}

@media ( max-width: 1099px ) {
    .checkout .wc-ic-edit {
        width: 1rem;
        height: 1rem;
    }
}



/* ----- Plain buttons/links ----- */
.wc-link {
    color: var(--color-fg-dark);
    text-decoration: none;
}

@media ( hover: hover ) {
    .wc-link,
    .wc-link svg * { transition: all .2s; }

    .wc-link:hover { color: var(--color-fg-primary); }

    .wc-link:hover svg *[fill] { fill: var(--color-fg-primary); }
    .wc-link:hover svg *[stroke] { stroke: var(--color-fg-primary); }
}



/* ----- Flags ----- */
.flag-icon {
    width: 1.5rem;
    height: 1rem;
}



/* ----- Icons ----- */
.wc-icon-chevron-x {
    width: 0.5rem;
    height: 1rem;
}

.wc-icon-trash {
    width: 1rem;
    height: 1.125rem;
}

.wc-icon-arrow-x {
    width: 1.125rem;
    height: 0.875rem;
}

.wc-icon-accordion-toggle {
    width: 1.5rem;
    height: 1.5rem;
}



/* ----- Quantity ----- */
.quantity {
    width: var(--quantity-width);
    padding: var(--spacing-sm);
    border-radius: var(--border-radius-quantity);
}

.quantity__button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.125rem;
    height: 2.125rem;
    border-radius: 50%;
}

.quantity__button svg {
    width: 1.125rem;
    height: 1.125rem;
}

.quantity__input {
    display: block;
    width: 100%;
    height: 1.125rem;
    text-align: center;

    -moz-appearance: textfield;
    
    &::-webkit-outer-spin-button,
    &::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }
}

@media ( hover: hover ) {
    .quantity__button { transition: all .2s; }

    .quantity__button:hover { background: var(--color-bg-border); }
}



/* ----- Totals table ----- */
.wc-totals-table,
.wc-totals-table thead,
.wc-totals-table tbody,
.wc-totals-table tfoot,
.wc-totals-table th,
.wc-totals-table td { display: block; }

.wc-totals-table tr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: var(--spacing-sm);
}
.wc-totals-table tr:not(:last-child) { margin-bottom: var(--spacing-sm); }

.wc-totals-table th { font-weight: 500; }

.wc-totals-table td:last-child { text-align: right; }

.wc-totals-table .includes_tax { display: none; }

.wc-totals-table__total { margin-top: var(--spacing-lg); }

@media ( max-width: 1099px ) {
    .wc-totals-table tr:not(:last-child) { margin-bottom: var(--spacing-xs); }

    .wc-totals-table__total { margin-top: var(--spacing-md); }

    .wc-totals-table__total th,
    .wc-totals-table__total td { line-height: 1.375rem; }
}