/* =========================================================
   FRUITS2GO SIDE CART
========================================================= */

:root {
	--f2g-sc-green: #00866f;
	--f2g-sc-green-dark: #006f5d;
	--f2g-sc-orange: #f7a623;

	--f2g-sc-text: #171717;
	--f2g-sc-muted: #707672;
	--f2g-sc-border: #e2e6e4;

	--f2g-sc-image-bg: #f0f5f3;
	--f2g-sc-body-bg: #f7faf8;
	--f2g-sc-footer-bg: #eff5f2;

	--f2g-sc-danger: #d95b4e;
	--f2g-sc-danger-bg: #fff0ed;

	--f2g-sc-drawer-width: 430px;
}


/* =========================================================
   GLOBAL
========================================================= */

html.f2g-sidecart-open,
body.f2g-sidecart-open {
	overflow: hidden !important;
}


.f2g-sidecart-root,
.f2g-sidecart-root *,
.f2g-sidecart-launcher-wrap,
.f2g-sidecart-launcher-wrap * {
	box-sizing: border-box;

	font-family:
		"Poppins",
		Arial,
		Helvetica,
		sans-serif !important;
}


/* =========================================================
   FLOATING CART LAUNCHER
========================================================= */

.f2g-sidecart-launcher-wrap {
	position: fixed !important;

	right: max(
		24px,
		env(safe-area-inset-right)
	) !important;

	bottom: max(
		24px,
		env(safe-area-inset-bottom)
	) !important;

	z-index: 99990 !important;

	width: 64px !important;
	height: 64px !important;

	pointer-events: none !important;
}


html body .f2g-sidecart-launcher-wrap > .f2g-sidecart-launcher,
html body .elementor .f2g-sidecart-launcher-wrap > .f2g-sidecart-launcher {
	position: relative !important;

	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	flex: 0 0 64px !important;

	width: 64px !important;
	height: 64px !important;

	min-width: 64px !important;
	min-height: 64px !important;

	max-width: 64px !important;
	max-height: 64px !important;

	aspect-ratio: 1 / 1 !important;

	margin: 0 !important;
	padding: 0 !important;

	border: 0 !important;
	border-radius: 50% !important;

	background: var(--f2g-sc-green) !important;
	background-image: none !important;

	color: #ffffff !important;

	font-size: 0 !important;
	line-height: 1 !important;

	box-shadow:
		0 14px 34px
		rgba(0, 78, 65, 0.24) !important;

	cursor: pointer !important;

	pointer-events: auto !important;

	touch-action: manipulation;

	-webkit-tap-highlight-color: transparent;

	appearance: none !important;
	-webkit-appearance: none !important;

	overflow: visible !important;

	transform: translateZ(0);

	transition:
		background-color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease !important;
}


html body .f2g-sidecart-launcher-wrap > .f2g-sidecart-launcher:hover,
html body .f2g-sidecart-launcher-wrap > .f2g-sidecart-launcher:focus-visible,
html body .elementor .f2g-sidecart-launcher-wrap > .f2g-sidecart-launcher:hover,
html body .elementor .f2g-sidecart-launcher-wrap > .f2g-sidecart-launcher:focus-visible {
	background: var(--f2g-sc-green-dark) !important;

	color: #ffffff !important;

	transform:
		translateY(-2px)
		scale(1.03) !important;

	box-shadow:
		0 18px 42px
		rgba(0, 78, 65, 0.3) !important;
}


html body .f2g-sidecart-launcher-wrap > .f2g-sidecart-launcher:active,
html body .elementor .f2g-sidecart-launcher-wrap > .f2g-sidecart-launcher:active {
	transform:
		translateY(0)
		scale(0.97) !important;
}


html body .f2g-sidecart-launcher-wrap > .f2g-sidecart-launcher:focus-visible,
html body .elementor .f2g-sidecart-launcher-wrap > .f2g-sidecart-launcher:focus-visible {
	outline:
		3px solid
		rgba(247, 166, 35, 0.95) !important;

	outline-offset: 4px !important;
}


/* Launcher Icon */

.f2g-sidecart-launcher__icon {
	position: relative !important;

	z-index: 2 !important;

	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: 29px !important;
	height: 29px !important;

	flex: 0 0 29px !important;

	color: #ffffff !important;

	opacity: 1 !important;
	visibility: visible !important;

	pointer-events: none !important;
}


