/* EE cart page v1 (8 Oct 2026). Items + order summary. Scoped to .ee-cart (ee-cart-page.php templates). */

body.ee-cart-page {
	--eec-navy: #0f172a;
	--eec-ink: #1e293b;
	--eec-text: #334155;
	--eec-muted: #64748b;
	--eec-line: #e5e7eb;
	--eec-soft: #f1f5f9;
	--eec-cream: #faf7f0;
	--eec-cream-line: #ece3cf;
	--eec-gold: #a68136;
	--eec-gold-dark: #7d5e1f;
	--eec-radius: 16px;
}

/* The page wrapper the Elementor widget gives us: no grey panel, no extra frame. */
body.ee-cart-page .ee-cart-widget,
body.ee-cart-page .ee-cart-widget > .elementor-widget-container,
body.ee-cart-page .elementor-widget-eael-woo-cart,
body.ee-cart-page .elementor-widget-eael-woo-cart > .elementor-widget-container {
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}
body.ee-cart-page .ee-cart-widget { width: 100% !important; max-width: 100% !important; }
body.ee-cart-page .ee-cart-widget .woocommerce,
body.ee-cart-page .elementor-widget-eael-woo-cart .woocommerce { margin: 0; }

.ee-cart {
	max-width: 1200px;
	margin: 0 auto;
	padding: 8px 0 56px;
	color: var(--eec-text);
	font-family: Poppins, Arial, Helvetica, sans-serif;
	font-size: 15px;
	line-height: 1.5;
}
.ee-cart *,
.ee-cart *::before,
.ee-cart *::after { box-sizing: border-box; }

/* Prices: the site's global orange, spaced price style doesn't belong here. */
body.ee-cart-page .ee-cart .woocommerce-Price-amount bdi,
body.ee-cart-page .ee-cart .woocommerce-Price-amount .woocommerce-Price-currencySymbol { color: inherit !important; letter-spacing: 0 !important; }

/* The page's own top margin (Elementor container) is far larger than the cart needs. */
body.ee-cart-page .elementor-element-f32dd22,
body.ee-cart-page .e-con:has(> .e-con-inner > .ee-cart-widget) { margin-top: 32px !important; }
@media (max-width: 640px) {
	body.ee-cart-page .elementor-element-f32dd22,
	body.ee-cart-page .e-con:has(> .e-con-inner > .ee-cart-widget) { margin-top: 18px !important; }
}

/* ---------------------------------------------------------------- notices */
.ee-cart .woocommerce-notices-wrapper:empty { display: none; }
.ee-cart .woocommerce-notices-wrapper { margin: 0 0 16px; }
.ee-cart .woocommerce-message,
.ee-cart .woocommerce-info,
.ee-cart .woocommerce-error {
	margin: 0 0 10px !important;
	padding: 12px 16px !important;
	border: 1px solid var(--eec-cream-line) !important;
	border-radius: 12px !important;
	background: var(--eec-cream) !important;
	color: var(--eec-ink) !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
	box-shadow: none !important;
	outline: 0 !important;
}
.ee-cart .woocommerce-error { border-color: #f3c9c4 !important; background: #fff5f4 !important; }
.ee-cart .woocommerce-message::before,
.ee-cart .woocommerce-info::before,
.ee-cart .woocommerce-error::before { display: none !important; }
.ee-cart .woocommerce-message .button.wc-forward { display: none !important; } /* "View cart" on the cart page */
.ee-cart .woocommerce-message a.restore-item { margin-left: 6px; font-weight: 600; color: var(--eec-navy); text-decoration: underline; }

/* ---------------------------------------------------------------- heading */
.ee-cart__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 20px;
	flex-wrap: wrap;
	margin: 4px 0 20px;
}
.ee-cart .ee-cart__title {
	margin: 0;
	font-family: Montserrat, Arial, Helvetica, sans-serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--eec-navy);
	text-transform: none;
}
.ee-cart__count {
	margin-left: 8px;
	font-family: Poppins, Arial, Helvetica, sans-serif;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
	color: var(--eec-muted);
	white-space: nowrap;
}
.ee-cart .ee-cart__continue {
	font-size: 14px;
	font-weight: 600;
	color: var(--eec-navy);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ---------------------------------------------------------------- layout */
.ee-cart__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: 32px;
	align-items: start;
}
.ee-cart__main { min-width: 0; }
.ee-cart__side { position: sticky; top: 24px; min-width: 0; }
.admin-bar .ee-cart__side { top: 56px; }

