/**
 * Ecovenir cart experience.
 * The native WooCommerce Cart block remains the source of cart state.
 */

.ecovenir-cart-page {
	--cart-ink: var(--wp--preset--color--primary-dark);
	--cart-green: var(--wp--preset--color--primary);
	--cart-line: color-mix(in srgb, var(--wp--preset--color--primary) 14%, var(--wp--preset--color--border));
	--cart-soft: color-mix(in srgb, var(--wp--preset--color--surface) 64%, #fff);
	direction: rtl;
	overflow: clip;
	background: #fff;
	color: var(--wp--preset--color--contrast);
}

.ecovenir-cart-page :where(h1, h2, h3, p) {
	text-align: start;
}

.ecovenir-cart-hero {
	position: relative;
	padding: clamp(2rem, 4vw, 3.5rem) var(--wp--preset--spacing--40);
	overflow: hidden;
	border-block-end: 1px solid var(--cart-line);
	background:
		radial-gradient(circle at 8% 15%, rgba(201, 152, 88, 0.13), transparent 31%),
		linear-gradient(135deg, #f9f7f0 0%, #f2f6f2 100%);
}

.ecovenir-cart-hero::after {
	display: none;
	content: none;
}

.ecovenir-cart-hero__inner {
	position: relative;
	z-index: 1;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1.25rem 3rem;
	align-items: end;
}

.ecovenir-cart-hero__copy {
	margin: 0;
}

.ecovenir-cart-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0 0 0.35rem;
	color: var(--wp--preset--color--secondary);
	font-size: 0.82rem;
	font-weight: 760;
	letter-spacing: 0.02em;
}

.ecovenir-cart-eyebrow::before {
	width: 1.7rem;
	height: 2px;
	background: var(--wp--preset--color--sand);
	content: "";
}

.ecovenir-cart-title {
	margin: 0;
	color: var(--cart-ink);
	font-size: clamp(2rem, 4vw, 3.15rem) !important;
	font-weight: 780;
	line-height: 1.22;
}

.ecovenir-cart-lead {
	max-width: 40rem;
	margin: 0.55rem 0 0;
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--body);
	font-size: clamp(0.94rem, 1.5vw, 1.08rem);
	line-height: 1.9;
}

.ecovenir-cart-continue {
	margin: 0;
}

.ecovenir-cart-continue .wp-block-button__link {
	min-height: 46px;
	padding: 0.68rem 1.2rem !important;
	border: 1px solid rgba(7, 86, 79, 0.35) !important;
	background: transparent !important;
	color: var(--cart-ink) !important;
	font-size: 0.88rem;
}

.ecovenir-cart-continue .wp-block-button__link::before {
	content: "←";
	margin-inline-end: 0.5rem;
}

.ecovenir-cart-continue .wp-block-button__link:is(:hover, :focus-visible) {
	border-color: var(--cart-green) !important;
	background: #fff !important;
}

.ecovenir-cart-progress {
	grid-column: 1 / -1;
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: 100%;
	margin: 0.35rem 0 0;
	gap: clamp(0.5rem, 1.5vw, 1rem);
	padding-block-start: 0.65rem;
	border: 0;
}

.ecovenir-cart-progress__step {
	position: relative;
	display: block !important;
	min-width: 0;
	margin: 0;
	padding: 0.55rem 0.7rem;
	border-radius: 0.8rem;
	background: rgba(255, 255, 255, 0.55);
	color: var(--wp--preset--color--muted);
}

.ecovenir-cart-progress__step:not(:last-child)::after {
	display: none;
	content: none;
}

.ecovenir-cart-progress__step p {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0;
	font-size: 0.82rem;
	font-weight: 680;
	white-space: nowrap;
}

.ecovenir-cart-progress__step span {
	display: inline-grid;
	width: 2.2rem;
	height: 2.2rem;
	place-items: center;
	border: 1px solid var(--cart-line);
	border-radius: 50%;
	background: #fff;
	color: var(--wp--preset--color--secondary);
	direction: ltr;
	font-family: var(--wp--preset--font-family--display);
	font-size: 0.7rem;
}

