/**
 * Single Product Quick Checkout.
 *
 * Summary appearance / responsive behaviour is NOT
 * duplicated here. Existing Checkout Flow Summary CSS
 * remains the source of truth.
 */

/* ---------------------------------------------------------
 * Root
 * --------------------------------------------------------- */

.eilmo-cf-quick-checkout[hidden] {
	display: none;
}

body.eilmo-cf-quick-checkout-open {
	overflow: hidden;
}


/* ---------------------------------------------------------
 * Product page actions
 * --------------------------------------------------------- */

.eilmo-cf-quick-checkout-actions {
	/*
	 * Order action defaults.
	 *
	 * SAME variables are used by:
	 *
	 * - Order Now
	 * - Log In to Order
	 */
	--eilmo-qc-order-background: #000000;
	--eilmo-qc-order-color: #ffffff;
	--eilmo-qc-order-border-color: #000000;

	--eilmo-qc-order-hover-background: #222222;
	--eilmo-qc-order-hover-color: #ffffff;
	--eilmo-qc-order-hover-border-color: #222222;

	--eilmo-qc-order-border-width: 1px;
	--eilmo-qc-order-border-radius: 4px;

	/*
	 * WhatsApp defaults.
	 */
	--eilmo-qc-whatsapp-background: #25d366;
	--eilmo-qc-whatsapp-color: #ffffff;
	--eilmo-qc-whatsapp-border-color: #25d366;

	--eilmo-qc-whatsapp-hover-background: #1ebe5d;
	--eilmo-qc-whatsapp-hover-color: #ffffff;
	--eilmo-qc-whatsapp-hover-border-color: #1ebe5d;

	--eilmo-qc-whatsapp-border-width: 1px;
	--eilmo-qc-whatsapp-border-radius: 4px;

	display: grid;

	grid-template-columns:
		repeat(
			2,
			minmax(0, 1fr)
		);

	gap: 12px;

	margin-top: 16px;
}


/*
 * Shared sizing for every Single Product action.
 *
 * Supports both:
 *
 * - <button>
 * - <a>
 */
.eilmo-cf-quick-checkout-actions
	> .eilmo-cf-order-submit__button {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	width: 100%;
	min-height: 52px;

	margin: 0;

	padding:
		11px 22px;

	gap: 9px;

	box-sizing: border-box;

	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;

	letter-spacing: 0;

	text-align: center;
	text-decoration: none;

	cursor: pointer;
}


/*
 * Keep text identical between button and anchor actions.
 */
.eilmo-cf-quick-checkout-actions
	> .eilmo-cf-order-submit__button
	.eilmo-cf-order-submit__button-text {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;

	letter-spacing: inherit;

	color: inherit;

	text-decoration: none;
}


/*
 * When only one action exists, use the whole row.
 *
 * The error paragraph is also a direct child, therefore
 * the single action is first-child and second-last child.
 *
 * Do not use :only-of-type because login is an <a>
 * while WhatsApp is a <button>.
 */
.eilmo-cf-quick-checkout-actions
	> .eilmo-cf-order-submit__button:first-child:nth-last-child(2) {
	grid-column: 1 / -1;
}


.eilmo-cf-quick-checkout-actions__error {
	grid-column: 1 / -1;

	margin: 0;

	font-size: 13px;
	line-height: 1.5;

	color: #b42318;
}


/* ---------------------------------------------------------
 * Product page Order action
 *
 * SAME CSS:
 *
 * - Order Now
 * - Log In to Order
 * --------------------------------------------------------- */

.eilmo-cf-quick-checkout-actions
	> .eilmo-cf-quick-checkout-order-action {
	position: relative;

	background:
		var(
			--eilmo-qc-order-background
		);

	border:
		var(
			--eilmo-qc-order-border-width
		)
		solid
		var(
			--eilmo-qc-order-border-color
		);

	border-radius:
		var(
			--eilmo-qc-order-border-radius
		);

	color:
		var(
			--eilmo-qc-order-color
		);

	box-shadow: none;

	transform:
		translateY(0);

	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease;
}


