/*
 * Cart page in the checkout's style (see inc/woo-custom/cart-page.php). Loaded after
 * block-checkout.css, whose header, steps, footer, product rows, quantity buttons, discount
 * code and totals styles it reuses; this file adds the cart's own layout.
 */

/* ---------- Columns: products 665 + grey box 475, like the checkout ---------- */
.evess-cart-page .evc-main > .woocommerce { max-width: 1140px; margin: 0 auto; }
.evess-cart-page .evc-cart { display: grid; grid-template-columns: 665px 475px; grid-template-areas: "main side" "after side"; align-items: start; margin: 0; }
.evess-cart-page .evc-cart-main { grid-area: main; padding: 0 20px 0 5px; }
.evess-cart-page .evc-cart-after { grid-area: after; padding: 0 20px 0 5px; }
.evess-cart-page .evc-cart-side { grid-area: side; align-self: stretch; padding: 0 5px 0 20px; border-left: 1px solid #eee; }
.evess-cart-page .evc-cart-box { background: #f8f8f8; padding: 24px 25px 30px; }
.evess-cart-page .evc-cart-box-title { margin: 0; padding: 0 0 13px; border-bottom: 1px solid #d9d9d9; font-size: 24px; line-height: 24px; font-weight: 700; text-transform: uppercase; color: #333; letter-spacing: .3px; }
.evess-cart-page .evc-cart-main .evc-section-title { margin: 0 0 8px !important; }

/* ---------- Products: the checkout summary's rows ---------- */
.evess-cart-page .evc-cart .evc-items { padding: 16px 0 8px; }
.evess-cart-page .evc-cart .evc-item { padding: 0 0 20px; margin: 0; list-style: none; }
.evess-cart-page .evc-cart .evc-item-image img { width: 60px; height: 60px; object-fit: cover; border-radius: 5px; display: block; }
.evess-cart-page .evc-cart .evc-item-name, .evess-cart-page .evc-cart .evc-item-name a { color: #333; }
.evess-cart-page .evc-cart .evc-item-prices del { opacity: 1; }
.evess-cart-page .evc-cart .evc-item-prices .discount-percentage { display: none; }
.evess-cart-page .evc-cart .evc-item-meta-wrap dl { margin: 4px 0 0; font-size: 13px; line-height: 15px; color: #737373; }
.evess-cart-page .evc-cart .evc-item-meta-wrap dt, .evess-cart-page .evc-cart .evc-item-meta-wrap dd { display: inline; margin: 0; }
.evess-cart-page .evc-cart .evc-item-meta-wrap dd p { display: inline; margin: 0; }
.evess-cart-page .evc-cart .evc-item-remove-wrap { align-self: center; }
.evess-cart-page .evc-cart a.evc-item-remove { display: block; font-size: 22px; line-height: 18px; color: #737373 !important; text-decoration: none; background: none !important; width: auto; height: auto; border-radius: 0; font-weight: 400; }
.evess-cart-page .evc-cart a.evc-item-remove:hover { color: #333 !important; }
/* WooCommerce's quantity field shown as the middle of the "- 1 +" buttons */
.evess-cart-page .evc-qty .quantity { display: contents; }
.evess-cart-page .evc-qty .screen-reader-text, .evess-cart-page .evc-cart .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.evess-cart-page .evc-qty input.qty { width: 30px; height: 30px; margin: 0; padding: 0; border: 0; border-left: 1px solid #d9d9d9; border-right: 1px solid #d9d9d9; border-radius: 0; background: none; text-align: center; font: inherit; font-size: 12px; font-weight: 700; color: #333; -moz-appearance: textfield; appearance: textfield; box-shadow: none; }
.evess-cart-page .evc-qty input.qty::-webkit-outer-spin-button, .evess-cart-page .evc-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.evess-cart-page .evc-qty input.qty:focus { outline: 0; background: #f4f4f4; }
.evess-cart-page .evc-qty-fixed { font-size: 14px; color: #737373; }
.evess-cart-page .evc-qty-fixed input.qty { width: auto; border: 0; background: none; font: inherit; }

/* ---------- Below the products: "« Fortsätt handla" ---------- */
.evess-cart-page .evc-cart-nav { display: flex; align-items: center; justify-content: space-between; margin: 13px 0 0; }
/* The update button is pressed by the quantity buttons; WooCommerce needs it in the form */
.evess-cart-page .evc-update-cart { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); border: 0; }

/* ---------- Grey box: discount code, totals, button ---------- */
.evess-cart-page .evc-cart .evc-coupon { flex-wrap: wrap; margin: 24px 0 0; }
.evess-cart-page .evc-cart .coupon-error-notice { flex-basis: 100%; margin: 10px 0 0; font-size: 14px; font-weight: 300; color: #f04f63; }
.evess-cart-page .evc-cart .coupon-error-notice::before { display: none; }
.evess-cart-page .evc-cart #coupon_code[aria-invalid="true"] { box-shadow: 0 0 0 1px #f04f63; }
.evess-cart-page .evc-cart .evc-totals { margin-top: 16px; }
.evess-cart-page .evc-cart .evc-row .amount, .evess-cart-page .evc-cart .evc-row bdi { font-weight: inherit; }
.evess-cart-page .evc-cart .evc-row-vat { margin-bottom: 4px; }
.evess-cart-page .evc-proceed { margin: 24px 0 0; padding: 0; }
.evess-cart-page .evc-proceed a.checkout-button { display: flex; align-items: center; justify-content: center; width: 100%; height: 56px; margin: 0; padding: 0 16px; background: #333 !important; border: 1px solid #333; border-radius: 5px; color: #fff !important; font-family: inherit; font-size: 16px !important; font-weight: 400; letter-spacing: .3px; line-height: 1; text-decoration: none; text-transform: none; box-shadow: none; transition: all .3s ease-in-out; }
.evess-cart-page .evc-proceed a.checkout-button:hover { background: #555 !important; border-color: #555; }
.evess-cart-page .evc-proceed > * + * { margin-top: 12px; }

/* ---------- Updating (quantity, remove, discount code): the checkout's grey shimmer ---------- */
.evess-cart-page .evc-cart .blockUI { display: none !important; }
.evess-cart-page .evc-cart.processing .evc-item-image,
.evess-cart-page .evc-cart.processing .evc-item-prices,
.evess-cart-page .evc-cart.processing .evc-qty,
.evess-cart-page .evc-cart.processing .evc-item-edit,
.evess-cart-page .evc-cart.processing .evc-item-total,
.evess-cart-page .evc-cart.processing .evc-item-remove-wrap,
.evess-cart-page .evc-cart.processing .evc-coupon button,
.evess-cart-page .evc-cart.processing .evc-proceed a.checkout-button { position: relative !important; pointer-events: none; color: transparent !important; border-color: transparent !important; background: transparent !important; box-shadow: none !important; }
.evess-cart-page .evc-cart.processing .evc-item-image > *,
.evess-cart-page .evc-cart.processing .evc-item-prices > *,
.evess-cart-page .evc-cart.processing .evc-qty > *,
.evess-cart-page .evc-cart.processing .evc-item-edit > *,
.evess-cart-page .evc-cart.processing .evc-item-total > *,
.evess-cart-page .evc-cart.processing .evc-item-remove-wrap > *,
.evess-cart-page .evc-cart.processing .evc-coupon button > *,
.evess-cart-page .evc-cart.processing .evc-proceed a.checkout-button > * { visibility: hidden; }
.evess-cart-page .evc-cart.processing .evc-item-image::after,
.evess-cart-page .evc-cart.processing .evc-item-prices::after,
.evess-cart-page .evc-cart.processing .evc-qty::after,
.evess-cart-page .evc-cart.processing .evc-item-edit::after,
.evess-cart-page .evc-cart.processing .evc-item-total::after,
.evess-cart-page .evc-cart.processing .evc-item-remove-wrap::after,
.evess-cart-page .evc-cart.processing .evc-coupon button::after,
.evess-cart-page .evc-cart.processing .evc-proceed a.checkout-button::after { content: " " !important; display: block !important; position: absolute !important; top: 0; right: 0; bottom: 0; left: 0; margin: 0; border-radius: 5px; background-color: transparent !important; background-image: linear-gradient(to right, #eff1f3 4%, #e2e2e2 25%, #eff1f3 36%) !important; background-repeat: repeat !important; background-size: 1000px 100% !important; animation: evc-shimmer 1s linear infinite; z-index: 10000; }
.evess-cart-page .evc-cart.processing .evc-item-name { position: relative !important; pointer-events: none; color: transparent !important; border-color: transparent !important; background: transparent !important; box-shadow: none !important; }
.evess-cart-page .evc-cart.processing .evc-item-name > * { visibility: hidden; }
.evess-cart-page .evc-cart.processing .evc-item-name::after { content: " " !important; display: block !important; position: absolute !important; top: 0; right: 0; bottom: 0; left: 0; margin: -2px 0; border-radius: 5px; background-color: transparent !important; background-image: linear-gradient(to right, #eff1f3 4%, #e2e2e2 25%, #eff1f3 36%) !important; background-repeat: repeat !important; background-size: 1000px 100% !important; animation: evc-shimmer 1s linear infinite; z-index: 10000; }
.evess-cart-page .evc-cart.processing .evc-totals .evc-row { position: relative !important; pointer-events: none; color: transparent !important; border-color: transparent !important; background: transparent !important; box-shadow: none !important; }
.evess-cart-page .evc-cart.processing .evc-totals .evc-row > * { visibility: hidden; }
.evess-cart-page .evc-cart.processing .evc-totals .evc-row::after { content: " " !important; display: block !important; position: absolute !important; top: 0; right: 0; bottom: 0; left: 0; margin: .75em 0; border-radius: 5px; background-color: transparent !important; background-image: linear-gradient(to right, #eff1f3 4%, #e2e2e2 25%, #eff1f3 36%) !important; background-repeat: repeat !important; background-size: 1000px 100% !important; animation: evc-shimmer 1s linear infinite; z-index: 10000; }

/* ---------- Notices ("Rabattkoden har tillämpats", "… borttagen. Ångra?") ---------- */
.evess-cart-page .woocommerce-notices-wrapper > *, .evess-cart-page .evc-main .woocommerce > .woocommerce-message, .evess-cart-page .evc-main .woocommerce > .woocommerce-info, .evess-cart-page .evc-main .woocommerce > .woocommerce-error { margin: 0 5px 24px; padding: 14px 16px; list-style: none; background: #f8f8f8; border: 0; border-left: 4px solid #0073aa; border-radius: 0; font-size: 14px; line-height: 20px; color: #333; }
.evess-cart-page .woocommerce-notices-wrapper .woocommerce-error, .evess-cart-page .woocommerce-notices-wrapper .is-error { border-left-color: #f04f63; }
.evess-cart-page .woocommerce-notices-wrapper > *::before { display: none; }
.evess-cart-page .woocommerce-notices-wrapper a { color: #0073aa; }
.evess-cart-page .woocommerce-notices-wrapper .button { float: none; margin: 0 0 0 8px; padding: 0; background: none; color: #0073aa; font-size: 14px; }

/* ---------- Empty cart ---------- */
.evess-cart-page .cart-empty.woocommerce-info { max-width: 640px; margin: 24px auto 24px; padding: 0; background: none; border: 0; text-align: center; font-size: 16px; color: #333; }
.evess-cart-page .cart-empty.woocommerce-info::before { display: none; }
.evess-cart-page .return-to-shop { text-align: center; margin: 0 0 40px; }
.evess-cart-page .return-to-shop .button { display: inline-flex; align-items: center; justify-content: center; height: 56px; padding: 0 24px; background: #333; border: 1px solid #333; border-radius: 5px; color: #fff; font-family: inherit; font-size: 16px; font-weight: 400; letter-spacing: .3px; text-transform: none; }
.evess-cart-page .return-to-shop .button:hover { background: #555; border-color: #555; }

/* ---------- "Vi rekommenderar också" ---------- */
.evess-cart-page .evc-cart-cross { margin-top: 48px; }
.evess-cart-page .evc-cart-cross .cross-sells > h2 { margin: 0 0 24px; font-family: inherit; font-size: 24px; line-height: 24px; font-weight: 700; text-transform: uppercase; color: #333; letter-spacing: .3px; }

/* ---------- Phones: one column - products, grey box, then the rest ---------- */
@media (max-width: 1159px) {
    .evess-cart-page .evc-cart { grid-template-columns: minmax(0, 1fr) 380px; }
}
@media (max-width: 699px) {
    .evess-cart-page .evc-cart { grid-template-columns: minmax(0, 1fr); grid-template-areas: "main" "side" "after"; }
    .evess-cart-page .evc-cart-main, .evess-cart-page .evc-cart-after { padding: 0; }
    .evess-cart-page .evc-cart-side { padding: 0; border: 0; margin: 8px -20px 0; }
    .evess-cart-page .evc-cart-box { padding: 24px 20px 30px; background: #fafafa; }
    .evess-cart-page .evc-cart-nav { justify-content: center; margin-top: 30px; }
    .evess-cart-page .evc-cart-main .evc-section-title { margin-top: 24px !important; }
}

/* Recommended product cards: the checkout's text sizes and black buttons */
.evess-cart-page .evc-cart-cross ul.products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; margin: 0; padding: 0; list-style: none; }
.evess-cart-page .evc-cart-cross ul.products::before, .evess-cart-page .evc-cart-cross ul.products::after { display: none; }
.evess-cart-page .evc-cart-cross li.product { display: flex; flex-direction: column; width: auto !important; margin: 0 !important; padding: 0; float: none !important; text-align: left; }
.evess-cart-page .evc-cart-cross li.product a.woocommerce-loop-product__link { display: flex; flex-direction: column; flex: 1; color: #333; }
.evess-cart-page .evc-cart-cross li.product img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; margin: 0 0 12px !important; border-radius: 5px; background: #fff; }
.evess-cart-page .evc-cart-cross .woocommerce-loop-product__title { margin: 0 0 6px !important; padding: 0 !important; font-family: inherit !important; font-size: 16px !important; line-height: 20px !important; font-weight: 400 !important; letter-spacing: .3px !important; color: #333 !important; text-transform: none !important; }
.evess-cart-page .evc-cart-cross .price { display: block; margin: 0 0 12px !important; font-size: 16px !important; line-height: 18px; font-weight: 400; color: #333 !important; }
.evess-cart-page .evc-cart-cross .price .amount { font-size: inherit; }
.evess-cart-page .evc-cart-cross .price .original-price-pre { display: none; }
.evess-cart-page .evc-cart-cross .price del { color: #333; opacity: 1; }
.evess-cart-page .evc-cart-cross .price ins { text-decoration: underline; background: none; }
.evess-cart-page .evc-cart-cross li.product .button { display: flex; align-items: center; justify-content: center; width: 100%; height: 42px; margin: 0 !important; padding: 0 12px; background: #333 !important; border: 1px solid #333; border-radius: 5px; color: #fff !important; font-family: inherit; font-size: 14px !important; font-weight: 400 !important; letter-spacing: .3px; text-transform: none; line-height: 1; box-shadow: none; transition: all .3s ease-in-out; }
.evess-cart-page .evc-cart-cross li.product .button:hover { background: #555 !important; border-color: #555; }
.evess-cart-page .evc-cart-cross li.product .button.loading { opacity: .6; }
.evess-cart-page .evc-cart-cross li.product .added_to_cart { display: none; }
@media (max-width: 699px) {
    .evess-cart-page .evc-cart-cross { margin-top: 40px; }
    .evess-cart-page .evc-cart-cross ul.products { gap: 24px 12px; }
}
.evess-cart-page .evc-cart-cross li.product a.button { display: flex !important; align-items: center !important; justify-content: center !important; text-align: center !important; height: 42px !important; padding: 0 12px !important; line-height: 1 !important; width: 100% !important; }
/* The theme limits cart images to 55% width on phones */
.evess-cart-page .evc-cart .evc-item-image img { max-width: none !important; min-width: 60px; }
/* While updating: discount field shimmers too; "Totalt" bar covers the VAT line (as in the checkout) */
.evess-cart-page .evc-cart.processing #coupon_code { pointer-events: none; color: transparent !important; border-color: transparent !important; background-color: transparent !important; background-image: linear-gradient(to right, #eff1f3 4%, #e2e2e2 25%, #eff1f3 36%) !important; background-size: 1000px 100% !important; animation: evc-shimmer 1s linear infinite; }
.evess-cart-page .evc-cart.processing #coupon_code::placeholder { color: transparent; }
.evess-cart-page .evc-cart.processing .evc-row-vat { color: transparent !important; }
.evess-cart-page .evc-cart.processing .evc-row-vat * { visibility: hidden; }
.evess-cart-page .evc-cart.processing .evc-totals .evc-row-total { border-color: #eff1f3 !important; }
.evess-cart-page .evc-cart.processing .evc-totals .evc-row-total::after { margin: .75em 0 -14px !important; }