.ecovenir-cart-progress__step.is-current {
	background: rgba(255, 255, 255, 0.92);
	color: var(--cart-ink);
}

.ecovenir-cart-progress__step.is-current span {
	border-color: var(--cart-green);
	background: var(--cart-green);
	color: #fff;
}

.ecovenir-cart-content-shell {
	padding: clamp(2.25rem, 5vw, 4.5rem) var(--wp--preset--spacing--40);
	background: #fff;
}

.ecovenir-cart-content,
.ecovenir-cart-content > .wp-block-post-content {
	width: 100%;
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
}

.ecovenir-cart-page .wp-block-woocommerce-cart {
	max-width: none;
	margin: 0;
	font-family: var(--wp--preset--font-family--body);
}

.ecovenir-cart-page .wc-block-components-sidebar-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.8fr) minmax(300px, 0.92fr);
	gap: clamp(1rem, 2.4vw, 2rem);
	align-items: start;
	direction: rtl;
}

.ecovenir-cart-page .wc-block-components-main,
.ecovenir-cart-page .wc-block-components-sidebar {
	box-sizing: border-box;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

.ecovenir-cart-page .wc-block-cart__main,
.ecovenir-cart-page .wc-block-cart__sidebar {
	border: 1px solid var(--cart-line);
	border-radius: 1.35rem;
	background: #fff;
}

.ecovenir-cart-page .wc-block-cart__main {
	padding: clamp(0.9rem, 2vw, 1.4rem) !important;
}

.ecovenir-cart-page .wc-block-cart__sidebar {
	position: sticky;
	inset-block-start: 9.5rem;
	padding: clamp(1rem, 2vw, 1.35rem) !important;
	background: var(--cart-soft);
}

.ecovenir-cart-page .wc-block-cart-items {
	margin: 0;
	border: 0;
}

.ecovenir-cart-page .wc-block-cart-items thead {
	display: none;
}

.ecovenir-cart-page .wc-block-cart-items__row {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
	padding: 1.15rem 0 !important;
	border: 0 !important;
}

.ecovenir-cart-page .wc-block-cart-items__row:first-child {
	padding-block-start: 0 !important;
}

.ecovenir-cart-page .wc-block-cart-items__row:last-child {
	padding-block-end: 0 !important;
	border-block-end: 0;
}

.ecovenir-cart-page .wc-block-cart-item__image,
.ecovenir-cart-page .wc-block-cart-item__product,
.ecovenir-cart-page .wc-block-cart-item__total {
	display: block;
	box-sizing: border-box;
	width: auto;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	text-align: start !important;
}

.ecovenir-cart-page .wc-block-cart-item__image img {
	display: block;
	width: 112px;
	height: 112px;
	border-radius: 1rem;
	object-fit: cover;
	background: var(--wp--preset--color--surface);
}

.ecovenir-cart-page .wc-block-components-product-name {
	display: inline-block;
	margin-block-end: 0.32rem;
	color: var(--cart-ink);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(0.98rem, 1.5vw, 1.12rem);
	font-weight: 730;
	line-height: 1.55;
	text-decoration: none;
}

.ecovenir-cart-page .wc-block-components-product-metadata,
.ecovenir-cart-page .wc-block-components-product-metadata__description,
.ecovenir-cart-page .wc-block-components-product-details {
	margin: 0.2rem 0;
	color: var(--wp--preset--color--muted);
	font-size: 0.78rem;
	line-height: 1.7;
}

.ecovenir-cart-page .wc-block-components-product-price,
.ecovenir-cart-page .wc-block-cart-item__total-price-and-sale-badge-wrapper,
.ecovenir-cart-page .wc-block-components-totals-item__value {
	color: var(--cart-ink);
	direction: ltr;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 750;
	unicode-bidi: isolate;
}

.ecovenir-cart-page .wc-block-cart-item__total {
	min-width: 5.2rem;
}

.ecovenir-cart-page .wc-block-cart-item__quantity {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.7rem;
	align-items: center;
	margin-block-start: 0.7rem;
}

.ecovenir-cart-page .wc-block-components-quantity-selector {
	display: grid;
	grid-template-columns: 42px 44px 42px;
	min-width: 128px;
	height: 44px;
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--cart-line);
	border-radius: 0.75rem;
	background: #fff;
	direction: ltr;
}