.f2g-sidecart-launcher__icon svg {
	display: block !important;

	width: 29px !important;
	height: 29px !important;

	color: #ffffff !important;

	fill: none !important;
	stroke: currentColor !important;

	opacity: 1 !important;
	visibility: visible !important;

	overflow: visible !important;

	pointer-events: none !important;
}


.f2g-sidecart-launcher__icon svg path {
	stroke: #ffffff !important;

	stroke-opacity: 1 !important;

	vector-effect: non-scaling-stroke;
}


/* Launcher Badge */

.f2g-sidecart-launcher__count {
	position: absolute !important;

	top: -5px !important;
	right: -4px !important;

	z-index: 4 !important;

	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	min-width: 24px !important;
	height: 24px !important;

	padding: 0 6px !important;

	border: 2px solid #ffffff !important;
	border-radius: 999px !important;

	background: var(--f2g-sc-orange) !important;

	color: #ffffff !important;

	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1 !important;

	box-shadow:
		0 5px 14px
		rgba(90, 57, 0, 0.2) !important;

	pointer-events: none !important;

	transition:
		opacity 0.18s ease,
		transform 0.18s ease;
}


.f2g-sidecart-launcher__count.is-empty {
	opacity: 0 !important;

	visibility: hidden !important;

	transform: scale(0.65) !important;
}


.f2g-sidecart-launcher__tooltip {
	display: none !important;
}


/* Launcher Animation */

@keyframes f2g-sidecart-launcher-pop {
	0% {
		transform: scale(1);
	}

	36% {
		transform: scale(1.12);
	}

	62% {
		transform: scale(0.97);
	}

	100% {
		transform: scale(1);
	}
}


@keyframes f2g-sidecart-badge-pop {
	0% {
		transform: scale(0.65);
	}

	55% {
		transform: scale(1.22);
	}

	100% {
		transform: scale(1);
	}
}


.f2g-sidecart-launcher.is-popping {
	animation:
		f2g-sidecart-launcher-pop
		0.56s
		cubic-bezier(0.22, 1, 0.36, 1);
}


.f2g-sidecart-launcher.is-popping
.f2g-sidecart-launcher__count:not(.is-empty) {
	animation:
		f2g-sidecart-badge-pop
		0.5s
		cubic-bezier(0.22, 1, 0.36, 1);
}


/* =========================================================
   ROOT + OVERLAY
========================================================= */

.f2g-sidecart-root {
	position: fixed;

	inset: 0;

	z-index: 999999;

	visibility: hidden;

	pointer-events: none;
}


.f2g-sidecart-root.is-open {
	visibility: visible;

	pointer-events: auto;
}


.f2g-sidecart-overlay {
	position: absolute !important;

	inset: 0 !important;

	z-index: 1;

	display: block !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	border: 0 !important;
	border-radius: 0 !important;

	background:
		rgba(17, 17, 17, 0.48) !important;

	background-image: none !important;

	opacity: 0;

	visibility: hidden;

	pointer-events: none;

	cursor: default;

	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);

	transition:
		opacity 0.24s ease,
		visibility 0.24s ease;
}


.f2g-sidecart-root.is-open
.f2g-sidecart-overlay {
	opacity: 1 !important;

	visibility: visible !important;

	pointer-events: auto !important;
}


/* Prevent Theme Button Styling */

html body button.f2g-sidecart-overlay,
html body button.f2g-sidecart-overlay:hover,
html body button.f2g-sidecart-overlay:focus,
html body button.f2g-sidecart-overlay:active,
html body .elementor button.f2g-sidecart-overlay,
html body .elementor button.f2g-sidecart-overlay:hover,
html body .elementor button.f2g-sidecart-overlay:focus,
html body .elementor button.f2g-sidecart-overlay:active {
	background:
		rgba(17, 17, 17, 0.48) !important;

	background-image: none !important;

	border: 0 !important;
	border-radius: 0 !important;

	box-shadow: none !important;

	transform: none !important;

	color: transparent !important;
}


/* =========================================================
   DRAWER
========================================================= */

.f2g-sidecart {
	position: absolute;

	top: 0;
	right: 0;

	z-index: 2;

	display: flex;

	flex-direction: column;

	width:
		min(
			var(--f2g-sc-drawer-width),
			100vw
		);

	height: 100%;

	background:
		var(--f2g-sc-body-bg);

	box-shadow:
		-24px 0 70px
		rgba(0, 0, 0, 0.14);

	transform:
		translateX(100%);

	transition:
		transform
		0.34s
		cubic-bezier(0.22, 1, 0.36, 1);

	outline: 0;

	overscroll-behavior: contain;
}


