/**
 * ExFood Elementor Addon Styles
 */

/* General Wrapper */
.exfood-el-wrapper {
	position: relative;
	width: 100%;
}

/* Ensure Elementor Editor Preview compatibility */
.elementor-editor-active .ex-fdlist {
	visibility: visible !important;
	opacity: 1 !important;
}

/* Category Description: Hide by default unless explicitly enabled */
.exfood-el-wrapper:not(.exfood-show-cat-desc) .exwf-dcat,
.exfood-el-wrapper:not(.exfood-show-cat-desc) .mn-desgroup {
	display: none !important;
}

.exfood-el-wrapper.exfood-show-cat-desc .exwf-dcat,
.exfood-el-wrapper.exfood-show-cat-desc .mn-desgroup {
	display: block !important;
}

/* Fix item box shadow and border transitions */
.exfood-el-wrapper .ex-fdlist .item-grid,
.exfood-el-wrapper .ex-fdlist .item-list,
.exfood-el-wrapper .ex-fdlist .exwf-table-item {
	transition: all 0.3s ease-in-out;
}

/* Price alignment & Sale price highlight */
.exfood-el-wrapper .ex-fdlist ins .woocommerce-Price-amount {
	font-weight: 700;
}

.exfood-el-wrapper .ex-fdlist del .woocommerce-Price-amount {
	opacity: 0.6;
	margin-right: 5px;
}

/* Button hover transitions */
.exfood-el-wrapper .ex-fdlist .exwf-add-to-cart,
.exfood-el-wrapper .ex-fdlist .exwf-btn,
.exfood-el-wrapper .ex-fdlist .button.add_to_cart_button {
	transition: all 0.25s ease-in-out;
	cursor: pointer;
}

/* Category Filter Tabs Smooth Styling */
.exfood-el-wrapper .ex-fdlist .ex-search-form a,
.exfood-el-wrapper .ex-fdlist .ex-food-filter a {
	display: inline-block;
	transition: all 0.2s ease-in-out;
}

/* Clearfix for grid parents */
.exfood-el-wrapper .parent_grid::after {
	content: "";
	display: table;
	clear: both;
}

/* ==========================================================================
   Food Menu List - No-Description & Button Alignment Fixes
   ========================================================================== */

/* Prevent height collapse when list item has no description */
.exfood-el-wrapper .fdstyle-list-1 .fdlist_1_des {
	width: 100%;
	position: relative;
	clear: both;
	min-height: 34px;
}

/* When an item has no description, keep clean height and align [+] button */
.exfood-el-wrapper .fdstyle-list-1.ex-no-description .fdlist_1_des,
.exfood-el-wrapper .fdstyle-list-1 .fdlist_1_des:not(:has(.exwf-sdes)) {
	min-height: 30px;
	margin-top: 4px;
}

.exfood-el-wrapper .fdstyle-list-1.ex-no-description .fdlist_1_des button,
.exfood-el-wrapper .fdstyle-list-1 .fdlist_1_des:not(:has(.exwf-sdes)) button {
	top: 3px !important;
	right: 0 !important;
}