.eilmo-cf-quick-checkout-actions
	> .eilmo-cf-quick-checkout-order-action
	.eilmo-cf-order-submit__button-text {
	color:
		var(
			--eilmo-qc-order-color
		);
}


.eilmo-cf-quick-checkout-actions
	> .eilmo-cf-quick-checkout-order-action:hover {
	background:
		var(
			--eilmo-qc-order-hover-background
		);

	border-color:
		var(
			--eilmo-qc-order-hover-border-color
		);

	color:
		var(
			--eilmo-qc-order-hover-color
		);

	text-decoration: none;

	box-shadow:
		0 5px 14px
		rgba(
			0,
			0,
			0,
			0.16
		);

	transform:
		translateY(-1px);
}


.eilmo-cf-quick-checkout-actions
	> .eilmo-cf-quick-checkout-order-action:hover
	.eilmo-cf-order-submit__button-text {
	color:
		var(
			--eilmo-qc-order-hover-color
		);
}


.eilmo-cf-quick-checkout-actions
	> .eilmo-cf-quick-checkout-order-action:focus-visible {
	background:
		var(
			--eilmo-qc-order-hover-background
		);

	border-color:
		var(
			--eilmo-qc-order-hover-border-color
		);

	color:
		var(
			--eilmo-qc-order-hover-color
		);

	text-decoration: none;

	outline:
		3px solid
		color-mix(
			in srgb,
			var(
				--eilmo-qc-order-border-color
			)
			18%,
			transparent
		);

	outline-offset: 3px;

	box-shadow:
		0 5px 14px
		rgba(
			0,
			0,
			0,
			0.16
		);

	transform:
		translateY(-1px);
}


.eilmo-cf-quick-checkout-actions
	> .eilmo-cf-quick-checkout-order-action:focus-visible
	.eilmo-cf-order-submit__button-text {
	color:
		var(
			--eilmo-qc-order-hover-color
		);
}


.eilmo-cf-quick-checkout-actions
	> .eilmo-cf-quick-checkout-order-action:active {
	background:
		var(
			--eilmo-qc-order-background
		);

	border-color:
		var(
			--eilmo-qc-order-border-color
		);

	color:
		var(
			--eilmo-qc-order-color
		);

	box-shadow:
		0 2px 6px
		rgba(
			0,
			0,
			0,
			0.14
		);

	transform:
		translateY(0);
}


.eilmo-cf-quick-checkout-actions
	> .eilmo-cf-quick-checkout-order-action:active
	.eilmo-cf-order-submit__button-text {
	color:
		var(
			--eilmo-qc-order-color
		);
}


/* ---------------------------------------------------------
 * Product page WhatsApp
 * --------------------------------------------------------- */

.eilmo-cf-quick-checkout-actions
	> .eilmo-cf-whatsapp-order__button {
	background:
		var(
			--eilmo-qc-whatsapp-background
		);

	border:
		var(
			--eilmo-qc-whatsapp-border-width
		)
		solid
		var(
			--eilmo-qc-whatsapp-border-color
		);

	border-radius:
		var(
			--eilmo-qc-whatsapp-border-radius
		);

	color:
		var(
			--eilmo-qc-whatsapp-color
		);

	box-shadow: none;

	transform:
		translateY(0);

	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease;
}


.eilmo-cf-quick-checkout-actions
	> .eilmo-cf-whatsapp-order__button
	.eilmo-cf-order-submit__button-text {
	color:
		var(
			--eilmo-qc-whatsapp-color
		);
}


.eilmo-cf-quick-checkout-actions
	> .eilmo-cf-whatsapp-order__button:hover {
	background:
		var(
			--eilmo-qc-whatsapp-hover-background
		);

	border-color:
		var(
			--eilmo-qc-whatsapp-hover-border-color
		);

	color:
		var(
			--eilmo-qc-whatsapp-hover-color
		);

	box-shadow:
		0 5px 14px
		rgba(
			0,
			0,
			0,
			0.14
		);

	transform:
		translateY(-1px);
}