/* Items first, then rewards, then the code box; anything else other plugins print after. */
.ee-cart__form { display: flex; flex-direction: column; margin: 0; }
.ee-cart__form > * { order: 4; }
.ee-cart__form > .ee-cart__items,
.ee-cart__form > .responsive-table { order: 1; }
.ee-cart__form > #ee-aov-progress,
.ee-cart__form > .ee-aov-progress { order: 2; margin: 16px 0 0 !important; }
.ee-cart__form > .ee-cart__actions { order: 3; }
.ee-cart__form > #kami-progress-bar { display: none !important; }
/* Amounts in the rewards panel: gold-dark like its other accents (the site's pale orange is hard to read). */
html body.ee-cart-page .ee-cart #ee-aov-progress span.woocommerce-Price-amount.amount,
html body.ee-cart-page .ee-cart #ee-aov-progress span.woocommerce-Price-amount.amount bdi,
html body.ee-cart-page .ee-cart #ee-aov-progress span.woocommerce-Price-currencySymbol { color: var(--eec-gold-dark) !important; letter-spacing: 0 !important; }
/* "Add one of these" suggestions: one per row, so three never leave an orphan card in a two-column grid. */
.ee-cart #ee-aov-progress .ee-gc .ee-gc-list { grid-template-columns: minmax(0, 1fr) !important; }

/* ---------------------------------------------------------------- items */
.ee-cart .ee-cart__items {
	container: ee-items / inline-size;
	margin: 0;
	border: 1px solid var(--eec-line);
	border-radius: var(--eec-radius);
	background: #fff;
	overflow: hidden;
}
.ee-cart .ee-line {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr) auto 104px 34px;
	grid-template-areas: "thumb info qty sub rm";
	align-items: center;
	gap: 0 20px;
	margin: 0;
	padding: 18px 18px 18px 20px;
	background: #fff;
}
.ee-cart .ee-line + .ee-line { border-top: 1px solid var(--eec-soft); }
.ee-cart .ee-line--gift,
.ee-cart .ee-line.kami-free-gift {
	background: #fffcf5 !important;
	box-shadow: inset 3px 0 0 #c8a24e;
}

.ee-cart .ee-line__thumb {
	grid-area: thumb;
	width: 88px;
	height: 88px;
	padding: 0;
	border: 1px solid #eef0f3;
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
}
.ee-cart .ee-line__thumb a { display: block; width: 100%; height: 100%; }
.ee-cart .ee-line__thumb img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	margin: 0;
	padding: 6px;
	object-fit: contain;
	border-radius: 0;
}

.ee-cart .ee-line__info { grid-area: info; min-width: 0; padding: 0; text-align: left; }
.ee-cart .ee-line__name,
.ee-cart .ee-line__name a {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--eec-navy);
	text-decoration: none;
}
.ee-cart .ee-line__name a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ee-cart .ee-line__name .ee-gift-badge { margin-top: 6px; font-size: 12px; }
.ee-cart .ee-line__name br + .ee-gift-badge { margin-top: 6px; }

