/* Scoped to the cart: native WooCommerce Blocks, Ember's colours and typography. */
.ember-cart-page {
	--cart-line: #39332d;
	--cart-muted: #bcb4aa;
	--wc-block-components-main-color: #e0463e;
	--wc-block-components-main-color-rgb: 224, 70, 62;
}
.ember-cart-page #content > .col-full { max-width: 1320px; }
/* Shop and cart share their decorative backdrop in commerce.css. */
.ember-cart-page .content-area { float: none; width: 100%; margin: 0; }
.ember-cart-page .ember-cart-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 52px 0 32px; }
.ember-cart-page .ember-cart-heading h1 { margin: 0; font-size: clamp(36px, 4vw, 52px); }
.ember-cart-page .ember-cart-eyebrow { margin: 0 0 12px; color: var(--cart-muted); font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.ember-cart-heading .ember-cart-eyebrow { display: flex; align-items: center; gap: 10px; }
.ember-cart-heading .ember-cart-eyebrow::before { content: ''; width: 18px; height: 2px; background: var(--ember-brand); }
.ember-cart-continue { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; min-height: 44px; color: var(--ember-ink-2); font-size: 13px; text-decoration: none; }
.ember-cart-continue .ember-icon { width: 18px; height: 18px; }
.ember-cart-continue:hover { color: #fff; }
body.ember-cart-page .site-content .entry-content { padding: 0; overflow: visible; border-radius: 0; background: transparent; color: var(--ember-ink); color-scheme: dark; }
body.ember-cart-page .site-content .entry-content :is(h1, h2, h3, a:not(.wp-element-button)) { color: var(--ember-ink); }
body.ember-cart-page .site-content .wc-block-cart { margin: 0; color: var(--ember-ink); font-size: 14px; }
body.ember-theme.ember-cart-page .site-content .hentry .entry-content .wp-block-woocommerce-cart { width: 100%; max-width: 100%; margin: 0; }
.ember-cart-page .wc-block-cart__main { min-width: 0; }
body.ember-cart-page .site-content table.wc-block-cart-items { margin: 0; }
body.ember-cart-page .site-content .wc-block-cart-items thead th { padding: 0 0 16px; color: var(--cart-muted); font-size: 11px; font-weight: 600; letter-spacing: .1em; }
body.ember-cart-page .site-content .wc-block-cart-items tbody td { padding-top: 26px; padding-bottom: 26px; border-top: 1px solid var(--cart-line); vertical-align: top; }
body.ember-cart-page .site-content .wc-block-cart-items .wc-block-cart-item__image { width: 132px; padding-right: 24px; }
body.ember-cart-page .site-content .wc-block-cart-item__image img { width: 108px; height: 124px; max-width: none; border: 1px solid var(--cart-line); border-radius: 8px; object-fit: contain; background: var(--ember-surface); }
body.ember-cart-page .site-content .wc-block-cart-item__product { padding-right: 20px; }
body.ember-cart-page .site-content .wc-block-cart-item__wrap { padding: 0; }
body.ember-cart-page .site-content .wc-block-components-product-name { font-size: 16px; font-weight: 650; line-height: 1.5; text-decoration: none; overflow-wrap: anywhere; }
.ember-cart-page .wc-block-components-product-name:hover { text-decoration: underline !important; }
.ember-cart-page .wc-block-cart-item__prices { margin-top: 7px; color: var(--cart-muted); font-size: 13px; }
/* Keep variation attributes and extensions; only the repeated marketing excerpt is omitted. */
.ember-cart-page .wc-block-components-product-metadata__description { display: none; }
.ember-cart-page .wc-block-components-product-metadata { margin: 8px 0; color: var(--cart-muted); font-size: 12px; }
.ember-cart-page .wc-block-components-product-details { line-height: 1.7; }
body.ember-cart-page .site-content .wc-block-cart-item__total { width: 120px; padding-left: 8px; font-size: 15px; font-weight: 650; }
.ember-cart-page .wc-block-cart-item__total .wc-block-components-product-price { white-space: nowrap; }
body.ember-cart-page .site-content .wc-block-cart-item__quantity { display: flex; align-items: center; gap: 14px; margin-top: 16px; padding-top: 0; }
body.ember-cart-page .site-content .wc-block-components-quantity-selector { width: 126px; min-width: 126px; height: 42px; margin: 0; border: 1px solid var(--cart-line); border-radius: 6px; background: var(--ember-surface); color: var(--ember-ink); }
.ember-cart-page .wc-block-components-quantity-selector::after { display: none; }
body.ember-cart-page .site-content .wc-block-components-quantity-selector :is(input, button) { min-width: 0; width: 41px; min-height: 40px; padding: 0; border: 0; background: transparent; color: var(--ember-ink); box-shadow: none; font-size: 16px; }
.ember-cart-page .wc-block-components-quantity-selector button:disabled { opacity: .35; }
body.ember-cart-page .site-content .wc-block-cart-item__remove-link { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 8px; border: 0; border-radius: 6px; background: transparent; color: var(--cart-muted); }
body.ember-cart-page .site-content .wc-block-cart-item__remove-link:hover { background: var(--ember-surface-2); color: #fff; }
body.ember-cart-page .site-content .wc-block-cart__sidebar { padding: 28px; border: 1px solid var(--cart-line); border-top-color: #684039; border-radius: 12px; background: linear-gradient(145deg, rgba(182, 45, 43, .045), transparent 45%), var(--ember-surface); color: var(--ember-ink); box-shadow: 0 20px 60px -35px #000; }
body.ember-cart-page .site-content .wc-block-cart__totals-title { display: block; padding: 0 0 24px; font-size: 19px; line-height: 1.4; font-weight: 900; letter-spacing: .02em; text-align: left; }
.ember-cart-page .wc-block-components-totals-wrapper { padding: 18px 0; border-color: var(--cart-line); }
.ember-cart-page .wc-block-components-totals-wrapper:empty { display: none; }
.ember-cart-page .wc-block-components-totals-item,
.ember-cart-page .wc-block-components-totals-coupon { padding-right: 0; padding-left: 0; font-size: 14px; }
.ember-cart-page .wc-block-components-totals-item__description { color: var(--cart-muted); font-size: 12px; }
/* The cart quotes no total. Shipping depends on the order value and is shown in checkout,
   so Woo's footer row would present an estimate as the sum the customer pays. */
.ember-cart-page .wc-block-components-totals-footer-item,
.ember-cart-page .wc-block-components-totals-footer-item-tax { display: none; }
.ember-cart-page .wc-block-components-totals-wrapper:has(> .wc-block-components-totals-footer-item) { display: none; }
.ember-cart-page .wc-block-components-panel__button { min-height: 32px; color: var(--ember-ink-2); }
body.ember-cart-page .site-content .wc-block-components-text-input input,
body.ember-cart-page .site-content .wc-block-components-combobox input,
body.ember-cart-page .site-content .wc-block-components-select select { min-height: 52px; border: 1px solid #82766a; border-radius: 6px; background: var(--ember-bg); color: var(--ember-ink); font-size: 16px; }
.ember-cart-page .wc-block-components-text-input label,
.ember-cart-page .wc-block-components-select label { color: var(--cart-muted); }
.ember-cart-page .wc-block-components-radio-control__option { color: var(--ember-ink); }
.ember-cart-page .wc-block-components-radio-control__input { background: var(--ember-bg); border-color: var(--cart-muted); }
.ember-cart-page .wc-block-components-totals-discount__coupon-list-item { background: var(--ember-surface-2); color: var(--ember-ink); }
body.ember-cart-page .site-content .wc-block-cart__submit { margin: 14px 0 0; }
/* Woo's wrapper is white by default and showed through the button's round corners. */
body.ember-cart-page .site-content .wc-block-cart__submit-container { background: transparent; }
body.ember-cart-page .site-content .wc-block-cart .wc-block-cart__submit-button.wp-element-button:not(.is-link) { width: 100%; min-height: 56px; border: 0; border-radius: 6px; background: var(--ember-brand); color: #fff; font-size: 15px; box-shadow: none; }
body.ember-cart-page .site-content .wc-block-cart .wc-block-cart__submit-button.wp-element-button:not(.is-link):hover { background: #982523; }
.ember-cart-page .wc-block-cart__submit-button .wc-block-components-button__text { display: flex; align-items: center; justify-content: center; gap: 18px; }
.ember-cart-page .wc-block-cart__submit-button .wc-block-components-button__text::after { content: '\2192'; font-size: 22px; font-weight: 400; }
/* Woo's mobile floating bar retains its native visibility and reserve space. */
body.ember-cart-page .site-content .wc-block-cart__submit-container--sticky { padding: 12px max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); border-top: 1px solid var(--cart-line); background: var(--ember-surface); box-shadow: 0 -8px 24px #0003; }
.ember-cart-page .wc-block-cart__submit-container::before { display: none; }
.ember-cart-nojs { padding: 24px; border: 1px solid var(--cart-line); border-radius: 8px; background: var(--ember-surface); }
.ember-cart-page .wc-block-components-notice-banner { color-scheme: light; }
body.ember-cart-page .site-content .wc-block-components-notice-banner a { color: inherit; }
.ember-cart-page .wc-block-components-product-badge { border-color: var(--cart-line); color: var(--ember-ink-2); }
.ember-cart-page .ember-cart-empty { display: flex; flex-direction: column; align-items: center; min-height: 420px; padding: 56px 24px; border: 1px solid var(--cart-line); border-radius: 12px; background: radial-gradient(ellipse at 50% 0, #b62d2b0d, transparent 65%), var(--ember-surface); text-align: center; }
.ember-cart-empty-icon { display: grid; place-items: center; width: 68px; height: 68px; margin-bottom: 28px; border: 1px solid #654039; border-radius: 50%; background: #b62d2b0d; color: var(--ember-ink-2); }
.ember-cart-empty-icon .ember-icon { width: 27px; height: 27px; }
body.ember-cart-page .site-content .ember-cart-empty h2 { margin-bottom: 14px; font-size: clamp(27px, 3vw, 38px); }
.ember-cart-empty > p:not(.ember-cart-eyebrow) { max-width: 390px; margin-bottom: 26px; color: var(--cart-muted); font-size: 14px; line-height: 1.8; }
body.ember-cart-page .site-content a.ember-cart-shop { display: inline-flex; justify-content: center; align-items: center; gap: 24px; min-height: 52px; padding: 14px 26px; border-radius: 6px; background: var(--ember-brand); color: #fff; font-size: 14px; text-decoration: none; }
body.ember-cart-page .site-content a.ember-cart-shop:hover { background: #982523; }
.ember-cart-shop .ember-icon { width: 18px; height: 18px; }
body.ember-cart-page .site-content a.ember-cart-guide { margin-top: 14px; padding: 8px; color: var(--cart-muted); font-size: 12px; }
/* Only checkout itemizes shipping. WooCommerce still owns the estimated cart total. */
.ember-cart-page .wc-block-components-totals-shipping .wc-block-components-totals-item__value,
.ember-cart-page .wc-block-components-totals-shipping .wc-block-components-totals-item__description { display: none; }
.ember-cart-page .wc-block-components-totals-shipping .wc-block-components-totals-item__label::after { font-weight: 400; color: var(--cart-muted); }
@media (min-width: 1000px) {
	body.ember-cart-page .site-content .wc-block-cart { display: flex; flex-wrap: wrap; align-items: flex-start; column-gap: 48px; }
	body.ember-cart-page .site-content .wc-block-cart__main { flex: 1; width: auto; padding: 0; }
	body.ember-cart-page .site-content .wc-block-cart__sidebar { flex: 0 0 360px; width: 360px; position: sticky; top: calc(var(--ember-header) + 24px); }
}
@media (max-width: 999px) {
	body.ember-cart-page .site-content .wc-block-cart { display: flex; flex-direction: column; gap: 28px; }
	body.ember-cart-page .site-content .wc-block-cart__main,
	body.ember-cart-page .site-content .wc-block-cart__sidebar { width: 100%; margin: 0; }
	body.ember-cart-page .site-content .wc-block-cart__main { padding: 0; }
}
@media (max-width: 600px) {
	.ember-cart-page .ember-cart-heading { gap: 12px; padding: 30px 0 24px; }
	.ember-cart-page .ember-cart-eyebrow { font-size: 9px; letter-spacing: .1em; }
	.ember-cart-continue { gap: 6px; font-size: 12px; }
	.ember-cart-continue .ember-icon { width: 15px; }
	body.ember-cart-page .site-content .wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 76px minmax(0, 1fr); gap: 0 16px; padding: 22px 0; border-top: 1px solid var(--cart-line); }
	body.ember-cart-page .site-content .wc-block-cart-items tbody td { padding: 0; border: 0; }
	body.ember-cart-page .site-content .wc-block-cart .wc-block-cart-items .wc-block-cart-item__image { grid-column: 1; grid-row: 1 / span 2; width: 76px; padding: 0; }
	body.ember-cart-page .site-content .wc-block-cart-item__image img { width: 76px; height: 92px; }
	body.ember-cart-page .site-content .wc-block-cart .wc-block-cart-items .wc-block-cart-item__product { grid-column: 2; grid-row: 1; }
	body.ember-cart-page .site-content .wc-block-cart .wc-block-cart-items .wc-block-cart-item__total { grid-column: 2; grid-row: 2; justify-content: flex-start; width: auto; padding-top: 14px; text-align: left; }
	body.ember-cart-page .site-content .wc-block-components-product-name { font-size: 14px; }
	body.ember-cart-page .site-content .wc-block-cart-item__quantity { gap: 8px; margin-top: 12px; }
	body.ember-cart-page .site-content .wc-block-cart__sidebar { padding: 22px 20px; }
	body.ember-cart-page .site-content .wc-block-cart__totals-title { padding-bottom: 18px; font-size: 18px; }
	.ember-cart-page .ember-cart-empty { min-height: 390px; padding: 38px 20px; }
}