.eilmo-cf-quick-checkout-actions
	> .eilmo-cf-whatsapp-order__button:hover
	.eilmo-cf-order-submit__button-text {
	color:
		var(
			--eilmo-qc-whatsapp-hover-color
		);
}


.eilmo-cf-quick-checkout-actions
	> .eilmo-cf-whatsapp-order__button:focus-visible {
	background:
		var(
			--eilmo-qc-whatsapp-hover-background
		);

	border-color:
		var(
			--eilmo-qc-whatsapp-hover-border-color
		);

	color:
		var(
			--eilmo-qc-whatsapp-hover-color
		);

	outline:
		3px solid
		color-mix(
			in srgb,
			var(
				--eilmo-qc-whatsapp-border-color
			)
			18%,
			transparent
		);

	outline-offset: 3px;

	box-shadow:
		0 5px 14px
		rgba(
			0,
			0,
			0,
			0.14
		);

	transform:
		translateY(-1px);
}


.eilmo-cf-quick-checkout-actions
	> .eilmo-cf-whatsapp-order__button:focus-visible
	.eilmo-cf-order-submit__button-text {
	color:
		var(
			--eilmo-qc-whatsapp-hover-color
		);
}


.eilmo-cf-quick-checkout-actions
	> .eilmo-cf-whatsapp-order__button:active {
	background:
		var(
			--eilmo-qc-whatsapp-background
		);

	border-color:
		var(
			--eilmo-qc-whatsapp-border-color
		);

	color:
		var(
			--eilmo-qc-whatsapp-color
		);

	box-shadow:
		0 2px 6px
		rgba(
			0,
			0,
			0,
			0.12
		);

	transform:
		translateY(0);
}


.eilmo-cf-quick-checkout-actions
	> .eilmo-cf-whatsapp-order__button:active
	.eilmo-cf-order-submit__button-text {
	color:
		var(
			--eilmo-qc-whatsapp-color
		);
}


/* ---------------------------------------------------------
 * Main overlay
 * --------------------------------------------------------- */

.eilmo-cf-quick-checkout {
	position: fixed;

	inset: 0;

	z-index: 99990;

	display: flex;

	align-items: flex-end;
	justify-content: center;

	padding: 0;

	font-family: inherit;
}

.eilmo-cf-quick-checkout__backdrop {
	position: absolute;

	inset: 0;

	background:
		rgba(
			0,
			0,
			0,
			0.52
		);

	opacity: 0;

	transition:
		opacity 180ms ease;
}

.eilmo-cf-quick-checkout.is-open
	.eilmo-cf-quick-checkout__backdrop {
	opacity: 1;
}


/* ---------------------------------------------------------
 * Wide desktop checkout panel
 * --------------------------------------------------------- */

.eilmo-cf-quick-checkout__panel {
	--eilmo-cf-quick-checkout-width: 1180px;

	position: relative;

	z-index: 1;

	display: flex;

	flex-direction: column;

	width:
		min(
			var(
				--eilmo-cf-quick-checkout-width
			),
			calc(100vw - 48px)
		);

	max-height: 94dvh;

	background: #ffffff;

	border-radius:
		20px 20px 0 0;

	box-shadow:
		0 -12px 50px
		rgba(
			0,
			0,
			0,
			0.18
		);

	overflow: hidden;
}


/*
 * Animation finishes at transform:none.
 *
 * Existing mobile Summary uses position:fixed and must
 * remain fixed to the viewport.
 */

.eilmo-cf-quick-checkout.is-open
	.eilmo-cf-quick-checkout__panel {
	animation:
		eilmo-cf-quick-sheet-in
		220ms ease-out both;
}

.eilmo-cf-quick-checkout.is-closing
	.eilmo-cf-quick-checkout__panel {
	animation:
		eilmo-cf-quick-sheet-out
		180ms ease-in both;
}

@keyframes eilmo-cf-quick-sheet-in {

	from {
		transform:
			translateY(100%);
	}

	to {
		transform: none;
	}
}

@keyframes eilmo-cf-quick-sheet-out {

	from {
		transform: none;
	}

	to {
		transform:
			translateY(100%);
	}
}


/* ---------------------------------------------------------
 * Optional modal mode
 * --------------------------------------------------------- */