.f2g-sidecart-root.is-open
.f2g-sidecart {
	transform: translateX(0);
}


.f2g-sidecart__content {
	display: flex;

	flex-direction: column;

	flex: 1 1 auto;

	height: 100%;

	min-height: 0;
}


/* =========================================================
   ACCESSIBILITY
========================================================= */

.f2g-sidecart__status {
	position: absolute;

	width: 1px;
	height: 1px;

	margin: -1px;
	padding: 0;

	overflow: hidden;

	clip: rect(0, 0, 0, 0);

	white-space: nowrap;

	border: 0;
}


/* =========================================================
   LOADER
========================================================= */

.f2g-sidecart__loader {
	position: absolute;

	inset: 0;

	z-index: 10;

	display: flex;

	align-items: center;
	justify-content: center;

	background:
		rgba(255, 255, 255, 0.66);

	opacity: 0;

	visibility: hidden;

	pointer-events: none;

	transition:
		opacity 0.15s ease,
		visibility 0.15s ease;
}


.f2g-sidecart.is-loading
.f2g-sidecart__loader {
	opacity: 1;

	visibility: visible;
}


.f2g-sidecart__loader span {
	width: 30px;
	height: 30px;

	border:
		3px solid #dfeae6;

	border-top-color:
		var(--f2g-sc-green);

	border-radius: 50%;

	animation:
		f2g-sidecart-spin
		0.65s
		linear
		infinite;
}


@keyframes f2g-sidecart-spin {
	to {
		transform: rotate(360deg);
	}
}


/* =========================================================
   HEADER
========================================================= */

.f2g-sidecart__header {
	display: flex;

	align-items: center;
	justify-content: space-between;

	flex: 0 0 auto;

	gap: 18px;

	padding:
		22px 22px 18px;

	border-bottom:
		1px solid
		var(--f2g-sc-border);

	background: #ffffff;
}


.f2g-sidecart__eyebrow {
	margin: 0 0 3px;

	font-size: 10px !important;
	font-weight: 700 !important;

	letter-spacing: 0.09em;

	text-transform: uppercase;

	color:
		var(--f2g-sc-muted);
}


.f2g-sidecart__title {
	margin: 0 !important;

	font-size: 27px !important;
	font-weight: 600 !important;

	line-height: 1.1 !important;

	letter-spacing:
		-0.03em !important;

	color:
		var(--f2g-sc-text) !important;
}


.f2g-sidecart__count {
	font-weight: 500;

	color:
		var(--f2g-sc-muted);
}


/* Close */

.f2g-sidecart__close {
	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	flex: 0 0 42px;

	width: 42px !important;
	height: 42px !important;

	min-width: 42px !important;
	min-height: 42px !important;

	max-width: 42px !important;
	max-height: 42px !important;

	margin: 0 !important;
	padding: 0 !important;

	border: 0 !important;
	border-radius: 50% !important;

	background:
		var(--f2g-sc-orange) !important;

	color:
		#17312b !important;

	font-size: 18px !important;
	font-weight: 600 !important;

	line-height: 1 !important;

	box-shadow: none !important;

	cursor: pointer;

	touch-action: manipulation;

	transition:
		transform 0.2s ease,
		background-color 0.2s ease;
}


.f2g-sidecart__close:hover {
	background:
		#e89616 !important;

	transform: rotate(4deg);
}


/* =========================================================
   BODY
========================================================= */

.f2g-sidecart__body {
	display: flex;

	flex: 1 1 auto;

	min-height: 0;

	flex-direction: column;

	background:
		var(--f2g-sc-body-bg);
}


.f2g-sidecart__items {
	flex: 1 1 auto;

	min-height: 0;

	overflow-y: auto;

	overscroll-behavior: contain;

	padding: 16px;

	scrollbar-width: thin;

	scrollbar-color:
		#cbd8d3
		transparent;
}


.f2g-sidecart__items::-webkit-scrollbar {
	width: 7px;
}


.f2g-sidecart__items::-webkit-scrollbar-thumb {
	background: #cbd8d3;

	border-radius: 999px;
}