/* If neither description nor add-to-cart button exists, avoid unnecessary empty space */
.exfood-el-wrapper .fdstyle-list-1 .fdlist_1_des:empty,
.exfood-el-wrapper .fdstyle-list-1 .fdlist_1_des:not(:has(.exwf-sdes)):not(:has(button)) {
	min-height: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Adequate spacing between food list items */
.exfood-el-wrapper .list-style-1 .fditem-list.item-grid {
	margin-bottom: 22px !important;
	position: relative;
}

.exfood-el-wrapper .fdstyle-list-2 .fdlist_2_detail,
.exfood-el-wrapper .fdstyle-list-3 .fdlist_3_detail {
	position: relative;
}

/* ==========================================================================
   Food Menu Grid & Menu Group - Card Layout & Overlap Fixes
   ========================================================================== */

/* Equal height and flex structure for grid item cells */
.exfood-el-wrapper .ex-fdlist .ctgrid .item-grid {
	display: flex !important;
	flex-direction: column !important;
	margin-bottom: 24px !important;
	position: relative !important;
}

/* Card figure container */
.exfood-el-wrapper .ex-fdlist .ctgrid .item-grid > figure,
.exfood-el-wrapper .ex-fdlist [class*="exstyle-"] {
	display: flex !important;
	flex-direction: column !important;
	flex-grow: 1 !important;
	height: 100% !important;
	width: 100% !important;
	box-sizing: border-box !important;
	position: relative !important;
}

/* ==========================================================================
   Food Grid & List Item Images
   ========================================================================== */

/* Grid Item Image Container */
.exfood-el-wrapper .ex-fdlist [class*="-image"] {
	position: relative !important;
	width: 100% !important;
	height: 220px !important;
	min-height: 160px !important;
	max-height: 260px !important;
	overflow: hidden !important;
	background-color: #f7f7f7 !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border-top-left-radius: inherit !important;
	border-top-right-radius: inherit !important;
}

.exfood-el-wrapper .ex-fdlist [class*="-image"] > a {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	position: relative !important;
	overflow: hidden !important;
}

.exfood-el-wrapper .ex-fdlist [class*="-image"] img {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: inherit !important;
	transition: transform 0.35s ease, filter 0.35s ease !important;
}

.exfood-el-wrapper .ex-fdlist [class*="exstyle-"]:hover [class*="-image"] img {
	transform: scale(1.04) !important;
}

/* ==========================================================================
   List Item Layout (Style 1, 2, 3, etc.)
   Ensures image is in left column, title + description in right column
   ========================================================================== */
.exfood-el-wrapper .ctlist figure[class*="fdstyle-list-"] {
	display: grid !important;
	grid-template-columns: auto 1fr !important;
	grid-template-rows: auto auto !important;
	column-gap: 18px !important;
	row-gap: 6px !important;
	align-items: start !important;
	width: 100% !important;
	position: relative !important;
	margin-bottom: 24px !important;
	min-height: 85px !important;
	box-sizing: border-box !important;
}

/* Clear legacy floats / pseudo-elements */
.exfood-el-wrapper .ctlist figure[class*="fdstyle-list-"]::before,
.exfood-el-wrapper .ctlist figure[class*="fdstyle-list-"]::after {
	display: none !important;
}

/* Column 1: Image Wrapper (Spans across title & description rows) */
.exfood-el-wrapper .ctlist figure[class*="fdstyle-list-"] > a.exfd_modal_click,
.exfood-el-wrapper .ctlist figure[class*="fdstyle-list-"] > .exf-img {
	grid-column: 1 !important;
	grid-row: 1 / span 2 !important;
	align-self: start !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}

.exfood-el-wrapper .ctlist .exf-img {
	float: none !important;
	display: block !important;
	width: 80px !important;
	height: 80px !important;
	min-width: 80px !important;
	max-width: 80px !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	background-color: #f7f7f7 !important;
	border: 1px solid rgba(0, 0, 0, 0.08) !important;
	box-sizing: border-box !important;
	position: relative !important;
}

.exfood-el-wrapper .ctlist .exf-img img {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
	display: block !important;
	border-radius: inherit !important;
	transition: transform 0.3s ease !important;
}

.exfood-el-wrapper .ctlist figure[class*="fdstyle-list-"]:hover .exf-img img {
	transform: scale(1.06) !important;
}

/* Column 2, Row 1: Title & Price header */
.exfood-el-wrapper .ctlist figure[class*="fdstyle-list-"] > [class*="fdlist_"][class*="_detail"] {
	grid-column: 2 !important;
	grid-row: 1 !important;
	min-width: 0 !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Column 2, Row 2: Description text starts directly on the right side of the image */
.exfood-el-wrapper .ctlist figure[class*="fdstyle-list-"] > [class*="fdlist_"][class*="_des"],
.exfood-el-wrapper .ctlist figure[class*="fdstyle-list-"] > .exwf-sdes {
	grid-column: 2 !important;
	grid-row: 2 !important;
	min-width: 0 !important;
	width: 100% !important;
	margin: 0 !important;
	position: relative !important;
	padding-right: 44px !important;
	box-sizing: border-box !important;
}

.exfood-el-wrapper .ctlist .fdstyle-list-1 .fdlist_1_des p,
.exfood-el-wrapper .ctlist [class*="fdstyle-list-"] .exwf-sdes p,
.exfood-el-wrapper .ctlist [class*="fdstyle-list-"] [class*="_des"] p {
	margin: 0 !important;
	padding: 2px 0 0 0 !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
	color: #666 !important;
	text-align: left !important;
}

/* Plus / Add to cart button positioned neatly on the right */
.exfood-el-wrapper .ctlist .fdstyle-list-1 .fdlist_1_des button,
.exfood-el-wrapper .ctlist [class*="fdstyle-list-"] button.exfd-choice {
	position: absolute !important;
	top: 2px !important;
	right: 0 !important;
	margin: 0 !important;
}

/* Fallback / Placeholder image appearance */
.exfood-el-wrapper img.exfood-fallback-thumb {
	background: #f1f5f9 !important;
	object-fit: cover !important;
	display: block !important;
}

/* Explicitly hide images when show_image is set to 'no' */
.exfood-el-wrapper.exfood-hide-images .ex-fdlist [class*="-image"],
.exfood-el-wrapper.exfood-hide-images .ctlist .exf-img {
	display: none !important;
	height: 0 !important;
	width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Figcaption content container */
.exfood-el-wrapper .ex-fdlist [class*="exstyle-"] figcaption {
	display: flex !important;
	flex-direction: column !important;
	flex-grow: 1 !important;
	box-sizing: border-box !important;
	margin-bottom: 0 !important;
	position: relative !important;
}

/* Reset woo-exfood legacy margins & bloated paddings on figcaption */
.exfood-el-wrapper .ex-fdlist .exstyle-1 figcaption {
	padding: 15px 15px 18px 15px !important;
	margin-bottom: 0 !important;
}

.exfood-el-wrapper .ex-fdlist .exstyle-2 figcaption {
	padding: 18px 18px 20px 18px !important;
	padding-bottom: 20px !important;
	margin-bottom: 0 !important;
}

.exfood-el-wrapper .ex-fdlist .exstyle-4 figcaption,
.exfood-el-wrapper .ex-fdlist .exstyle-5 figcaption,
.exfood-el-wrapper .ex-fdlist .exstyle-6 figcaption {
	padding: 15px 15px 18px 15px !important;
	margin-bottom: 0 !important;
}

/* Food Title */
.exfood-el-wrapper .ex-fdlist [class*="exstyle-"] figcaption h3 {
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	line-height: 1.3 !important;
}

/* Food Price */
.exfood-el-wrapper .ex-fdlist [class*="exstyle-"] figcaption h5 {
	margin: 0 0 8px 0 !important;
	padding: 0 !important;
	line-height: 1.2 !important;
}

/* Food Description: takes middle space and does NOT overlap */
.exfood-el-wrapper .ex-fdlist [class*="exstyle-"] figcaption .exwf-shdes,
.exfood-el-wrapper .ex-fdlist [class*="exstyle-"] figcaption > p {
	flex-grow: 1 !important;
	margin-top: 8px !important;
	margin-bottom: 15px !important;
	line-height: 1.5 !important;
	font-size: 14px !important;
	color: #666666 !important;
}

.exfood-el-wrapper .ex-fdlist [class*="exstyle-"] figcaption .exwf-shdes p {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.5 !important;
}

/* CRITICAL FIX: Add to Cart button container in Grid */
/* Remove absolute positioning so the button NEVER overlaps the description */
.exfood-el-wrapper .ex-fdlist [class*="exstyle-"] figcaption .exbt-inline,
.exfood-el-wrapper .ex-fdlist .ctgrid .item-grid figure figcaption .exbt-inline {
	position: relative !important;
	bottom: auto !important;
	left: auto !important;
	transform: none !important;
	margin-top: auto !important;
	margin-bottom: 0 !important;
	padding-top: 10px !important;
	width: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	clear: both !important;
}

/* Clear legacy absolute positioning on buttons inside the container */
.exfood-el-wrapper .ex-fdlist [class*="exstyle-"] figcaption .exbt-inline form.cart button,
.exfood-el-wrapper .ex-fdlist [class*="exstyle-"] figcaption .exbt-inline button[type="submit"],
.exfood-el-wrapper .ex-fdlist [class*="exstyle-"] figcaption .exbt-inline .exstyle-1-button,
.exfood-el-wrapper .ex-fdlist [class*="exstyle-"] figcaption .exbt-inline .exstyle-2-button,
.exfood-el-wrapper .ex-fdlist [class*="exstyle-"] figcaption .exbt-inline .exstyle-3-button,
.exfood-el-wrapper .ex-fdlist [class*="exstyle-"] figcaption .exbt-inline .exstyle-4-button {
	position: static !important;
	bottom: auto !important;
	left: auto !important;
	transform: none !important;
	float: none !important;
	margin: 0 !important;
}

/* Cart Form & Quantity layout */
.exfood-el-wrapper .ex-fdlist .exbt-inline .exwoofood-woocommerce form.cart {
	display: inline-flex !important;
	align-items: stretch !important;
	justify-content: center !important;
	flex-wrap: nowrap !important;
	gap: 0 !important;
	margin: 0 auto !important;
	vertical-align: middle !important;
}

/* Quantity box when inline quantity is active */
.exfood-el-wrapper .ex-fdlist .exbt-inline.exwf-show-inlgty .exwoofood-woocommerce.woocommerce .quantity {
	float: none !important;
	display: inline-block !important;
	position: relative !important;
	margin: 0 !important;
	max-width: 52px !important;
}

.exfood-el-wrapper .ex-fdlist .exbt-inline.exwf-show-inlgty .exwoofood-woocommerce.woocommerce .quantity input[type=number] {
	height: 38px !important;
	max-height: 38px !important;
	line-height: 38px !important;
	border-radius: 4px 0 0 4px !important;
	border: 1px solid #ea1f2e !important;
	border-right: none !important;
	margin: 0 !important;
	padding: 0 16px 0 8px !important;
	width: 52px !important;
	max-width: 52px !important;
	box-sizing: border-box !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #222222 !important;
	text-align: center !important;
	background: #ffffff !important;
	-moz-appearance: textfield !important;
}

.exfood-el-wrapper .ex-fdlist .exbt-inline.exwf-show-inlgty .exwoofood-woocommerce.woocommerce .quantity input[type=number]::-webkit-outer-spin-button,
.exfood-el-wrapper .ex-fdlist .exbt-inline.exwf-show-inlgty .exwoofood-woocommerce.woocommerce .quantity input[type=number]::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

/* Quantity chevron buttons */
.exfood-el-wrapper .ex-fdlist .exbt-inline.exwf-show-inlgty .exwoofood-woocommerce.woocommerce .quantity .inqty-icon {
	position: absolute !important;
	right: 4px !important;
	cursor: pointer !important;
	color: #666666 !important;
	z-index: 5 !important;
}

.exfood-el-wrapper .ex-fdlist .exbt-inline.exwf-show-inlgty .exwoofood-woocommerce.woocommerce .quantity .ion-chevron-up {
	top: 2px !important;
}

.exfood-el-wrapper .ex-fdlist .exbt-inline.exwf-show-inlgty .exwoofood-woocommerce.woocommerce .quantity .ion-chevron-down {
	bottom: 2px !important;
	top: auto !important;
}

/* Add to Cart Submit button */
.exfood-el-wrapper .ex-fdlist .exbt-inline form.cart button[type="submit"],
.exfood-el-wrapper .ex-fdlist .exbt-inline button.single_add_to_cart_button {
	height: 38px !important;
	line-height: 38px !important;
	padding: 0 18px !important;
	border-radius: 0 4px 4px 0 !important;
	background-color: #ea1f2e !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	letter-spacing: 0.5px !important;
	margin: 0 !important;
	float: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	transition: opacity 0.2s ease !important;
	border: 1px solid #ea1f2e !important;
}

.exfood-el-wrapper .ex-fdlist .exbt-inline form.cart button[type="submit"]:hover,
.exfood-el-wrapper .ex-fdlist .exbt-inline button.single_add_to_cart_button:hover {
	opacity: 0.9 !important;
}

/* Clean rounded borders on button when quantity input is hidden */
.exfood-el-wrapper .ex-fdlist .exbt-inline:not(.exwf-show-inlgty) form.cart button[type="submit"],
.exfood-el-wrapper .ex-fdlist .exbt-inline:not(.exwf-show-inlgty) > a,
.exfood-el-wrapper .ex-fdlist .exbt-inline:not(.exwf-show-inlgty) [class*="-button"] {
	border-radius: 4px !important;
	height: 38px !important;
	line-height: 38px !important;
	padding: 0 22px !important;
}

/* Food Menu Group - Sticky Navigation & Tabs Fix */
.exfood-el-wrapper .ex-fdlist.exwf-mngrfilter,
.exfood-el-wrapper .exfd-filter.exsticky {
	background: #ffffff !important;
	padding: 10px 15px !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
	border-radius: 6px !important;
	z-index: 9999 !important;
}

.exfood-el-wrapper .ex-menu-list {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 6px !important;
}

.exfood-el-wrapper .ex-menu-list a {
	margin: 3px !important;
	border-radius: 4px !important;
	transition: all 0.2s ease !important;
}

/* Remove awkward downward triangle from active tab when tabs wrap */
.exfood-el-wrapper .ex-menu-list .ex-menu-item-active:after {
	display: none !important;
}

/* ==========================================================================
   Side Cart / Mini Cart Layout Fixes & Floating Cart Button
   ========================================================================== */

/* Floating Cart Bucket - Desktop & General */
body .ex-fdlist .exfd-shopping-cart,
body .exfd-shopping-cart {
	position: fixed !important;
	right: 18px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	z-index: 99999 !important;
	width: 52px !important;
	height: 52px !important;
	background-color: #8B0000 !important;
	border-radius: 50% !important;
	box-shadow: 0 4px 18px rgba(139, 0, 0, 0.35) !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
	opacity: 1 !important;
	visibility: visible !important;
}

body .ex-fdlist .exfd-shopping-cart:hover,
body .exfd-shopping-cart:hover {
	background-color: #FEBB16 !important;
	transform: translateY(-50%) scale(1.08) !important;
	box-shadow: 0 6px 24px rgba(254, 187, 22, 0.45) !important;
}

body .ex-fdlist .exfd-shopping-cart .exfd-cart-parent,
body .exfd-shopping-cart .exfd-cart-parent {
	position: relative !important;
	width: 100% !important;
	height: 100% !important;
	line-height: 52px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

body .ex-fdlist .exfd-shopping-cart .exfd-cart-parent a,
body .exfd-shopping-cart .exfd-cart-parent a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	text-decoration: none !important;
}

body .exfd-shopping-cart .exwf-iconsc,
body .ex-fdlist .exfd-shopping-cart .exwf-iconsc {
	font-size: 24px !important;
	color: #ffffff !important;
	transition: color 0.2s ease !important;
}

body .ex-fdlist .exfd-shopping-cart:hover .exwf-iconsc,
body .exfd-shopping-cart:hover .exwf-iconsc {
	color: #222222 !important;
}

/* Badge count on floating bucket */
body .ex-fdlist .exfd-shopping-cart .exfd-cart-parent .exfd-cart-num,
body .exfd-shopping-cart .exfd-cart-num {
	position: absolute !important;
	top: -5px !important;
	right: -5px !important;
	left: auto !important;
	border-radius: 50% !important;
	width: 22px !important;
	height: 22px !important;
	line-height: 20px !important;
	text-align: center !important;
	background: #FEBB16 !important;
	color: #222222 !important;
	border: 2px solid #ffffff !important;
	font-weight: 800 !important;
	font-size: 11px !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
	transition: all 0.2s ease !important;
}

body .ex-fdlist .exfd-shopping-cart:hover .exfd-cart-num,
body .exfd-shopping-cart:hover .exfd-cart-num {
	background: #8B0000 !important;
	color: #ffffff !important;
}

/* Force visible & re-positioned on Mobile (<= 767px) */
@media screen and (max-width: 767px) {
	body .ex-fdlist .exfd-shopping-cart,
	body .exfd-shopping-cart {
		opacity: 1 !important;
		visibility: visible !important;
		z-index: 99999 !important;
		display: flex !important;
		position: fixed !important;
		bottom: 24px !important;
		top: auto !important;
		transform: none !important;
		right: 16px !important;
		left: auto !important;
		width: 50px !important;
		height: 50px !important;
		border-radius: 50% !important;
		background-color: #8B0000 !important;
		box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35) !important;
		pointer-events: auto !important;
	}

	body .ex-fdlist .exfd-shopping-cart:hover,
	body .exfd-shopping-cart:hover {
		transform: scale(1.05) !important;
	}

	body .ex-fdlist .exfd-shopping-cart:active,
	body .exfd-shopping-cart:active {
		transform: scale(0.95) !important;
	}

	body .ex-fdlist .exfd-shopping-cart .exfd-cart-parent,
	body .exfd-shopping-cart .exfd-cart-parent {
		line-height: 50px !important;
	}

	body .ex-fdlist .exfd-shopping-cart .exfd-cart-parent .exfd-cart-num,
	body .exfd-shopping-cart .exfd-cart-num {
		top: -4px !important;
		right: -4px !important;
		left: auto !important;
	}
}

/* Slide-out side cart drawer container */
body .exfd-cart-content {
	width: 360px !important;
	max-width: 90vw !important;
	height: 100vh !important;
	padding: 20px 20px 30px 20px !important;
	box-sizing: border-box !important;
	background: #ffffff !important;
	box-shadow: -5px 0 30px rgba(0, 0, 0, 0.15) !important;
	overflow-y: auto !important;
	z-index: 999999 !important;
}

/* Close button on top-right */
body .exfd-cart-content .exfd-close-cart {
	position: absolute !important;
	top: 15px !important;
	right: 15px !important;
	width: 30px !important;
	height: 30px !important;
	line-height: 28px !important;
	text-align: center !important;
	border-radius: 50% !important;
	background: #f4f4f4 !important;
	color: #333333 !important;
	font-size: 20px !important;
	font-weight: 400 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: none !important;
	padding: 0 !important;
	border: 1px solid #e0e0e0 !important;
	transition: all 0.2s ease !important;
	z-index: 99 !important;
}

body .exfd-cart-content .exfd-close-cart:hover {
	background: #8B0000 !important;
	color: #ffffff !important;
	border-color: #8B0000 !important;
}

/* Cart contents wrapper */
body .exfd-cart-content .exfd-cart-mini {
	margin-top: 30px !important;
	position: relative !important;
}

/* Empty cart message */
body .exfd-cart-content .woocommerce-mini-cart__empty-message {
	text-align: center !important;
	font-size: 15px !important;
	color: #666666 !important;
	padding: 40px 10px !important;
	margin: 0 !important;
}

/* Cart items list */
body .exfd-cart-content ul.woocommerce-mini-cart {
	margin: 15px 0 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
	width: 100% !important;
}

/* Each cart item row */
body .exfd-cart-content ul.woocommerce-mini-cart li,
body .ex-fdlist .exfd-cart-content .woocommerce-mini-cart li {
	position: relative !important;
	padding: 12px 28px 14px 68px !important;
	margin: 0 0 12px 0 !important;
	border-bottom: 1px solid #eeeeee !important;
	min-height: 60px !important;
	list-style: none !important;
	display: block !important;
	box-sizing: border-box !important;
}

/* Product thumbnail image */
body .exfd-cart-content ul.woocommerce-mini-cart li img,
body .ex-fdlist .exfd-cart-content .woocommerce-mini-cart li img {
	position: absolute !important;
	left: 0 !important;
	top: 12px !important;
	width: 54px !important;
	height: 54px !important;
	object-fit: cover !important;
	border-radius: 6px !important;
	border: 1px solid #ebebeb !important;
	margin: 0 !important;
}

/* Product title */
body .exfd-cart-content ul.woocommerce-mini-cart li a:not(.remove) {
	display: block !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	color: #222222 !important;
	margin-bottom: 8px !important;
	padding-right: 8px !important;
	text-decoration: none !important;
	word-break: break-word !important;
}

body .exfd-cart-content ul.woocommerce-mini-cart li a:not(.remove):hover {
	color: #ea1f2e !important;
}

/* Remove button (x) */
body .exfd-cart-content ul.woocommerce-mini-cart li a.remove,
body .exfd-cart-content .woocommerce-mini-cart a.remove.remove_from_cart_button {
	position: absolute !important;
	top: 12px !important;
	right: 0 !important;
	width: 20px !important;
	height: 20px !important;
	line-height: 18px !important;
	border-radius: 50% !important;
	background: #f5f5f5 !important;
	color: #888888 !important;
	border: 1px solid #dddddd !important;
	font-size: 14px !important;
	text-align: center !important;
	margin: 0 !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: all 0.2s ease !important;
	text-decoration: none !important;
}

body .exfd-cart-content ul.woocommerce-mini-cart li a.remove:hover,
body .exfd-cart-content .woocommerce-mini-cart a.remove.remove_from_cart_button:hover {
	background: #ea1f2e !important;
	color: #ffffff !important;
	border-color: #ea1f2e !important;
}

/* Quantity and price block */
body .exfd-cart-content .woocommerce-mini-cart li span.quantity {
	display: block !important;
	font-size: 13px !important;
	color: #555555 !important;
	line-height: 1.4 !important;
}

body .exfd-cart-content .woocommerce-mini-cart li .ex-hidden {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin-top: 6px !important;
}

/* Hide duplicate static quantity text when dynamic inputs exist */
body .exfd-cart-content .woocommerce-mini-cart li .ex-hidden + .quantity,
body .ex-fdlist .exfd-cart-mini .ex-hidden + .quantity {
	display: none !important;
}

/* Quantity controls */
body .exfd-cart-content .exwf-quantity {
	margin-bottom: 0 !important;
	display: inline-block !important;
}

body .exfd-cart-content .exwf-quantity .exwf-con-quantity {
	display: inline-flex !important;
	align-items: center !important;
	border: 1px solid #ea1f2e !important;
	border-radius: 4px !important;
	overflow: hidden !important;
	height: 28px !important;
	vertical-align: middle !important;
}

body .exfd-cart-content .exwf-quantity #exminus_ticket,
body .exfd-cart-content .exwf-quantity #explus_ticket {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 26px !important;
	height: 28px !important;
	line-height: 26px !important;
	background-color: #ea1f2e !important;
	color: #ffffff !important;
	border: none !important;
	cursor: pointer !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 0 !important;
	transition: opacity 0.2s ease !important;
}

body .exfd-cart-content .exwf-quantity #exminus_ticket:hover,
body .exfd-cart-content .exwf-quantity #explus_ticket:hover {
	opacity: 0.85 !important;
}