.ecovenir-cart-page .wc-block-components-quantity-selector::after {
	display: none;
}

.ecovenir-cart-page .wc-block-components-quantity-selector__button,
.ecovenir-cart-page .wc-block-components-quantity-selector__input {
	box-sizing: border-box;
	width: 100% !important;
	height: 42px !important;
	min-height: 42px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: var(--wp--preset--font-family--display);
	line-height: 42px !important;
}

.ecovenir-cart-page .wc-block-components-quantity-selector__button {
	color: var(--cart-green);
	font-size: 1.1rem;
}

.ecovenir-cart-page .wc-block-components-quantity-selector__button:is(:hover, :focus-visible) {
	background: var(--cart-soft);
}

.ecovenir-cart-page .wc-block-components-quantity-selector__input {
	border-inline: 1px solid var(--cart-line) !important;
	color: var(--cart-ink);
	font-size: 0.92rem;
	font-weight: 740;
	text-align: center;
}

.ecovenir-cart-page .wc-block-cart-item__remove-link {
	display: inline-flex !important;
	min-height: 36px;
	align-items: center;
	padding: 0.25rem 0 !important;
	border: 0;
	background: transparent;
	color: #765046;
	font-family: inherit;
	font-size: 0.76rem;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.ecovenir-cart-page .wc-block-cart__totals-title {
	margin: 0 0 0.65rem;
	padding: 0;
	border: 0;
	color: var(--cart-ink);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.1rem;
	font-weight: 760;
	text-align: start;
}

.ecovenir-cart-page .wc-block-components-totals-wrapper {
	padding: 0.85rem 0;
	border: 0 !important;
}

.ecovenir-cart-page .wp-block-woocommerce-cart-order-summary-totals-block {
	border: 0 !important;
}

.ecovenir-cart-page .wp-block-woocommerce-cart-order-summary-block {
	border: 0 !important;
}

.ecovenir-cart-page .wc-block-components-totals-item {
	align-items: center;
	font-size: 0.88rem;
}

.ecovenir-cart-page .wc-block-components-totals-item__label {
	color: var(--wp--preset--color--muted);
}

.ecovenir-cart-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.ecovenir-cart-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--cart-ink);
	font-size: 1.05rem;
	font-weight: 780;
}

.ecovenir-cart-page .wc-block-components-panel__button,
.ecovenir-cart-page .wc-block-components-totals-coupon__button {
	min-height: 44px;
	color: var(--cart-green);
	font-family: inherit;
	font-size: 0.82rem;
	font-weight: 700;
}

.ecovenir-cart-page .wc-block-components-text-input input {
	min-height: 48px;
	border: 1px solid var(--cart-line);
	border-radius: 0.75rem;
	background: #fff;
	font-family: inherit;
}

.ecovenir-cart-page .wc-block-components-button,
.ecovenir-cart-page .wc-block-cart__submit-button {
	min-height: 50px;
	border: 1px solid var(--cart-green);
	border-radius: 999px;
	background: var(--cart-green);
	color: #fff;
	font-family: var(--wp--preset--font-family--display);
	font-size: 0.9rem;
	font-weight: 750;
	text-decoration: none;
}

.ecovenir-cart-page .wc-block-cart__submit-button:is(:hover, :focus-visible),
.ecovenir-cart-page .wc-block-components-button:is(:hover, :focus-visible) {
	border-color: var(--cart-ink);
	background: var(--cart-ink);
	color: #fff;
}