.f2g-sidecart__items::-webkit-scrollbar-track {
	background: transparent;
}


/* =========================================================
   ITEM
========================================================= */

.f2g-sidecart-item {
	display: grid;

	grid-template-columns:
		82px
		minmax(0, 1fr);

	gap: 14px;

	margin: 0 0 12px;

	padding: 14px;

	border:
		1px solid #e7ecea;

	border-radius: 18px;

	background: #ffffff;

	box-shadow:
		0 5px 18px
		rgba(12, 53, 44, 0.045);

	transition:
		opacity 0.18s ease;
}


.f2g-sidecart-item.is-loading {
	opacity: 0.5;

	pointer-events: none;
}


/* Product Image */

.f2g-sidecart-item__image {
	width: 82px;
	height: 94px;

	overflow: hidden;

	border-radius: 14px;

	background:
		var(--f2g-sc-image-bg);
}


.f2g-sidecart-item__image a,
.f2g-sidecart-item__image img {
	display: block;

	width: 100%;
	height: 100%;
}


.f2g-sidecart-item__image img {
	object-fit: contain;

	margin: 0;
}


/* Product Content */

.f2g-sidecart-item__content {
	min-width: 0;
}


.f2g-sidecart-item__top {
	display: flex;

	align-items: flex-start;
	justify-content: space-between;

	gap: 10px;
}


.f2g-sidecart-item__text {
	min-width: 0;
}


.f2g-sidecart-item__name {
	margin:
		0 0 5px !important;

	font-size:
		14px !important;

	font-weight:
		600 !important;

	line-height:
		1.35 !important;

	letter-spacing:
		-0.01em !important;
}


.f2g-sidecart-item__name a {
	color:
		var(--f2g-sc-text) !important;

	text-decoration:
		none !important;
}


.f2g-sidecart-item__name a:hover {
	color:
		var(--f2g-sc-green) !important;
}


.f2g-sidecart-item__meta {
	font-size:
		10.5px !important;

	line-height: 1.4;

	color:
		var(--f2g-sc-muted);
}


.f2g-sidecart-item__meta p,
.f2g-sidecart-item__meta dl {
	margin: 0;
}


.f2g-sidecart-item__price {
	margin-top: 3px;

	font-size:
		13px !important;

	font-weight:
		600 !important;

	color:
		var(--f2g-sc-text);
}


/* Remove */

.f2g-sidecart-item__remove {
	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	flex: 0 0 32px;

	width: 32px !important;
	height: 32px !important;

	min-width: 32px !important;
	min-height: 32px !important;

	max-width: 32px !important;
	max-height: 32px !important;

	margin:
		-2px -2px 0 0 !important;

	padding: 0 !important;

	border: 0 !important;
	border-radius: 50% !important;

	background:
		#f2f5f4 !important;

	color:
		#52625d !important;

	font-size:
		15px !important;

	font-weight:
		500 !important;

	line-height:
		1 !important;

	cursor: pointer;

	touch-action: manipulation;

	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}


.f2g-sidecart-item__remove:hover,
.f2g-sidecart-item__remove:active {
	background:
		var(--f2g-sc-danger-bg) !important;

	color:
		var(--f2g-sc-danger) !important;
}


/* Bottom Row */

.f2g-sidecart-item__bottom {
	display: flex;

	align-items: center;
	justify-content: space-between;

	gap: 12px;

	margin-top: 12px;
}


/* =========================================================
   QUANTITY
========================================================= */

.f2g-sidecart-qty {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	width: 112px;
	height: 36px;

	padding: 2px;

	border:
		1px solid #d9e1de;

	border-radius: 999px;

	background: #ffffff;
}


.f2g-sidecart-qty__btn {
	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	flex: 0 0 30px;

	width: 30px !important;
	height: 30px !important;

	min-width: 30px !important;
	min-height: 30px !important;

	max-width: 30px !important;
	max-height: 30px !important;

	margin: 0 !important;
	padding: 0 !important;

	border: 0 !important;
	border-radius: 50% !important;

	font-size: 17px !important;
	font-weight: 500 !important;

	line-height: 1 !important;

	cursor: pointer;

	touch-action: manipulation;
}


/* Minus */

.f2g-sidecart-qty__minus {
	background:
		transparent !important;

	color:
		var(--f2g-sc-text) !important;
}


