:root {
	--elite-drawer-width: min(100%, 30rem);
}
.elite-cart-open { overflow: hidden; }
.elite-cart-overlay { position: fixed; inset: 0; z-index: 9997; background: color-mix(in srgb, var(--wp--preset--color--contrast, #111) 58%, transparent); }
.elite-cart-drawer { position: fixed; z-index: 9998; inset-block: 0; inset-inline-end: 0; width: var(--elite-drawer-width); padding: var(--wp--preset--spacing--40, 1.5rem); background: var(--wp--preset--color--base, #fff); box-shadow: var(--wp--custom--shadow--xl, 0 1rem 3rem rgb(0 0 0 / 20%)); transform: translateX(105%); visibility: hidden; transition: transform var(--wp--custom--transition--normal, 250ms ease), visibility 0s linear 250ms; overflow-y: auto; }
.elite-cart-drawer.is-open { transform: translateX(0); visibility: visible; transition-delay: 0s; }
.elite-cart-drawer > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-block-end: 1rem; }
.elite-cart-drawer > header h2 { margin: 0; }
.elite-cart-drawer > header button, .elite-quick-view__close { width: 2.75rem; height: 2.75rem; border: 0; border-radius: 50%; background: var(--wp--preset--color--tertiary, #f4f4f4); font-size: 1.5rem; }
.elite-cart-drawer__items { list-style: none; padding: 0; margin: 0; }
.elite-cart-drawer__item { display: grid; grid-template-columns: 5rem 1fr; gap: 1rem; padding-block: 1rem; border-block-end: 1px solid var(--wp--preset--color--border, #ddd); }
.elite-cart-drawer__item img { width: 5rem; height: 5rem; object-fit: cover; border-radius: var(--wp--custom--radius--small, .4rem); }
.elite-cart-drawer__item > div { display: grid; grid-template-columns: 1fr auto; gap: .4rem 1rem; align-items: center; }
.elite-cart-drawer__quantity { width: 4.5rem; min-height: 2.5rem; }
.elite-cart-drawer__remove { justify-self: start; border: 0; padding: 0; color: var(--wp--preset--color--primary, #d9380c); background: transparent; text-decoration: underline; }
.elite-cart-drawer__item.is-loading { opacity: .55; pointer-events: none; }
.elite-cart-drawer__subtotal, .elite-cart-drawer__actions { display: flex; justify-content: space-between; gap: 1rem; margin-block-start: 1rem; }
.elite-cart-drawer__actions > * { flex: 1; text-align: center; }
.elite-shipping-progress { margin-block: 1rem; padding: 1rem; border-radius: var(--wp--custom--radius--medium, .6rem); background: var(--wp--preset--color--tertiary, #f4f4f4); }
.elite-shipping-progress p { margin: 0 0 .6rem; }
.elite-shipping-progress__track { height: .5rem; border-radius: 999px; background: var(--wp--preset--color--border, #ddd); overflow: hidden; }
.elite-shipping-progress__track span { display: block; width: var(--elite-progress); height: 100%; background: var(--wp--preset--color--primary, #d9380c); transition: width var(--wp--custom--transition--normal, 250ms ease); }
.elite-sticky-cart { position: fixed; z-index: 900; inset-inline-end: 1rem; inset-block-end: 1rem; display: flex; gap: .5rem; align-items: center; min-height: 3rem; border: 0; border-radius: 999px; padding-inline: 1rem; color: var(--wp--preset--color--base, #fff); background: var(--wp--preset--color--primary, #d9380c); box-shadow: var(--wp--custom--shadow--large, 0 .5rem 1.5rem rgb(0 0 0 / 18%)); }
.elite-cart-recommendations { margin-block-start: 1.5rem; }
.elite-cart-recommendations__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.elite-cart-recommendations .elite-product-card__rating, .elite-cart-recommendations .elite-product-card__variation-meta { display: none; }
.elite-quick-view { width: min(58rem, calc(100% - 2rem)); max-height: calc(100vh - 2rem); border: 0; border-radius: var(--wp--custom--radius--large, 1rem); padding: 1.5rem; }
.elite-quick-view::backdrop { background: rgb(0 0 0 / 60%); }
.elite-quick-view__close { position: absolute; inset-block-start: .75rem; inset-inline-end: .75rem; z-index: 1; }
.elite-quick-view__content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem; }
.elite-quick-view__media img { width: 100%; height: auto; }
@media (max-width: 48rem) {
	.elite-cart-drawer { padding: 1rem; }
	.elite-quick-view__content { grid-template-columns: 1fr; }
	.elite-cart-recommendations__grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.elite-cart-drawer, .elite-shipping-progress__track span { transition: none; }
}