.eilmo-cf-quick-checkout[
	data-display-mode="modal"
] {
	align-items: center;

	padding: 24px;
}

.eilmo-cf-quick-checkout[
	data-display-mode="modal"
]
	.eilmo-cf-quick-checkout__panel {
	border-radius: 20px;
}

.eilmo-cf-quick-checkout[
	data-display-mode="modal"
].is-open
	.eilmo-cf-quick-checkout__panel {
	animation:
		eilmo-cf-quick-modal-in
		180ms ease-out both;
}

.eilmo-cf-quick-checkout[
	data-display-mode="modal"
].is-closing
	.eilmo-cf-quick-checkout__panel {
	animation:
		eilmo-cf-quick-modal-out
		160ms ease-in both;
}

@keyframes eilmo-cf-quick-modal-in {

	from {
		opacity: 0;

		transform:
			translateY(14px)
			scale(0.985);
	}

	to {
		opacity: 1;

		transform: none;
	}
}

@keyframes eilmo-cf-quick-modal-out {

	from {
		opacity: 1;

		transform: none;
	}

	to {
		opacity: 0;

		transform:
			translateY(10px)
			scale(0.99);
	}
}


/* ---------------------------------------------------------
 * Header
 * --------------------------------------------------------- */

.eilmo-cf-quick-checkout__header {
	flex: 0 0 auto;

	display: flex;

	align-items: flex-start;
	justify-content: space-between;

	gap: 24px;

	padding: 20px 24px;

	background: #ffffff;

	border-bottom:
		1px solid
		rgba(
			0,
			0,
			0,
			0.08
		);
}

.eilmo-cf-quick-checkout__heading {
	min-width: 0;
}

.eilmo-cf-quick-checkout__title {
	margin: 0;

	font-size: 22px;
	font-weight: 700;
	line-height: 1.25;

	color: inherit;
}

.eilmo-cf-quick-checkout__description {
	margin:
		5px 0 0;

	font-size: 14px;
	line-height: 1.5;

	opacity: 0.72;
}


/* ---------------------------------------------------------
 * Close button
 * --------------------------------------------------------- */

.eilmo-cf-quick-checkout
	button.eilmo-cf-quick-checkout__close {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	flex: 0 0 42px;

	width: 42px;
	height: 42px;

	margin: 0;
	padding: 0;

	border:
		1px solid
		#d7dce3;

	border-radius: 50%;

	background: #f7f8fa;

	color: #111827;

	box-shadow: none;

	cursor: pointer;

	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease;
}

.eilmo-cf-quick-checkout__close-icon {
	display: block;

	width: 20px;
	height: 20px;

	color: currentColor;

	transform:
		rotate(0deg);

	transition:
		transform 320ms
		cubic-bezier(
			0.22,
			1,
			0.36,
			1
		);
}

.eilmo-cf-quick-checkout
	button.eilmo-cf-quick-checkout__close:hover {
	background: #000000;

	border-color: #000000;

	color: #ffffff;

	box-shadow:
		0 6px 16px
		rgba(
			0,
			0,
			0,
			0.18
		);

	transform:
		scale(1.04);
}

.eilmo-cf-quick-checkout
	button.eilmo-cf-quick-checkout__close:hover
	.eilmo-cf-quick-checkout__close-icon {
	transform:
		rotate(180deg);
}

.eilmo-cf-quick-checkout
	button.eilmo-cf-quick-checkout__close:focus-visible {
	background: #000000;

	border-color: #000000;

	color: #ffffff;

	outline:
		3px solid
		rgba(
			0,
			0,
			0,
			0.16
		);

	outline-offset: 3px;
}

.eilmo-cf-quick-checkout
	button.eilmo-cf-quick-checkout__close:focus-visible
	.eilmo-cf-quick-checkout__close-icon {
	transform:
		rotate(180deg);
}

.eilmo-cf-quick-checkout
	button.eilmo-cf-quick-checkout__close:active {
	transform:
		scale(0.96);
}


/* ---------------------------------------------------------
 * Scroll body
 * --------------------------------------------------------- */