.ecovenir-cart-page .wc-block-components-notice-banner {
	border: 1px solid var(--cart-line);
	border-radius: 0.9rem;
	box-shadow: none;
}

.ecovenir-cart-page .wc-block-cart__empty-cart__title {
	margin: 0;
	padding-block: 2.4rem 0.5rem;
	color: var(--cart-ink);
	font-size: clamp(1.5rem, 3vw, 2.15rem) !important;
	text-align: center;
}

.ecovenir-cart-page .wc-block-cart__empty-cart__title::before {
	display: block;
	width: 3.6rem;
	height: 3.6rem;
	margin: 0 auto 1rem;
	border: 1px solid var(--cart-line);
	border-radius: 50%;
	background-color: var(--cart-green);
	content: "";
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.2 10.2a2 2 0 0 0 2 1.6h7.9a2 2 0 0 0 1.9-1.4L21 8H7'/%3E%3Ccircle cx='10' cy='20' r='1'/%3E%3Ccircle cx='18' cy='20' r='1'/%3E%3C/svg%3E") center / 1.8rem no-repeat;
}

.ecovenir-cart-page .ecovenir-empty-cart-message {
	max-width: 34rem;
	margin: 0 auto 1rem;
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.94rem;
	line-height: 1.8;
	text-align: center;
}

.ecovenir-cart-page .ecovenir-empty-cart-actions {
	justify-content: center;
	margin-block: 0 2rem;
}

.ecovenir-cart-page .ecovenir-empty-cart-actions .wp-block-button__link {
	min-height: 46px;
	padding: 0.65rem 1.2rem !important;
	font-size: 0.84rem;
}

.ecovenir-cart-page .ecovenir-empty-cart-actions .is-style-outline .wp-block-button__link {
	border: 1px solid var(--cart-green) !important;
	background: transparent !important;
	color: var(--cart-green) !important;
}

.ecovenir-cart-page .wp-block-woocommerce-empty-cart-block hr {
	border-color: var(--cart-line);
}

.ecovenir-cart-page .wp-block-woocommerce-cart-cross-sells-block > h2,
.ecovenir-cart-page .wp-block-heading.has-text-align-center {
	font-size: clamp(1.25rem, 2.4vw, 1.8rem) !important;
}

.ecovenir-cart-confidence {
	padding: 0 var(--wp--preset--spacing--40) clamp(3rem, 6vw, 5rem);
	background: #fff;
}

.ecovenir-cart-confidence__grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	overflow: hidden;
	border: 1px solid var(--cart-line);
	border-radius: 1.2rem;
	background: var(--cart-ink);
}

.ecovenir-cart-confidence__item {
	position: relative;
	min-height: 7.5rem;
	margin: 0;
	padding: 1.35rem 4.2rem 1.35rem 1.35rem;
	color: rgba(255, 255, 255, 0.72);
}

.ecovenir-cart-confidence__item:not(:last-child) {
	border-inline-end: 1px solid rgba(255, 255, 255, 0.13);
}

.ecovenir-cart-confidence__item::before {
	position: absolute;
	inset-block-start: 1.4rem;
	inset-inline-start: 1.35rem;
	width: 2rem;
	height: 2rem;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	background-color: var(--wp--preset--color--sand);
	content: "";
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: 1rem;
}

.ecovenir-cart-confidence__item--edit::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 16 9-9 4 4-9 9H4v-4Z'/%3E%3Cpath d='m14 6 2-2 4 4-2 2'/%3E%3C/svg%3E");
}

.ecovenir-cart-confidence__item--total::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M8 7h8M8 12h3M15 12h1M8 16h3M15 16h1'/%3E%3C/svg%3E");
}

.ecovenir-cart-confidence__item--review::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11a8 8 0 1 1-4-7'/%3E%3Cpath d='m9 11 2 2 7-7'/%3E%3C/svg%3E");
}