.f2g-sidecart-qty__minus:hover,
.f2g-sidecart-qty__minus:focus-visible {
	background:
		#edf5f2 !important;

	color:
		var(--f2g-sc-green) !important;
}


/* Plus */

.f2g-sidecart-qty__plus {
	background:
		var(--f2g-sc-orange) !important;

	color:
		#ffffff !important;
}


.f2g-sidecart-qty__plus:hover,
.f2g-sidecart-qty__plus:focus-visible {
	background:
		#e89616 !important;

	color:
		#ffffff !important;
}


.f2g-sidecart-qty__plus:active {
	transform:
		scale(0.95);
}


.f2g-sidecart-qty__value {
	display: flex;

	align-items: center;
	justify-content: center;

	flex: 1;

	font-size: 13px;
	font-weight: 600;

	color:
		var(--f2g-sc-text);
}


/* Line Total */

.f2g-sidecart-item__line-total {
	font-size:
		13px !important;

	font-weight:
		700 !important;

	white-space: nowrap;

	color:
		var(--f2g-sc-text);
}


/* =========================================================
   FOOTER
========================================================= */

.f2g-sidecart__footer {
	flex: 0 0 auto;

	padding:
		18px 16px
		calc(
			16px
			+ env(safe-area-inset-bottom)
		);

	border-top:
		1px solid #dde6e2;

	background:
		var(--f2g-sc-footer-bg);
}


.f2g-sidecart__summary-row {
	display: flex;

	align-items: center;
	justify-content: space-between;

	gap: 16px;

	font-size: 13px;
}


.f2g-sidecart__summary-row span {
	color: #5d6864;
}


.f2g-sidecart__summary-row strong {
	font-size: 15px;

	font-weight: 700;

	color:
		var(--f2g-sc-text);
}


.f2g-sidecart__delivery-note {
	margin:
		5px 0 14px;

	font-size:
		11px !important;

	line-height: 1.45;

	color: #7a8581;
}


/* Footer Buttons */

.f2g-sidecart__actions {
	display: grid;

	gap: 10px;
}


.f2g-sidecart__view-cart,
.f2g-sidecart__checkout,
.f2g-sidecart-empty__button {
	display: flex;

	align-items: center;
	justify-content: center;

	min-height: 48px;

	padding:
		12px 16px;

	border-radius: 12px;

	font-size:
		14px !important;

	font-weight:
		600 !important;

	text-decoration:
		none !important;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}


.f2g-sidecart__view-cart {
	border:
		1px solid #dce4e1;

	background: #ffffff;

	color:
		var(--f2g-sc-text) !important;
}


.f2g-sidecart__view-cart:hover {
	background: #f8faf9;

	transform:
		translateY(-1px);
}


.f2g-sidecart__checkout {
	justify-content:
		space-between;

	gap: 12px;

	border: 0;

	background:
		var(--f2g-sc-green);

	color: #ffffff !important;
}


.f2g-sidecart__checkout:hover {
	background:
		var(--f2g-sc-green-dark);

	transform:
		translateY(-1px);
}


.f2g-sidecart__checkout-main {
	display: inline-flex;

	align-items: center;

	gap: 8px;
}


.f2g-sidecart__lock {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	width: 17px;
	height: 17px;
}


.f2g-sidecart__lock svg {
	display: block;

	width: 100%;
	height: 100%;
}


.f2g-sidecart__checkout-amount {
	margin-left: auto;

	font-weight: 700;

	white-space: nowrap;
}


/* =========================================================
   EMPTY CART
========================================================= */

.f2g-sidecart-empty {
	display: flex;

	flex: 1 1 auto;

	min-height: 0;

	flex-direction: column;

	align-items: center;
	justify-content: center;

	padding:
		44px 34px;

	text-align: center;
}


.f2g-sidecart-empty__visual {
	display: flex;

	align-items: center;
	justify-content: center;

	margin-bottom: 32px;
}


.f2g-sidecart-empty__bag {
	position: relative;

	width: 94px;
	height: 88px;

	border:
		3px solid
		var(--f2g-sc-text);

	border-radius:
		7px 7px 14px 14px;

	background: #ffffff;

	transform:
		rotate(-3deg);
}


.f2g-sidecart-empty__handle {
	position: absolute;

	left: 50%;
	top: -36px;

	width: 46px;
	height: 43px;

	transform:
		translateX(-50%);

	border:
		3px solid
		var(--f2g-sc-text);

	border-bottom: 0;

	border-radius:
		26px 26px 0 0;
}