.eilmo-cf-quick-checkout__body {
	flex: 1 1 auto;

	min-height: 0;

	overflow-x: hidden;
	overflow-y: auto;

	padding: 24px;

	overscroll-behavior: contain;
}


/* ---------------------------------------------------------
 * Existing Checkout Flow structure
 * --------------------------------------------------------- */

.eilmo-cf-quick-checkout
	.eilmo-cf-quick-checkout__checkout {
	--eilmo-cf-summary-width: 360px;
	--eilmo-cf-summary-sticky-offset: 0px;

	width: 100%;

	max-width: none;

	margin: 0;
}


/* ---------------------------------------------------------
 * Selected product preview
 * --------------------------------------------------------- */

.eilmo-cf-quick-selection {
	margin:
		0 0 20px;
}

.eilmo-cf-quick-selection__header {
	display: flex;

	align-items: center;
	justify-content: space-between;

	gap: 16px;

	margin-bottom: 10px;
}

.eilmo-cf-quick-selection__heading {
	margin: 0;

	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
}

.eilmo-cf-quick-selection button.eilmo-cf-quick-selection__change {
	padding: 0;

	border: 0;

	background: transparent;

	font: inherit;

	font-size: 13px;
	font-weight: 600;

	text-decoration: underline;

	cursor: pointer;
}

.eilmo-cf-quick-selection__card {
	display: grid;

	grid-template-columns:
		72px
		minmax(0, 1fr)
		auto;

	align-items: center;

	gap: 14px;

	padding: 14px;

	border:
		1px solid
		rgba(
			0,
			0,
			0,
			0.1
		);

	border-radius: 12px;

	background: #ffffff;
}

.eilmo-cf-quick-selection__image {
	width: 72px;
	height: 72px;

	overflow: hidden;

	border-radius: 9px;

	background:
		rgba(
			0,
			0,
			0,
			0.04
		);
}

.eilmo-cf-quick-selection__image img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
}

.eilmo-cf-quick-selection__content {
	display: flex;

	flex-direction: column;

	align-items: flex-start;

	min-width: 0;

	gap: 4px;
}

.eilmo-cf-quick-selection__title {
	max-width: 100%;

	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;

	overflow: hidden;

	text-overflow: ellipsis;

	white-space: nowrap;
}

.eilmo-cf-quick-selection__variation,
.eilmo-cf-quick-selection__quantity {
	font-size: 13px;

	line-height: 1.4;

	opacity: 0.7;
}


/* ---------------------------------------------------------
 * Selected product price
 *
 * Keep WooCommerce/theme price colours from leaking into
 * the Quick Checkout selected-product card.
 * --------------------------------------------------------- */

.eilmo-cf-quick-checkout
	.eilmo-cf-quick-selection
	.eilmo-cf-quick-selection__price {
	align-self: center;

	display: flex;

	align-items: center;
	justify-content: flex-end;

	min-width: 90px;

	margin: 0;
	padding: 0;

	background: transparent;

	color: #111827;

	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;

	text-align: right;

	white-space: nowrap;
}


.eilmo-cf-quick-checkout
	.eilmo-cf-quick-selection
	.eilmo-cf-quick-selection__price
	.price,
.eilmo-cf-quick-checkout
	.eilmo-cf-quick-selection
	.eilmo-cf-quick-selection__price
	.woocommerce-Price-amount,
.eilmo-cf-quick-checkout
	.eilmo-cf-quick-selection
	.eilmo-cf-quick-selection__price
	.woocommerce-Price-amount
	bdi,
.eilmo-cf-quick-checkout
	.eilmo-cf-quick-selection
	.eilmo-cf-quick-selection__price
	.woocommerce-Price-currencySymbol {
	margin: 0;

	padding: 0;

	background: transparent;

	color: #111827;

	font: inherit;

	line-height: inherit;

	text-decoration: none;
}


.eilmo-cf-quick-checkout
	.eilmo-cf-quick-selection
	.eilmo-cf-quick-selection__price
	ins {
	margin: 0;

	padding: 0;

	background: transparent;

	color: #111827;

	font-weight: 700;

	text-decoration: none;
}


