/* Modern Cart bridge helpers. The actual cart drawer UI is controlled by Modern Cart by CartFlows. */
#header_cart_button {
	cursor: pointer;
}

#header_cart_button[role="button"] {
	-webkit-tap-highlight-color: transparent;
}

#header_cart_button:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}


/* Keep Modern Cart by CartFlows usable with long cart contents. */
#moderncart,
#moderncart .moderncart-modal-container,
#moderncart .moderncart-panel,
#moderncart .moderncart-slide-out-cart {
	max-height: 100vh;
	max-height: 100dvh;
	min-height: 0;
}

#moderncart .moderncart-panel,
#moderncart .moderncart-slide-out-cart {
	display: flex;
	flex-direction: column;
}

#moderncart .moderncart-slide-out-cart {
	height: 100vh;
	height: 100dvh;
	overflow: hidden;
}

#moderncart .moderncart-slide-out-header {
	flex: 0 0 auto;
}

#moderncart .moderncart-slide-out-cart-data {
	flex: 1 1 auto;
	max-height: calc(100vh - 285px);
	max-height: calc(100dvh - 285px);
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto !important;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-gutter: stable;
	scrollbar-width: thin;
}

#moderncart .moderncart-slide-out-cart-data::-webkit-scrollbar {
	width: 8px;
}

#moderncart .moderncart-slide-out-cart-data::-webkit-scrollbar-track {
	background: transparent;
}

@media (max-width: 767px) {
	#moderncart .moderncart-slide-out-cart-data {
		max-height: calc(100vh - 245px);
		max-height: calc(100dvh - 245px);
	}
}