.f2g-sidecart-empty__face {
	position: absolute;

	left: 50%;
	top: 49%;

	width: 42px;
	height: 36px;

	transform:
		translate(-50%, -50%);
}


.f2g-sidecart-empty__eye {
	position: absolute;

	top: 5px;

	width: 4px;
	height: 9px;

	border-radius: 999px;

	background:
		var(--f2g-sc-text);
}


.f2g-sidecart-empty__eye:first-child {
	left: 8px;
}


.f2g-sidecart-empty__eye:nth-child(2) {
	right: 8px;
}


.f2g-sidecart-empty__smile {
	position: absolute;

	left: 50%;
	bottom: 1px;

	width: 22px;
	height: 12px;

	transform:
		translateX(-50%);

	border-bottom:
		3px solid
		var(--f2g-sc-text);

	border-radius:
		0 0 20px 20px;
}


.f2g-sidecart-empty__title {
	margin:
		0 0 10px !important;

	font-size:
		22px !important;

	font-weight:
		600 !important;

	line-height:
		1.2 !important;

	color:
		var(--f2g-sc-text) !important;
}


.f2g-sidecart-empty__text {
	max-width: 290px;

	margin:
		0 0 24px !important;

	font-size:
		13px !important;

	line-height:
		1.6 !important;

	color:
		var(--f2g-sc-muted);
}


.f2g-sidecart-empty__button {
	min-width: 190px;

	background:
		var(--f2g-sc-green);

	color:
		#ffffff !important;
}


.f2g-sidecart-empty__button:hover {
	background:
		var(--f2g-sc-green-dark);
}


/* =========================================================
   INLINE / HEADER TRIGGER
========================================================= */

.f2g-sidecart-trigger {
	display: inline-flex;

	align-items: center;

	gap: 8px;

	border: 0;

	background: transparent;

	color: inherit;

	cursor: pointer;
}


.f2g-sidecart-trigger__icon {
	display: inline-flex;

	width: 20px;
	height: 20px;
}


.f2g-sidecart-trigger__icon svg {
	width: 100%;
	height: 100%;
}


.f2g-sidecart-trigger__count {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	min-width: 20px;
	height: 20px;

	padding: 0 5px;

	border-radius: 999px;

	background:
		var(--f2g-sc-orange);

	color: #ffffff;

	font-size: 11px;
	font-weight: 700;
}


.f2g-sidecart-trigger__count.is-empty {
	display: none;
}


/* =========================================================
   FOCUS
========================================================= */