body .exfd-cart-content .exwf-quantity .quantity {
	display: inline-block !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
	width: auto !important;
	height: 28px !important;
}

body .exfd-cart-content .exwf-quantity input.qty,
body .exfd-cart-content .exwf-quantity input[type=number] {
	display: block !important;
	width: 32px !important;
	height: 26px !important;
	line-height: 26px !important;
	padding: 0 !important;
	margin: 0 !important;
	text-align: center !important;
	border: none !important;
	background: transparent !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #222222 !important;
	-moz-appearance: textfield !important;
}

body .exfd-cart-content .exwf-quantity input.qty::-webkit-outer-spin-button,
body .exfd-cart-content .exwf-quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

/* Item price */
body .exfd-cart-content .woocommerce-mini-cart li .woocommerce-Price-amount {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #222222 !important;
}

/* Subtotal row */
body .exfd-cart-content .woocommerce-mini-cart__total {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	width: 100% !important;
	float: none !important;
	text-align: left !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	border-top: 2px solid #eeeeee !important;
	padding: 16px 0 !important;
	margin: 15px 0 0 0 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	color: #111111 !important;
}

body .exfd-cart-content .woocommerce-mini-cart__total .woocommerce-Price-amount {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #ea1f2e !important;
}

/* Buttons container */
body .exfd-cart-content .woocommerce-mini-cart__buttons {
	display: flex !important;
	gap: 10px !important;
	width: 100% !important;
	margin: 10px 0 0 0 !important;
	padding: 0 !important;
}