.eilmo-cf-quick-checkout
	.eilmo-cf-quick-selection
	.eilmo-cf-quick-selection__price
	ins
	.woocommerce-Price-amount,
.eilmo-cf-quick-checkout
	.eilmo-cf-quick-selection
	.eilmo-cf-quick-selection__price
	ins
	bdi,
.eilmo-cf-quick-checkout
	.eilmo-cf-quick-selection
	.eilmo-cf-quick-selection__price
	ins
	.woocommerce-Price-currencySymbol {
	color: #111827;

	font-size: inherit;
	font-weight: inherit;
}


.eilmo-cf-quick-checkout
	.eilmo-cf-quick-selection
	.eilmo-cf-quick-selection__price
	del {
	margin-right: 6px;

	background: transparent;

	color: #8a94a6;

	font-size: 13px;
	font-weight: 500;

	opacity: 1;

	text-decoration:
		line-through;
}


.eilmo-cf-quick-checkout
	.eilmo-cf-quick-selection
	.eilmo-cf-quick-selection__price
	del
	.woocommerce-Price-amount,
.eilmo-cf-quick-checkout
	.eilmo-cf-quick-selection
	.eilmo-cf-quick-selection__price
	del
	bdi,
.eilmo-cf-quick-checkout
	.eilmo-cf-quick-selection
	.eilmo-cf-quick-selection__price
	del
	.woocommerce-Price-currencySymbol {
	color: #8a94a6;

	font-size: inherit;
	font-weight: inherit;
}


/* ---------------------------------------------------------
 * Quick Checkout messages
 * --------------------------------------------------------- */

.eilmo-cf-quick-checkout__messages {
	margin-top: 18px;
}

.eilmo-cf-quick-checkout__error {
	margin:
		0 0 10px;

	font-size: 13px;

	line-height: 1.5;

	color: #b42318;
}


/* ---------------------------------------------------------
 * Drawer Place Order
 * --------------------------------------------------------- */

.eilmo-cf-quick-checkout__submit {
	margin-top: 18px;
}

.eilmo-cf-quick-checkout
	.eilmo-cf-quick-checkout__submit
	> button.eilmo-cf-order-submit__button {
	width: 100%;

	background: #000000;

	border-color: #000000;

	color: #ffffff;

	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease;
}

.eilmo-cf-quick-checkout
	.eilmo-cf-quick-checkout__submit
	> button.eilmo-cf-order-submit__button
	.eilmo-cf-order-submit__button-text {
	color: #ffffff;
}

.eilmo-cf-quick-checkout
	.eilmo-cf-quick-checkout__submit
	> button.eilmo-cf-order-submit__button:hover {
	background: #202020;

	border-color: #202020;

	color: #ffffff;

	box-shadow:
		0 8px 20px
		rgba(
			0,
			0,
			0,
			0.2
		);

	transform:
		translateY(-2px);
}

.eilmo-cf-quick-checkout
	.eilmo-cf-quick-checkout__submit
	> button.eilmo-cf-order-submit__button:hover
	.eilmo-cf-order-submit__button-text {
	color: #ffffff;
}

.eilmo-cf-quick-checkout
	.eilmo-cf-quick-checkout__submit
	> button.eilmo-cf-order-submit__button:focus-visible {
	background: #202020;

	border-color: #202020;

	color: #ffffff;

	outline:
		3px solid
		rgba(
			0,
			0,
			0,
			0.18
		);

	outline-offset: 3px;

	box-shadow:
		0 8px 20px
		rgba(
			0,
			0,
			0,
			0.2
		);

	transform:
		translateY(-2px);
}

.eilmo-cf-quick-checkout
	.eilmo-cf-quick-checkout__submit
	> button.eilmo-cf-order-submit__button:active {
	background: #000000;

	border-color: #000000;

	color: #ffffff;

	box-shadow:
		0 3px 8px
		rgba(
			0,
			0,
			0,
			0.16
		);

	transform:
		translateY(0);
}


/* ---------------------------------------------------------
 * Existing mobile Summary stacking
 * --------------------------------------------------------- */