.f2g-sidecart__close:focus-visible,
.f2g-sidecart-item__remove:focus-visible,
.f2g-sidecart-qty__btn:focus-visible,
.f2g-sidecart__view-cart:focus-visible,
.f2g-sidecart__checkout:focus-visible,
.f2g-sidecart-empty__button:focus-visible,
.f2g-sidecart-trigger:focus-visible {
	outline:
		2px solid
		var(--f2g-sc-green);

	outline-offset: 3px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 767px) {

	.f2g-sidecart-launcher-wrap {
		right:
			max(
				16px,
				env(safe-area-inset-right)
			) !important;

		bottom:
			max(
				18px,
				env(safe-area-inset-bottom)
			) !important;

		width:
			58px !important;

		height:
			58px !important;
	}


	html body .f2g-sidecart-launcher-wrap > .f2g-sidecart-launcher,
	html body .elementor .f2g-sidecart-launcher-wrap > .f2g-sidecart-launcher {
		flex:
			0 0 58px !important;

		width:
			58px !important;

		height:
			58px !important;

		min-width:
			58px !important;

		min-height:
			58px !important;

		max-width:
			58px !important;

		max-height:
			58px !important;
	}


	.f2g-sidecart-launcher__icon,
	.f2g-sidecart-launcher__icon svg {
		width:
			25px !important;

		height:
			25px !important;
	}


	.f2g-sidecart-launcher__count {
		top:
			-4px !important;

		right:
			-3px !important;

		min-width:
			22px !important;

		height:
			22px !important;

		font-size:
			10px !important;
	}
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 520px) {

	.f2g-sidecart {
		width: 100vw;

		max-width: 100vw;
	}


	/* Header */

	.f2g-sidecart__header {
		padding:
			18px 16px 14px;
	}


	.f2g-sidecart__title {
		font-size:
			24px !important;
	}


	.f2g-sidecart__eyebrow {
		font-size:
			9.5px !important;
	}


	.f2g-sidecart__close {
		width:
			38px !important;

		height:
			38px !important;

		min-width:
			38px !important;

		min-height:
			38px !important;

		max-width:
			38px !important;

		max-height:
			38px !important;
	}


	/* Items */

	.f2g-sidecart__items {
		padding:
			8px 14px 14px;
	}


	.f2g-sidecart-item {
		grid-template-columns:
			72px
			minmax(0, 1fr);

		gap: 12px;

		margin: 0;

		padding:
			14px 0;

		border: 0;

		border-bottom:
			1px solid #e5ebe8;

		border-radius: 0;

		background: transparent;

		box-shadow: none;
	}


	.f2g-sidecart-item:last-child {
		border-bottom: 0;
	}


	.f2g-sidecart-item__image {
		width: 72px;
		height: 86px;

		border-radius: 14px;
	}


	.f2g-sidecart-item__top {
		gap: 8px;
	}


	.f2g-sidecart-item__name {
		margin:
			0 0 4px !important;

		font-size:
			13px !important;

		line-height:
			1.28 !important;
	}


	.f2g-sidecart-item__meta {
		font-size:
			9.5px !important;
	}


	.f2g-sidecart-item__price {
		margin-top: 3px;

		font-size:
			12px !important;
	}


	/* Remove */

	.f2g-sidecart-item__remove {
		width:
			30px !important;

		height:
			30px !important;

		min-width:
			30px !important;

		min-height:
			30px !important;

		max-width:
			30px !important;

		max-height:
			30px !important;

		font-size:
			14px !important;
	}


	/* Bottom Row */

	.f2g-sidecart-item__bottom {
		gap: 10px;

		margin-top: 10px;
	}


	/* Quantity */

	.f2g-sidecart-qty {
		width: 102px;
		height: 34px;
	}


	.f2g-sidecart-qty__btn {
		flex: 0 0 28px;

		width:
			28px !important;

		height:
			28px !important;

		min-width:
			28px !important;

		min-height:
			28px !important;

		max-width:
			28px !important;

		max-height:
			28px !important;

		font-size:
			15px !important;
	}


	.f2g-sidecart-qty__value {
		font-size: 12px;
	}


	.f2g-sidecart-item__line-total {
		font-size:
			12px !important;
	}


	/* Footer */

	.f2g-sidecart__footer {
		padding:
			14px 14px
			calc(
				14px
				+ env(safe-area-inset-bottom)
			);
	}


	.f2g-sidecart__summary-row {
		font-size: 12px;
	}


	.f2g-sidecart__summary-row strong {
		font-size: 14px;
	}


	.f2g-sidecart__delivery-note {
		margin:
			4px 0 12px;

		font-size:
			10.5px !important;
	}


	.f2g-sidecart__actions {
		gap: 8px;
	}


	.f2g-sidecart__view-cart,
	.f2g-sidecart__checkout {
		min-height: 48px;

		border-radius: 999px;

		font-size:
			13px !important;
	}


	.f2g-sidecart__checkout {
		padding-inline: 16px;
	}


	/* Empty */

	.f2g-sidecart-empty {
		padding:
			34px 22px;
	}


	.f2g-sidecart-empty__title {
		font-size:
			20px !important;
	}


	.f2g-sidecart-empty__text {
		font-size:
			12.5px !important;
	}
}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 360px) {

	.f2g-sidecart__items {
		padding-inline: 10px;
	}


	.f2g-sidecart-item {
		grid-template-columns:
			66px
			minmax(0, 1fr);

		gap: 10px;
	}


	.f2g-sidecart-item__image {
		width: 66px;
		height: 80px;
	}


	.f2g-sidecart-item__name {
		font-size:
			12px !important;
	}


	.f2g-sidecart-qty {
		width: 96px;
	}


	.f2g-sidecart-item__line-total {
		font-size:
			11px !important;
	}
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

	.f2g-sidecart,
	.f2g-sidecart-overlay,
	.f2g-sidecart-launcher,
	.f2g-sidecart-launcher__count {
		transition: none !important;
	}


	.f2g-sidecart-launcher.is-popping,
	.f2g-sidecart-launcher.is-popping
	.f2g-sidecart-launcher__count,
	.f2g-sidecart__loader span {
		animation: none !important;
	}
}