/* View cart & Checkout buttons */
body .exfd-cart-content .woocommerce-mini-cart__buttons a {
	flex: 1 !important;
	width: 100% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 12px 14px !important;
	border-radius: 4px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-align: center !important;
	text-decoration: none !important;
	box-shadow: none !important;
	margin: 0 !important;
	transition: all 0.25s ease !important;
	letter-spacing: 0.5px !important;
}

body .exfd-cart-content .woocommerce-mini-cart__buttons a:not(.checkout) {
	background: #f0f0f0 !important;
	color: #333333 !important;
	border: 1px solid #dcdcdc !important;
}

body .exfd-cart-content .woocommerce-mini-cart__buttons a:not(.checkout):hover {
	background: #e0e0e0 !important;
	color: #111111 !important;
}

body .exfd-cart-content .woocommerce-mini-cart__buttons a.checkout {
	background: #8B0000 !important;
	color: #ffffff !important;
	border: 1px solid #8B0000 !important;
}

body .exfd-cart-content .woocommerce-mini-cart__buttons a.checkout:hover {
	background: #FEBB16 !important;
	color: #222222 !important;
	border-color: #FEBB16 !important;
}

/* ==========================================================================
   Food Single Product / Details Widget Styles
   ========================================================================== */

.exfood-single-product-wrapper {
	position: relative;
	width: 100%;
	box-sizing: border-box;
}