/* Item details (bottle offer, stack, plan): one quiet line each. */
.ee-cart .ee-line__info dl.variation,
.ee-cart .ee-line__info .wc-item-meta,
.ee-cart .ee-line__info .mb-cart-meta,
.ee-cart .ee-line__info > p,
.ee-cart .ee-line__info > div:not(.ee-line__name):not(.ee-line__price) {
	margin: 4px 0 0;
	font-size: 13px;
	line-height: 1.45;
	color: var(--eec-muted);
}
.ee-cart .ee-line__info dl.variation dt,
.ee-cart .ee-line__info dl.variation dd,
.ee-cart .ee-line__info dl.variation dd p {
	display: inline;
	margin: 0;
	padding: 0;
	font-size: 13px;
	font-weight: 500;
	color: var(--eec-muted);
}
.ee-cart .ee-line__info dl.variation dd::after { content: ""; display: block; }
.ee-cart .ee-line__info strong,
.ee-cart .ee-line__info b { font-weight: 600; color: var(--eec-text); }

.ee-cart .ee-line__price {
	margin: 6px 0 0;
	padding: 0;
	font-size: 13px;
	line-height: 1.4;
	color: var(--eec-muted);
	text-align: left;
}
.ee-cart .ee-line__price .amount,
.ee-cart .ee-line__price .woocommerce-Price-amount { color: var(--eec-text) !important; font-size: 13px !important; font-weight: 500 !important; letter-spacing: 0 !important; }
.ee-cart .ee-line__price > .woocommerce-Price-amount::after,
.ee-cart .ee-line__price ins > .woocommerce-Price-amount::after { content: " each"; color: var(--eec-muted); font-weight: 400; }
.ee-cart .ee-line__price del,
.ee-cart .ee-line__price del .amount { color: #94a3b8 !important; font-weight: 400 !important; }
.ee-cart .ee-line__price ins { text-decoration: none; }
.ee-cart .ee-line__price .ees-line-note { font-size: 13px; color: var(--eec-gold-dark); font-weight: 500; white-space: nowrap; }
.ee-cart .ee-line__price .ee-gift-free { font-size: 13px; }
.ee-cart .ee-line--gift .ee-line__price { display: none; }

/* Quantity: one pill, minus / number / plus. */
.ee-cart .ee-line__qty { grid-area: qty; padding: 0; }
.ee-cart .ee-line__qty .quantity {
	display: inline-flex !important;
	align-items: center;
	height: 40px;
	margin: 0 !important;
	padding: 3px;
	border: 1px solid #dfe3ea;
	border-radius: 999px;
	background: #fff;
	vertical-align: middle;
}
.ee-cart .ee-line__qty .quantity.hidden { display: none !important; }
.ee-cart .ee-line__qty .quantity input.minus,
.ee-cart .ee-line__qty .quantity input.plus {
	width: 32px !important;
	height: 32px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--eec-navy) !important;
	font-size: 17px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	cursor: pointer;
}
.ee-cart .ee-line__qty .quantity input.minus:hover,
.ee-cart .ee-line__qty .quantity input.plus:hover,
.ee-cart .ee-line__qty .quantity input.minus:focus-visible,
.ee-cart .ee-line__qty .quantity input.plus:focus-visible { background: var(--eec-soft) !important; }
.ee-cart .ee-line__qty .quantity input.qty {
	width: 38px !important;
	height: 32px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--eec-navy) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}
.ee-cart .ee-line__qty .quantity input.qty::-webkit-outer-spin-button,
.ee-cart .ee-line__qty .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
/* A gift's quantity is fixed at one and its badge already says so: no lone "1" in the row. The field stays in
   the form (hidden, not removed) so the cart still posts it. */
.ee-cart .ee-line--gift .ee-line__qty { visibility: hidden; }

.ee-cart .ee-line__subtotal {
	grid-area: sub;
	padding: 0;
	text-align: right;
	white-space: nowrap;
}
.ee-cart .ee-line__subtotal,
.ee-cart .ee-line__subtotal .amount,
.ee-cart .ee-line__subtotal .woocommerce-Price-amount {
	color: var(--eec-navy) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
}
.ee-cart .ee-line__subtotal small,
.ee-cart .ee-line__subtotal .ees-line-note { display: block; font-size: 12px; font-weight: 500; color: var(--eec-muted); white-space: normal; }
.ee-cart .ee-line__subtotal .ee-gift-free { font-size: 15px !important; }