.ecovenir-cart-confidence__item h3 {
	margin: 0 0 0.25rem;
	color: #fff;
	font-size: 0.98rem;
}

.ecovenir-cart-confidence__item p {
	margin: 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.78rem;
	line-height: 1.75;
}

@media (max-width: 980px) {
	.ecovenir-cart-page .wc-block-components-sidebar-layout {
		grid-template-columns: 1fr;
	}

	.ecovenir-cart-page .wc-block-cart__sidebar {
		position: static;
	}
}

@media (max-width: 700px) {
	.ecovenir-cart-hero {
		padding-block: 1.65rem;
	}

	.ecovenir-cart-hero__inner {
		grid-template-columns: 1fr;
		gap: 0.9rem;
	}

	.ecovenir-cart-continue {
		justify-content: flex-start;
	}

	.ecovenir-cart-progress {
		gap: 0.35rem;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.ecovenir-cart-progress::-webkit-scrollbar {
		display: none;
	}

	.ecovenir-cart-progress__step p {
		width: 100%;
		flex-direction: column;
		align-items: center;
		gap: 0.28rem;
		font-size: 0.7rem;
		line-height: 1.35;
		text-align: center;
		white-space: normal;
	}

	.ecovenir-cart-progress__step:not(:last-child)::after {
		display: none;
	}

	.ecovenir-cart-content-shell {
		padding-block: 1.5rem 2.5rem;
	}

	.ecovenir-cart-page .wc-block-cart-items__row {
		grid-template-columns: 86px minmax(0, 1fr) !important;
		gap: 0.75rem;
	}

	.ecovenir-cart-page .wc-block-cart-item__image {
		grid-column: 1 !important;
		grid-row: 1 / span 2 !important;
	}

	.ecovenir-cart-page .wc-block-cart-item__product {
		grid-column: 2 !important;
		grid-row: 1 !important;
	}

	.ecovenir-cart-page .wc-block-cart-item__image img {
		width: 86px;
		height: 86px;
	}

	.ecovenir-cart-page .wc-block-cart-item__total {
		grid-column: 2 !important;
		grid-row: 2 !important;
		min-width: 0;
		margin-block-start: 0.35rem;
	}

	.ecovenir-cart-page .wc-block-cart-item__quantity {
		gap: 0.4rem;
	}

	.ecovenir-cart-page .wc-block-cart-item__remove-link {
		min-width: 44px;
		min-height: 44px;
		justify-content: center;
	}

	.ecovenir-cart-confidence__grid {
		grid-template-columns: 1fr;
	}

	.ecovenir-cart-confidence__item {
		min-height: 0;
		padding-block: 1.1rem;
	}

	.ecovenir-cart-confidence__item:not(:last-child) {
		border-inline-end: 0;
		border-block-end: 1px solid rgba(255, 255, 255, 0.13);
	}

	body.woocommerce-cart .ecovenir-floating-whatsapp {
		display: none;
	}
}

@media (max-width: 480px) {
	.ecovenir-cart-hero,
	.ecovenir-cart-content-shell,
	.ecovenir-cart-confidence {
		padding-inline: 0.75rem;
	}

	.ecovenir-cart-title {
		font-size: 1.85rem !important;
	}

	.ecovenir-cart-lead {
		font-size: 0.87rem;
	}

	.ecovenir-cart-progress__step p {
		gap: 0.35rem;
	}

	.ecovenir-cart-progress__step span {
		width: 1.9rem;
		height: 1.9rem;
	}

	.ecovenir-cart-page .wc-block-cart__main,
	.ecovenir-cart-page .wc-block-cart__sidebar {
		border-radius: 1rem;
	}

	.ecovenir-cart-page .wc-block-cart__main {
		padding: 0.75rem !important;
	}

	.ecovenir-cart-page .wc-block-components-quantity-selector {
		grid-template-columns: 38px 40px 38px;
		min-width: 118px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ecovenir-cart-page *,
	.ecovenir-cart-page *::before,
	.ecovenir-cart-page *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