/* 2-Column Hero Section */
.exfood-single-hero-row {
	display: flex;
	flex-wrap: wrap;
	gap: 36px;
	margin-bottom: 40px;
	align-items: flex-start;
}

/* Desktop Column Ratios */
.exfood-single-product-wrapper.ratio-50-50 .exfood-single-col-image {
	flex: 0 0 calc(50% - 18px);
	max-width: calc(50% - 18px);
}
.exfood-single-product-wrapper.ratio-50-50 .exfood-single-col-details {
	flex: 0 0 calc(50% - 18px);
	max-width: calc(50% - 18px);
}

.exfood-single-product-wrapper.ratio-40-60 .exfood-single-col-image {
	flex: 0 0 calc(40% - 18px);
	max-width: calc(40% - 18px);
}
.exfood-single-product-wrapper.ratio-40-60 .exfood-single-col-details {
	flex: 0 0 calc(60% - 18px);
	max-width: calc(60% - 18px);
}

.exfood-single-product-wrapper.ratio-60-40 .exfood-single-col-image {
	flex: 0 0 calc(60% - 18px);
	max-width: calc(60% - 18px);
}
.exfood-single-product-wrapper.ratio-60-40 .exfood-single-col-details {
	flex: 0 0 calc(40% - 18px);
	max-width: calc(40% - 18px);
}

/* Main Image Box */
.exfood-single-main-image {
	position: relative;
	width: 100%;
	height: 420px;
	min-height: 420px;
	overflow: hidden;
	border-radius: 8px;
	background-color: #f8f8f8;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

.exfood-single-main-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: opacity 0.25s ease, transform 0.3s ease;
}

.exfood-no-image-placeholder {
	font-size: 48px;
	color: #cccccc;
}

/* Badges on Image */
.exfood-image-badges {
	position: absolute;
	top: 15px;
	left: 15px;
	z-index: 5;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

/* Gallery Thumbnails */
.exfood-single-gallery-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 16px;
}