.ee-cart .ee-line__remove { grid-area: rm; justify-self: end; padding: 0; }
.ee-cart .ee-line__remove a.remove {
	display: grid !important;
	place-items: center;
	width: 34px !important;
	height: 34px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: #94a3b8 !important;
	font-size: 0 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}
.ee-cart .ee-line__remove a.remove:hover,
.ee-cart .ee-line__remove a.remove:focus-visible { background: var(--eec-soft) !important; color: var(--eec-navy) !important; }
.ee-cart .ee-line__remove a.remove svg { display: block; }
.ee-cart .ee-line__remove a.remove::before,
.ee-cart .ee-line__remove a.remove::after { display: none !important; }

/* ---------------------------------------------------------------- code box + update */
.ee-cart .ee-cart__actions {
	display: block;
	margin: 14px 2px 0;
	padding: 0;
	border: 0;
	background: none;
}
.ee-cart .ee-cart__coupon { margin: 0; }
.ee-cart .ee-cart__coupon > summary {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	list-style: none;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	color: var(--eec-navy);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.ee-cart .ee-cart__coupon > summary::-webkit-details-marker { display: none; }
.ee-cart .ee-cart__coupon > summary::after {
	content: "";
	width: 7px;
	height: 7px;
	margin-top: -3px;
	border-right: 1.6px solid currentColor;
	border-bottom: 1.6px solid currentColor;
	transform: rotate(45deg);
}
.ee-cart .ee-cart__coupon[open] > summary::after { margin-top: 3px; transform: rotate(-135deg); }
.ee-cart .ee-cart__coupon .coupon {
	display: flex !important;
	flex-wrap: wrap;
	gap: 8px;
	max-width: 440px;
	margin: 10px 0 0;
	padding: 0;
	float: none;
	width: auto;
}
.ee-cart .ee-cart__coupon #coupon_code {
	flex: 1 1 200px;
	width: auto !important;
	height: 44px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 14px !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: var(--eec-navy) !important;
	font-size: 15px !important;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.ee-cart .ee-cart__coupon #coupon_code::placeholder { text-transform: none; letter-spacing: 0; color: #94a3b8; }
.ee-cart .ee-cart__coupon #coupon_code:focus { border-color: var(--eec-navy) !important; outline: 2px solid rgba(15, 23, 42, .12); outline-offset: 0; }
.ee-cart .ee-cart__coupon .ee-cart__apply {
	flex: 0 0 auto;
	height: 44px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 20px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--eec-navy) !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
}
.ee-cart .ee-cart__coupon .coupon-error-notice { flex-basis: 100%; margin: 2px 0 0; color: #b42318; font-size: 13px; }
/* Quantities save on their own: the button stays for the form, out of sight. */
.ee-cart-js .ee-cart .ee-cart__update {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	border: 0 !important;
}
.ee-cart .ee-cart__update {
	margin-top: 12px;
	height: 40px;
	padding: 0 18px;
	border: 1px solid #cbd5e1;
	border-radius: 10px;
	background: #fff;
	color: var(--eec-navy);
	font-size: 14px;
	font-weight: 600;
	text-transform: none;
}

/* ---------------------------------------------------------------- order summary */
.ee-cart .cart-collaterals { width: auto; float: none; margin: 0; padding: 0; }
.ee-cart .cart-collaterals::before,
.ee-cart .cart-collaterals::after { display: none; }
.ee-cart .cart_totals.ee-summary {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 22px 22px 18px !important;
	border: 1px solid var(--eec-line) !important;
	border-radius: var(--eec-radius) !important;
	background: #fff !important;
	box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
}
.ee-cart .ee-summary .ee-summary__title {
	margin: 0 0 10px;
	padding: 0;
	font-family: Montserrat, Arial, Helvetica, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0;
	color: var(--eec-navy);
	text-transform: none;
}
.ee-cart .ee-summary table.ee-summary__table {
	display: table !important;
	width: 100%;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: collapse;
	background: none;
}
.ee-cart .ee-summary table.ee-summary__table tbody { display: table-row-group !important; }
.ee-cart .ee-summary table.ee-summary__table tr { display: table-row !important; }
.ee-cart .ee-summary table.ee-summary__table tr,
.ee-cart .ee-summary table.ee-summary__table th,
.ee-cart .ee-summary table.ee-summary__table td { background: none !important; }
.ee-cart .ee-summary table.ee-summary__table th,
.ee-cart .ee-summary table.ee-summary__table td {
	display: table-cell !important;
	padding: 9px 0 !important;
	border: 0 !important;
	vertical-align: top;
	font-size: 14px !important;
	line-height: 1.45;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.ee-cart .ee-summary table.ee-summary__table td::before { display: none !important; } /* responsive-table labels */
.ee-cart .ee-summary table.ee-summary__table th { width: auto; padding-right: 12px !important; text-align: left; font-weight: 500 !important; color: #475569 !important; }
.ee-cart .ee-summary table.ee-summary__table td { text-align: right; font-weight: 500; color: var(--eec-navy); }
.ee-cart .ee-summary table.ee-summary__table .amount {
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	color: var(--eec-navy) !important;
}
body.ee-cart-page .ee-cart .ee-summary tr.fee td,
body.ee-cart-page .ee-cart .ee-summary tr.fee td .amount,
body.ee-cart-page .ee-cart .ee-summary tr.cart-discount td,
body.ee-cart-page .ee-cart .ee-summary tr.cart-discount td .amount { color: var(--eec-gold-dark) !important; }
.ee-cart .ee-summary tr.cart-discount td a.woocommerce-remove-coupon { margin-left: 6px; font-size: 12px; font-weight: 500; color: var(--eec-muted); }
.ee-cart .ee-summary th small,
.ee-cart .ee-summary .ee-summary__note {
	display: block;
	margin-top: 2px;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--eec-muted);
}
.ee-cart .ee-summary .ee-summary__free { font-weight: 600; color: var(--eec-navy); }
.ee-cart .ee-summary .ee-summary__muted { color: var(--eec-muted); font-weight: 400; }
.ee-cart .ee-summary tr.order-total th,
.ee-cart .ee-summary tr.order-total td {
	padding-top: 14px !important;
	border-top: 1px solid var(--eec-line) !important;
	vertical-align: baseline;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--eec-navy) !important;
}
.ee-cart .ee-summary tr.order-total .amount { font-size: 22px !important; font-weight: 700 !important; }
.ee-cart .ee-summary tr.order-total small,
.ee-cart .ee-summary tr.order-total .includes_tax { display: block; font-size: 12px; font-weight: 400; color: var(--eec-muted); }
/* The delivery note sits in its own row under Shipping. */
.ee-cart .ee-summary tr.shipping:has(+ tr.ee-summary__shipnote) th,
.ee-cart .ee-summary tr.shipping:has(+ tr.ee-summary__shipnote) td { padding-bottom: 0 !important; }
.ee-cart .ee-summary table.ee-summary__table tr.ee-summary__shipnote td { padding: 0 0 9px !important; text-align: right; }
.ee-cart .ee-summary tr.ee-summary__shipnote .ee-summary__note { margin: 0; }
/* Pay-later and other rows plugins add after the total. */
.ee-cart .ee-summary table.ee-summary__table tr:not(.cart-subtotal):not(.order-total):not(.fee):not(.cart-discount):not(.shipping):not(.ee-summary__shipnote):not(.tax-total):not(.tax-rate) td { padding-top: 2px !important; font-size: 12px !important; color: var(--eec-muted); }

.ee-cart .ee-summary .ee-summary__gift {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 10px 0 2px;
	padding: 10px 12px;
	border: 1px solid #e4cf9f;
	border-radius: 10px;
	background: #fbf6ea;
	color: #5c4415 !important;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none !important;
}
.ee-cart .ee-summary .ee-summary__gift:hover { background: #f8f0dc; }
.ee-cart .ee-summary .wc-proceed-to-checkout { margin: 8px 0 0 !important; padding: 0 !important; }
.ee-cart .ee-summary .wc-proceed-to-checkout a.checkout-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	margin: 6px 0 0 !important;
	padding: 0 20px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--eec-navy) !important;
	color: #fff !important;
	font-family: Poppins, Arial, Helvetica, sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	box-shadow: 0 10px 22px rgba(15, 23, 42, .16) !important;
}
.ee-cart .ee-summary .wc-proceed-to-checkout a.checkout-button:hover,
.ee-cart .ee-summary .wc-proceed-to-checkout a.checkout-button:focus-visible { background: #1e293b !important; }
.ee-cart .ee-summary .wc-proceed-to-checkout a.checkout-button::after {
	content: "";
	width: 8px;
	height: 8px;
	margin-left: 10px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
}
.ee-cart .ee-summary .wc-proceed-to-checkout > *:not(.checkout-button) { margin-top: 10px; }
.ee-cart .ee-summary .wc_stripe_cart_payment_methods { margin: 10px 0 0 !important; padding: 0 !important; }
/* Wallet buttons (Apple Pay) under the checkout button: shown only once a button is actually in place. After a
   cart update the payments plugin re-prints its "or" line and a grey loading placeholder, and where Apple Pay
   isn't available (most browsers) it leaves them on screen. */
.ee-cart .ee-summary .wc-stripe-cart-checkout-container:not(:has(.wc_stripe_cart_payment_methods.active, [id$="-cart-button"] > *)) { display: none !important; }
.ee-cart .ee-summary .wc_stripe_cart_payment_methods li.or { margin: 6px 0 !important; font-size: 12px; color: var(--eec-muted); text-align: center; }

.ee-cart .ee-summary .ee-summary__plan {
	margin: 14px 0 0;
	padding: 12px 14px;
	border: 1px solid var(--eec-cream-line);
	border-radius: 12px;
	background: var(--eec-cream);
	font-size: 13px;
	line-height: 1.5;
	color: var(--eec-text);
}
.ee-cart .ee-summary .ee-summary__plan strong { display: block; margin-bottom: 2px; font-weight: 600; color: var(--eec-navy); }

.ee-cart .ee-summary .ee-summary__trust {
	display: grid;
	gap: 7px;
	margin: 16px 0 0;
	padding: 14px 0 0;
	border-top: 1px solid var(--eec-soft);
	list-style: none;
	font-size: 13px;
	line-height: 1.35;
	color: #475569;
}
.ee-cart .ee-summary .ee-summary__trust li {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
}
.ee-cart .ee-summary .ee-summary__trust li::before {
	content: "";
	flex: 0 0 15px;
	height: 15px;
	background: no-repeat center/15px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a68136' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}

/* Plugins' leftovers inside the summary we don't want here. */
.ee-cart .ee-summary .wcsatt-add-cart-to-subscription-wrapper { display: none !important; }

/* ---------------------------------------------------------------- cross-sells */
.ee-cart .ee-cart__main .cross-sells { margin: 36px 0 0; }
.ee-cart .ee-cart__main .cross-sells > h2 {
	margin: 0 0 14px;
	font-family: Montserrat, Arial, Helvetica, sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: var(--eec-navy);
	text-transform: none;
	letter-spacing: 0;
}

/* ---------------------------------------------------------------- phones: slim checkout bar */
.ee-cart-bar { display: none; }
@media (max-width: 900px) {
	.ee-cart-bar {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 990;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 14px;
		padding: 10px max(16px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
		border-top: 1px solid var(--eec-line);
		background: rgba(255, 255, 255, .97);
		box-shadow: 0 -8px 24px rgba(15, 23, 42, .10);
		font-family: Poppins, Arial, Helvetica, sans-serif;
		transform: translateY(115%);
		visibility: hidden; /* off screen is also out of the Tab order */
		transition: transform .2s ease, visibility 0s linear .2s;
	}
	.ee-cart-bar.is-on { transform: none; visibility: visible; transition: transform .2s ease, visibility 0s; }
	.ee-cart-bar__total { display: flex; flex-direction: column; line-height: 1.15; color: var(--eec-navy); }
	.ee-cart-bar__total small { font-size: 12px; font-weight: 500; color: var(--eec-muted); }
	.ee-cart-bar__total strong { font-size: 18px; font-weight: 700; }
	.ee-cart-bar__go {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		min-width: 170px;
		min-height: 46px;
		padding: 0 22px;
		border-radius: 999px;
		background: var(--eec-navy);
		color: #fff !important;
		font-size: 15px;
		font-weight: 600;
		text-decoration: none !important;
	}
	body.ee-cart-page.ee-cart-open .ee-cart-bar { transform: translateY(115%); visibility: hidden; }
}
@media (prefers-reduced-motion: reduce) { .ee-cart-bar { transition: none; } }

/* ---------------------------------------------------------------- tablet and phone layout */
@media (max-width: 1100px) {
	.ee-cart__grid { grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; }
}
@media (max-width: 900px) {
	.ee-cart { padding-bottom: 32px; }
	.ee-cart__grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.ee-cart__side { position: static; }
	/* The old fixed checkout strip (site-wide phone CSS): the summary card holds the button now. */
	body.ee-cart-page .ee-cart .wc-proceed-to-checkout {
		position: static !important;
		z-index: auto !important;
		padding: 0 !important;
		border: 0 !important;
		background: none !important;
		box-shadow: none !important;
	}
	body.woocommerce-cart.ee-cart-page { padding-bottom: 76px; }
}
@media (max-width: 640px) {
	.ee-cart { padding-top: 0; font-size: 14px; }
	.ee-cart__head { margin: 0 0 14px; }
	.ee-cart .ee-cart__title { font-size: 24px; }
	.ee-cart__count { font-size: 14px; }
	.ee-cart .ee-cart__continue { font-size: 13px; }
	.ee-cart .ee-cart__items { border-radius: 14px; }
	.ee-cart .ee-line {
		grid-template-columns: 72px minmax(0, 1fr) auto;
		grid-template-areas:
			"thumb info rm"
			"thumb qty sub";
		align-items: start;
		gap: 10px 14px;
		padding: 14px;
	}
	.ee-cart .ee-line__thumb { width: 72px; height: 72px; border-radius: 10px; }
	.ee-cart .ee-line__name,
	.ee-cart .ee-line__name a { font-size: 14px; }
	.ee-cart .ee-line__qty { align-self: center; }
	.ee-cart .ee-line__qty .quantity { height: 38px; }
	.ee-cart .ee-line__subtotal { align-self: center; }
	.ee-cart .ee-line__remove { margin: -6px -6px 0 0; }
	.ee-cart .cart_totals.ee-summary { padding: 18px 16px 16px !important; border-radius: 14px !important; }
}

/* The line layout follows the width of the item list, not the window. Beside the summary on small laptops
   and landscape tablets (about 901-1180px wide) the list is narrow, so rows tighten and then stack;
   on its own (portrait tablets) it has room for the full row again. */
@container ee-items (max-width: 719px) {
	.ee-cart .ee-line {
		grid-template-columns: 72px minmax(0, 1fr) auto minmax(72px, auto) 32px;
		gap: 0 14px;
		padding: 16px 14px 16px 16px;
	}
	.ee-cart .ee-line__thumb { width: 72px; height: 72px; border-radius: 10px; }
	.ee-cart .ee-line__remove a.remove { width: 32px !important; height: 32px !important; }
}
@container ee-items (max-width: 599px) {
	.ee-cart .ee-line {
		grid-template-columns: 72px minmax(0, 1fr) auto;
		grid-template-areas:
			"thumb info rm"
			"thumb qty sub";
		align-items: start;
		gap: 10px 14px;
		padding: 14px;
	}
	.ee-cart .ee-line__qty,
	.ee-cart .ee-line__subtotal { align-self: center; }
	.ee-cart .ee-line__qty .quantity { height: 38px; }
	.ee-cart .ee-line__remove { margin: -6px -6px 0 0; }
}

/* ---------------------------------------------------------------- empty cart */
.ee-cart--empty { text-align: center; }
.ee-cart .ee-empty {
	max-width: 560px;
	margin: 24px auto 0;
	padding: 36px 24px 32px;
	border: 1px solid var(--eec-line);
	border-radius: 20px;
	background: #fff;
}
.ee-cart .ee-empty::before { display: none !important; }
.ee-cart .ee-empty__icon {
	display: inline-grid;
	place-items: center;
	width: 64px;
	height: 64px;
	margin: 0 0 14px;
	border-radius: 999px;
	background: var(--eec-cream);
	color: var(--eec-gold);
}
.ee-cart .ee-empty__title {
	margin: 0 0 8px;
	font-family: Montserrat, Arial, Helvetica, sans-serif;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--eec-navy);
	text-transform: none;
	letter-spacing: -0.01em;
}
.ee-cart .ee-empty__text { margin: 0 auto 20px; max-width: 420px; font-size: 15px; color: var(--eec-muted); }
.ee-cart .ee-empty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0; }
.ee-cart .ee-empty__actions .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin: 0 !important;
	padding: 0 24px !important;
	border-radius: 999px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
}
.ee-cart .ee-empty__actions .ee-btn-dark { border: 1px solid var(--eec-navy) !important; background: var(--eec-navy) !important; color: #fff !important; }
.ee-cart .ee-empty__actions .ee-btn-light { border: 1px solid #cbd5e1 !important; background: #fff !important; color: var(--eec-navy) !important; }
.ee-cart .ee-empty__picks { max-width: 1000px; margin: 40px auto 0; }
.ee-cart .ee-empty__picks-title {
	margin: 0 0 16px;
	font-family: Montserrat, Arial, Helvetica, sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: var(--eec-navy);
	text-transform: none;
	letter-spacing: 0;
}
.ee-cart .ee-empty__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.ee-cart .ee-pick { margin: 0; }
.ee-cart .ee-pick__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 12px 12px 14px;
	border: 1px solid var(--eec-line);
	border-radius: 14px;
	background: #fff;
	color: inherit;
	text-align: left;
	text-decoration: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.ee-cart .ee-pick__link:hover { border-color: #cbd5e1; box-shadow: 0 10px 24px rgba(15, 23, 42, .08); }
.ee-cart .ee-pick__media { display: block; aspect-ratio: 1; margin: 0 0 10px; border-radius: 10px; background: #fff; overflow: hidden; }
.ee-cart .ee-pick__media img { display: block; width: 100% !important; height: 100% !important; object-fit: contain; padding: 8px; }
.ee-cart .ee-pick__name {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	margin: 0 0 4px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--eec-navy);
}
.ee-cart .ee-pick__price,
.ee-cart .ee-pick__price .amount { margin-top: auto; font-size: 14px !important; font-weight: 600 !important; color: var(--eec-text) !important; letter-spacing: 0 !important; }
.ee-cart .ee-pick__price del,
.ee-cart .ee-pick__price del .amount { color: #94a3b8 !important; font-weight: 400 !important; }
.ee-cart .ee-pick__price ins { text-decoration: none; }
@media (max-width: 760px) {
	.ee-cart .ee-empty { margin-top: 8px; padding: 28px 18px 24px; }
	.ee-cart .ee-empty__title { font-size: 24px; }
	.ee-cart .ee-empty__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}

/* Screen-reader announcements (quantity saves). */
.ee-cart-live {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