.eilmo-cf-quick-checkout
	.eilmo-cf-summary-bar {
	z-index: 100001;
}

.eilmo-cf-quick-checkout
	.eilmo-cf-summary-backdrop {
	z-index: 100002;
}

.eilmo-cf-quick-checkout
	.eilmo-cf-summary {
	z-index: 100003;
}


/* ---------------------------------------------------------
 * Bot Protection honeypot
 * --------------------------------------------------------- */

.eilmo-cf-quick-checkout
	.eilmo-cf-checkout__security-honeypot {
	position: absolute;

	left: -10000px;

	top: auto;

	width: 1px;
	height: 1px;

	overflow: hidden;

	opacity: 0;

	pointer-events: none;
}


/* ---------------------------------------------------------
 * Tablet
 * --------------------------------------------------------- */

@media (max-width: 1024px) {

	.eilmo-cf-quick-checkout__panel {
		width:
			calc(
				100vw - 24px
			);

		max-height: 96dvh;
	}

	.eilmo-cf-quick-checkout__body {
		padding: 20px;
	}
}


/* ---------------------------------------------------------
 * Mobile
 * --------------------------------------------------------- */

@media (max-width: 767px) {

	.eilmo-cf-quick-checkout-actions {
		grid-template-columns: 1fr;
	}

	/*
	 * Same mobile sizing applies to:
	 *
	 * - Order Now
	 * - Log In to Order
	 * - WhatsApp
	 */
	.eilmo-cf-quick-checkout-actions
		> .eilmo-cf-order-submit__button {
		min-height: 50px;

		padding:
			10px 18px;

		gap: 8px;

		font-size: 15px;
		font-weight: 600;
	}

	.eilmo-cf-quick-checkout {
		padding: 0;
	}

	.eilmo-cf-quick-checkout[
		data-display-mode="modal"
	] {
		align-items: flex-end;

		padding: 0;
	}

	.eilmo-cf-quick-checkout__panel,
	.eilmo-cf-quick-checkout[
		data-display-mode="modal"
	]
		.eilmo-cf-quick-checkout__panel {
		width: 100%;

		max-width: none;

		height: 96dvh;

		max-height: 96dvh;

		border-radius:
			18px 18px 0 0;
	}

	.eilmo-cf-quick-checkout__header {
		padding:
			16px 16px 14px;
	}

	.eilmo-cf-quick-checkout__title {
		font-size: 19px;
	}

	.eilmo-cf-quick-checkout__description {
		font-size: 13px;
	}

	.eilmo-cf-quick-checkout
		button.eilmo-cf-quick-checkout__close {
		flex-basis: 38px;

		width: 38px;
		height: 38px;
	}

	.eilmo-cf-quick-checkout__close-icon {
		width: 18px;
		height: 18px;
	}

	.eilmo-cf-quick-checkout__body {
		padding:
			16px 16px 110px;
	}

	.eilmo-cf-quick-selection__card {
		grid-template-columns:
			58px
			minmax(0, 1fr);

		gap: 11px;

		padding: 11px;
	}

	.eilmo-cf-quick-selection__image {
		width: 58px;
		height: 58px;
	}

	.eilmo-cf-quick-checkout
		.eilmo-cf-quick-selection
		.eilmo-cf-quick-selection__price {
		grid-column: 2;

		justify-content: flex-start;

		min-width: 0;

		text-align: left;
	}

	.eilmo-cf-quick-checkout
		.eilmo-cf-quick-checkout__checkout {
		--eilmo-cf-summary-sticky-offset: 0px;
	}
}


/* ---------------------------------------------------------
 * Reduced motion
 * --------------------------------------------------------- */

@media (
	prefers-reduced-motion:
	reduce
) {

	.eilmo-cf-quick-checkout__backdrop {
		transition: none;
	}

	.eilmo-cf-quick-checkout.is-open
		.eilmo-cf-quick-checkout__panel,
	.eilmo-cf-quick-checkout.is-closing
		.eilmo-cf-quick-checkout__panel {
		animation-duration: 1ms;
	}
}