.exfood-single-gallery-thumbs .exfood-gallery-item {
	width: 70px;
	height: 70px;
	border-radius: 6px;
	overflow: hidden;
	border: 2px solid transparent;
	cursor: pointer;
	transition: all 0.2s ease;
	background-color: #f4f4f4;
	box-sizing: border-box;
}

.exfood-single-gallery-thumbs .exfood-gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.exfood-single-gallery-thumbs .exfood-gallery-item:hover,
.exfood-single-gallery-thumbs .exfood-gallery-item.is-active {
	border-color: #ea1f2e;
	transform: scale(1.04);
}

/* Right Column Details */
.exfood-single-col-details {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}

.exfood-single-category {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
	background: transparent !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.exfood-single-category a {
	display: inline-flex;
	align-items: center;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	color: #8B0000;
	letter-spacing: 0.8px;
	background: rgba(139, 0, 0, 0.08);
	border: 1px solid rgba(139, 0, 0, 0.15);
	padding: 4px 14px;
	border-radius: 20px;
	text-decoration: none;
	width: fit-content;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	line-height: 1.4;
}

.exfood-single-category a:hover {
	background-color: #FEBB16 !important;
	color: #222222 !important;
	border-color: #FEBB16 !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 10px rgba(254, 187, 22, 0.35);
}

.exfood-single-title {
	font-size: 34px;
	font-weight: 800;
	line-height: 1.25;
	color: #1a1a1a;
	margin: 0 0 10px 0;
	letter-spacing: -0.5px;
}

.exfood-single-price {
	font-size: 28px;
	font-weight: 800;
	color: #8B0000;
	margin-bottom: 16px;
	line-height: 1.2;
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.exfood-single-price del {
	font-size: 19px;
	color: #888888;
	font-weight: 400;
	margin-right: 8px;
	text-decoration: line-through;
}

.exfood-single-short-desc {
	font-size: 15px;
	line-height: 1.68;
	color: #555555;
	margin-bottom: 22px;
}

.exfood-single-short-desc p {
	margin: 0 0 10px 0;
}

.exfood-single-short-desc p:last-child {
	margin-bottom: 0;
}

.exfood-single-divider {
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 1px solid #edf2f7;
	margin: 18px 0 24px 0;
	width: 100%;
}

/* Food Options / Add-ons */
.exfood-single-cart-area .variations {
	margin-bottom: 18px;
	width: 100%;
	border: none;
}

.exfood-single-cart-area .variations tr {
	display: flex;
	flex-direction: column;
	margin-bottom: 12px;
	border: none;
}

.exfood-single-cart-area .variations label {
	font-weight: 700;
	font-size: 14px;
	color: #222222;
	margin-bottom: 6px;
}

.exfood-single-cart-area .variations select {
	height: 44px;
	padding: 0 14px;
	border-radius: 6px;
	border: 1.5px solid #e2e8f0;
	font-size: 14px;
	width: 100%;
	max-width: 340px;
	background: #ffffff;
	transition: border-color 0.2s ease;
}

.exfood-single-cart-area .variations select:focus {
	border-color: #ea1f2e;
	outline: none;
}

/* Quantity & Add to Cart Area */
.exfood-single-cart-area form.cart {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
	margin-bottom: 18px;
}

/* Quantity Stepper (+/- Buttons) */
.exfood-single-cart-area form.cart .quantity {
	display: inline-flex !important;
	align-items: center !important;
	height: 48px;
	border: 1.5px solid #e2e8f0;
	border-radius: 8px;
	background: #f8fafc;
	overflow: hidden;
	box-sizing: border-box;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.exfood-single-cart-area form.cart .quantity:hover,
.exfood-single-cart-area form.cart .quantity:focus-within {
	border-color: #ea1f2e;
	box-shadow: 0 0 0 3px rgba(234, 31, 46, 0.1);
	background: #ffffff;
}

.exfood-single-cart-area form.cart .quantity .exfood-qty-btn {
	width: 40px;
	height: 100%;
	border: none;
	background: #edf2f7;
	color: #2d3748;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	user-select: none;
	transition: all 0.2s ease;
	padding: 0;
	margin: 0;
	outline: none;
}

.exfood-single-cart-area form.cart .quantity .exfood-qty-btn:hover {
	background-color: #FEBB16 !important;
	color: #222222 !important;
}

.exfood-single-cart-area form.cart .quantity .exfood-qty-btn:active {
	background-color: #e0a410 !important;
	color: #222222 !important;
	transform: scale(0.92);
}

.exfood-single-cart-area form.cart .quantity input.qty {
	height: 100%;
	width: 48px;
	border: none !important;
	background: transparent !important;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	color: #1a202c;
	padding: 0;
	margin: 0;
	-moz-appearance: textfield;
	outline: none;
}

.exfood-single-cart-area form.cart .quantity input.qty::-webkit-outer-spin-button,
.exfood-single-cart-area form.cart .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Add to Cart Button */
.exfood-single-cart-area form.cart button.single_add_to_cart_button {
	height: 48px;
	line-height: 48px;
	padding: 0 34px;
	background-color: #8B0000;
	color: #ffffff;
	border: 1.5px solid #8B0000;
	border-radius: 8px;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	cursor: pointer;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	white-space: nowrap;
	box-shadow: 0 4px 14px rgba(139, 0, 0, 0.25);
	outline: none;
}

.exfood-single-cart-area form.cart button.single_add_to_cart_button:hover {
	background-color: #FEBB16 !important;
	border-color: #FEBB16 !important;
	color: #222222 !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(254, 187, 22, 0.38) !important;
}

.exfood-single-cart-area form.cart button.single_add_to_cart_button:active {
	background-color: #e0a410 !important;
	border-color: #e0a410 !important;
	color: #222222 !important;
	transform: translateY(1px);
	box-shadow: 0 2px 6px rgba(254, 187, 22, 0.25) !important;
}

/* Stacked / Full-width button layout */
.exfood-btn-layout-block .exfood-single-cart-area form.cart {
	flex-direction: column;
	align-items: stretch;
}

.exfood-btn-layout-block .exfood-single-cart-area form.cart button.single_add_to_cart_button {
	width: 100%;
}

/* Closed Notice */
.exfood-closed-notice {
	padding: 12px 18px;
	background: #fff8e6;
	border-left: 4px solid #f59e0b;
	color: #92400e;
	font-size: 14px;
	font-weight: 600;
	border-radius: 0 8px 8px 0;
}

/* Meta */
.exfood-single-meta {
	font-size: 13px;
	color: #718096;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid #edf2f7;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.exfood-single-meta a {
	color: inherit;
	text-decoration: none;
	font-weight: 600;
}

.exfood-single-meta a:hover {
	color: #ea1f2e;
}

/* ==========================================================================
   Bottom Details Tabs Section
   ========================================================================== */

.exfood-single-bottom-tabs {
	margin-top: 45px;
	padding-top: 35px;
	border-top: 1.5px solid #edf2f7;
	width: 100%;
	clear: both;
}

/* Tab Navigation - Default Modern Restaurant Pills */
.exfood-details-nav {
	display: flex;
	gap: 10px;
	border-bottom: 1.5px solid #edf2f7;
	padding-bottom: 14px;
	margin-bottom: 25px;
	flex-wrap: wrap;
	align-items: center;
}

.exfood-details-nav-item,
button.exfood-details-nav-item {
	padding: 10px 22px;
	font-size: 14px;
	font-weight: 700;
	color: #333333 !important;
	background-color: #f4f5f7 !important;
	border: 1.5px solid #e2e8f0 !important;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	outline: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	box-shadow: none !important;
	line-height: 1.4;
}

.exfood-details-nav-item:hover,
button.exfood-details-nav-item:hover {
	color: #222222 !important;
	background-color: #FEBB16 !important;
	border-color: #FEBB16 !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(254, 187, 22, 0.3) !important;
}

.exfood-details-nav-item.is-active,
button.exfood-details-nav-item.is-active {
	color: #ffffff !important;
	background-color: #8B0000 !important;
	border-color: #8B0000 !important;
	box-shadow: 0 4px 14px rgba(139, 0, 0, 0.25) !important;
	transform: translateY(-1px);
}

/* Underline layout variant */
.exfood-tabs-style-underline .exfood-details-nav {
	padding-bottom: 0;
}
.exfood-tabs-style-underline .exfood-details-nav-item,
.exfood-tabs-style-underline button.exfood-details-nav-item {
	background-color: transparent !important;
	border-radius: 0 !important;
	border: none !important;
	border-bottom: 3px solid transparent !important;
	margin-bottom: -1.5px;
	box-shadow: none !important;
	color: #555555 !important;
}
.exfood-tabs-style-underline .exfood-details-nav-item:hover,
.exfood-tabs-style-underline button.exfood-details-nav-item:hover {
	color: #FEBB16 !important;
	border-bottom-color: #FEBB16 !important;
	transform: none !important;
}
.exfood-tabs-style-underline .exfood-details-nav-item.is-active,
.exfood-tabs-style-underline button.exfood-details-nav-item.is-active {
	color: #8B0000 !important;
	border-bottom-color: #8B0000 !important;
	transform: none !important;
}

/* Bordered layout variant */
.exfood-tabs-style-bordered .exfood-details-nav-item,
.exfood-tabs-style-bordered button.exfood-details-nav-item {
	background-color: #ffffff !important;
	border: 1.5px solid #e2e8f0 !important;
	color: #333333 !important;
}
.exfood-tabs-style-bordered .exfood-details-nav-item:hover,
.exfood-tabs-style-bordered button.exfood-details-nav-item:hover {
	border-color: #FEBB16 !important;
	background-color: #FEBB16 !important;
	color: #222222 !important;
}
.exfood-tabs-style-bordered .exfood-details-nav-item.is-active,
.exfood-tabs-style-bordered button.exfood-details-nav-item.is-active {
	color: #ffffff !important;
	background-color: #8B0000 !important;
	border-color: #8B0000 !important;
}

/* Tab Content Panels */
.exfood-details-content-wrap {
	width: 100%;
}

.exfood-details-panel {
	display: none;
	font-size: 15px;
	line-height: 1.7;
	color: #4a5568;
	padding: 10px 0;
}

.exfood-details-panel.is-active {
	display: block;
}

/* Nutrition Facts & Ingredients Container */
.exfood-nutrition-container {
	margin-top: 10px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

/* Calories Banner Hero Card */
.exfood-nutrition-calo-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 24px;
	background: linear-gradient(135deg, #fffdfa 0%, #fff7e6 100%);
	border: 1.5px solid #feeaae;
	border-left: 4px solid #FEBB16;
	border-radius: 10px;
	box-shadow: 0 4px 14px rgba(254, 187, 22, 0.08);
}

.exfood-calo-left {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.exfood-calo-badge {
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #8B0000;
	background: rgba(139, 0, 0, 0.08);
	padding: 3px 8px;
	border-radius: 4px;
	display: inline-block;
	width: fit-content;
}

.exfood-calo-title {
	font-size: 15px;
	font-weight: 700;
	color: #333333;
}

.exfood-calo-val-wrap {
	display: flex;
	align-items: baseline;
	gap: 4px;
}

.exfood-calo-num {
	font-size: 34px;
	font-weight: 800;
	color: #8B0000;
	line-height: 1;
	letter-spacing: -0.5px;
}

.exfood-calo-unit {
	font-size: 14px;
	font-weight: 700;
	color: #718096;
	text-transform: uppercase;
}

/* Nutrition Metrics Cards Grid */
.exfood-nutrition-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 14px;
}

.exfood-nutrition-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 16px 18px;
	background-color: #ffffff;
	border: 1px solid #e8ecf1;
	border-radius: 12px;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	box-sizing: border-box;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
}

.exfood-nutrition-card:hover {
	background-color: #ffffff;
	border-color: #FEBB16;
	box-shadow: 0 6px 18px rgba(254, 187, 22, 0.2);
	transform: translateY(-2px);
}

.exfood-nutrition-card-header {
	display: flex;
	align-items: center;
	gap: 8px;
}

.exfood-nutrition-indicator {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	display: inline-block;
	flex-shrink: 0;
	background-color: #8B0000;
}

.dot-protein .exfood-nutrition-indicator { background-color: #8B0000; }
.dot-carbo .exfood-nutrition-indicator { background-color: #FEBB16; }
.dot-fat .exfood-nutrition-indicator { background-color: #E67E22; }
.dot-fiber .exfood-nutrition-indicator { background-color: #27AE60; }
.dot-sodium .exfood-nutrition-indicator { background-color: #3498DB; }
.dot-choles .exfood-nutrition-indicator { background-color: #9B59B6; }
.dot-custom .exfood-nutrition-indicator { background-color: #8B0000; }

.exfood-nutrition-label {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	font-weight: 700;
	color: #64748b;
}

.exfood-nutrition-value {
	font-size: 22px;
	font-weight: 800;
	color: #1e293b;
	letter-spacing: -0.3px;
	line-height: 1.2;
}

/* Fresh Ingredients Box */
.exfood-ingredients-box {
	background-color: #fafaf8;
	border: 1px solid #ede8df;
	border-radius: 10px;
	padding: 18px 22px;
	margin-top: 5px;
}

.exfood-ingredients-header {
	margin-bottom: 8px;
}

.exfood-ingredients-badge {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	color: #8B0000;
	background: rgba(139, 0, 0, 0.06);
	padding: 4px 10px;
	border-radius: 6px;
	display: inline-block;
}

.exfood-ingredients-content {
	font-size: 14px;
	line-height: 1.65;
	color: #4b5563;
	margin: 0;
}

/* Disclaimer / Allergy Note */
.exfood-nutrition-disclaimer {
	font-size: 12px;
	color: #9ca3af;
	font-style: italic;
	line-height: 1.5;
	display: flex;
	align-items: flex-start;
	gap: 6px;
	padding: 4px 0;
}

.exfood-disclaimer-mark {
	font-weight: bold;
	font-style: normal;
	color: #FEBB16;
}

/* Responsive Mobile Layout */
@media (max-width: 768px) {
	.exfood-single-hero-row {
		flex-direction: column;
		gap: 24px;
	}

	.exfood-single-product-wrapper.reverse-mobile .exfood-single-hero-row {
		flex-direction: column-reverse;
	}

	.exfood-single-product-wrapper .exfood-single-col-image,
	.exfood-single-product-wrapper .exfood-single-col-details {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}

	.exfood-single-main-image {
		height: 300px;
		min-height: 300px;
	}

	.exfood-single-title {
		font-size: 26px;
	}

	.exfood-details-nav-item {
		padding: 10px 14px;
		font-size: 14px;
	}
}

/* ==========================================================================
   Food Menu Group - Navigation Controls
   ========================================================================== */

/* Hide Group Navigation when selected */
.exfood-mngroup-nav-hide .exwf-mngrfilter,
.exfood-mngroup-nav-hide .ex-fdlist.exwf-mngrfilter,
.exfood-mngroup-nav-hide .exfd-filter,
.exfood-hide-group-nav .exwf-mngrfilter,
.exfood-hide-group-nav .ex-fdlist.exwf-mngrfilter,
.exfood-hide-group-nav .exfd-filter {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Always Visible Group Navigation */
.exfood-mngroup-nav-always .exwf-mngrfilter,
.exfood-mngroup-nav-always .ex-fdlist.exwf-mngrfilter,
.exfood-always-group-nav .exwf-mngrfilter,
.exfood-always-group-nav .ex-fdlist.exwf-mngrfilter {
	display: block !important;
	position: relative !important;
	top: auto !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* ==========================================================================
   ExFood Header Cart Icon Widget & Shortcode
   ========================================================================== */
.elementor-widget-exfood_food_cart_icon {
	width: auto !important;
	max-width: 100%;
	display: inline-flex !important;
	align-items: center !important;
	vertical-align: middle !important;
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-widget-exfood_food_cart_icon .elementor-widget-container {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	line-height: 1 !important;
}

.exfood-header-cart-wrap {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	vertical-align: middle !important;
	position: relative !important;
	box-sizing: border-box !important;
	line-height: 1 !important;
	padding: 0 !important;
	margin: 0 !important;
}

.exfood-header-cart-wrap a.exfood-cart-trigger {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-decoration: none !important;
	cursor: pointer;
	color: #8B0000;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative !important;
	padding: 0 !important; /* Zero default padding so user header padding is respected */
	margin: 0 !important;
	border: 0;
	line-height: 1 !important;
	box-sizing: border-box !important;
	gap: 0 !important;
}

.exfood-header-cart-wrap a.exfood-cart-trigger.has-extra-content {
	gap: 8px !important;
}

.exfood-header-cart-wrap a.exfood-cart-trigger:hover {
	color: #FEBB16;
}

.exfood-header-cart-wrap .exfood-cart-icon-inner {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.exfood-header-cart-wrap .exfood-cart-icon-symbol {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 22px;
	line-height: 1 !important;
	color: inherit;
	transition: color 0.2s ease, transform 0.2s ease;
	margin: 0 !important;
	padding: 0 !important;
}

.exfood-header-cart-wrap a.exfood-cart-trigger:hover .exfood-cart-icon-symbol {
	transform: scale(1.06);
}

.exfood-header-cart-wrap .exfood-cart-icon-symbol i,
.exfood-header-cart-wrap .exfood-cart-icon-symbol svg {
	font-size: inherit;
	width: 1em;
	height: 1em;
	display: block !important;
	fill: currentColor;
	line-height: 1 !important;
}

/* Badge (Item count) */
.exfood-header-cart-wrap .exfood-cart-badge {
	position: absolute !important;
	top: -6px !important;
	right: -7px !important;
	background: #FEBB16 !important;
	color: #222222 !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	min-width: 17px !important;
	height: 17px !important;
	line-height: 17px !important;
	padding: 0 4px !important;
	border-radius: 9px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2) !important;
	border: 1.5px solid #ffffff !important;
	box-sizing: border-box !important;
	transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.2s ease, color 0.2s ease !important;
	z-index: 2 !important;
	pointer-events: none !important;
}

.exfood-header-cart-wrap a.exfood-cart-trigger:hover .exfood-cart-badge {
	background: #8B0000 !important;
	color: #ffffff !important;
	transform: scale(1.12) !important;
}

.exfood-header-cart-wrap .exfood-cart-badge.is-empty {
	display: none !important;
}

/* Label & Subtotal */
.exfood-header-cart-wrap .exfood-cart-label {
	font-size: 14px;
	font-weight: 700;
	color: inherit;
	line-height: 1.2;
	letter-spacing: 0.2px;
	margin: 0 !important;
	padding: 0 !important;
}

.exfood-header-cart-wrap .exfood-cart-subtotal {
	font-size: 14px;
	font-weight: 700;
	color: inherit;
	line-height: 1.2;
	margin: 0 !important;
	padding: 0 !important;
}

.exfood-header-cart-wrap .exfood-cart-subtotal-val {
	color: inherit;
}


