/* SFC Fix: cart item title overlapping the sandwich-mix details box */
.wpc-minicart-wrapper.style2 .wpc-woocommerce-mini-cart li {
	grid-template-rows: auto auto auto !important;
}
.wpc-minicart-wrapper.style2 .wpc-woocommerce-mini-cart li > a:not(.remove) {
	grid-row: 1 !important;
	align-self: start !important;
}
.wpc-minicart-wrapper.style2 .wpc-woocommerce-mini-cart li dl.variation {
	grid-row: 2 !important;
	align-self: start !important;
	margin-top: 4px !important;
}
.wpc-minicart-wrapper.style2 .wpc-woocommerce-mini-cart li .mini-cart-quantity-wrapper {
	grid-row: 3 !important;
}

/* SFC Fix: product links should never navigate anywhere on the site (popup/mini-cart only flow) - dead click everywhere */
a[href*="/product/"] {
	pointer-events: none !important;
	cursor: default !important;
	color: inherit !important;
	text-decoration: none !important;
}

/* SFC: Floating mini-cart button redesign - brand maroon/white */
.wpc_cart_icon.wpc_cart_icon {
	background: #8B1A1A !important;
	border-radius: 50% !important;
	width: 60px !important;
	height: 60px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border: 3px solid #fff !important;
	box-shadow: 0 6px 18px rgba(139,26,26,0.35) !important;
	transition: transform .2s ease, box-shadow .2s ease !important;
}
.wpc_cart_icon.wpc_cart_icon:hover {
	transform: scale(1.08) !important;
	box-shadow: 0 8px 24px rgba(139,26,26,0.5) !important;
}
.wpc_cart_icon.wpc_cart_icon .wpcafe-cart_icon {
	color: #fff !important;
	font-size: 26px !important;
}
.wpc_cart_icon.wpc_cart_icon .basket-item-count {
	background: #fff !important;
	border: 2px solid #8B1A1A !important;
	border-radius: 50% !important;
	width: 24px !important;
	height: 24px !important;
	top: -6px !important;
	right: -6px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: 0 2px 6px rgba(0,0,0,0.2) !important;
}
.wpc_cart_icon.wpc_cart_icon .basket-item-count .wpc-mini-cart-count {
	color: #8B1A1A !important;
	font-weight: 800 !important;
	font-size: 12px !important;
}

/* SFC: chef-with-cart icon replacing plain cart glyphs */
.wpcafe-cart_icon, .eicon-cart-medium {
	color: transparent !important;
	background-color: #ffffff !important;
	width: 24px !important;
	height: 24px !important;
	display: inline-block !important;
	-webkit-mask-image: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8IS0tIGNoZWYgaGF0IC0tPgogIDxyZWN0IHg9IjM0IiB5PSIyMCIgd2lkdGg9IjMyIiBoZWlnaHQ9IjEyIiBmaWxsPSIjZmZmZmZmIi8+CiAgPGNpcmNsZSBjeD0iNDAiIGN5PSIyNCIgcj0iMTAiIGZpbGw9IiNmZmZmZmYiLz4KICA8Y2lyY2xlIGN4PSI1MCIgY3k9IjE3IiByPSIxMi41IiBmaWxsPSIjZmZmZmZmIi8+CiAgPGNpcmNsZSBjeD0iNjAiIGN5PSIyNCIgcj0iMTAiIGZpbGw9IiNmZmZmZmYiLz4KICA8cmVjdCB4PSIzMiIgeT0iMzIiIHdpZHRoPSIzNiIgaGVpZ2h0PSI5IiByeD0iMyIgZmlsbD0iI2ZmZmZmZiIvPgogIDwhLS0gY2FydCAtLT4KICA8cGF0aCBkPSJNMjIgNDggTDc4IDQ4IEw3MCA3OCBMMzAgNzggWiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2Utd2lkdGg9IjUuNSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgPHBhdGggZD0iTTIyIDQ4IEwxNCA0OCBMMTAgNDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZmZmZiIgc3Ryb2tlLXdpZHRoPSI1LjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogIDxsaW5lIHgxPSIzMCIgeTE9Ijc4IiB4Mj0iMzgiIHkyPSI4OCIgc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2Utd2lkdGg9IjUuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgPGxpbmUgeDE9IjcwIiB5MT0iNzgiIHgyPSI2MiIgeTI9Ijg4IiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iNS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICA8Y2lyY2xlIGN4PSIzOCIgY3k9IjkwIiByPSI1LjUiIGZpbGw9IiNmZmZmZmYiLz4KICA8Y2lyY2xlIGN4PSI2MiIgY3k9IjkwIiByPSI1LjUiIGZpbGw9IiNmZmZmZmYiLz4KPC9zdmc+Cg==) !important;
	mask-image: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8IS0tIGNoZWYgaGF0IC0tPgogIDxyZWN0IHg9IjM0IiB5PSIyMCIgd2lkdGg9IjMyIiBoZWlnaHQ9IjEyIiBmaWxsPSIjZmZmZmZmIi8+CiAgPGNpcmNsZSBjeD0iNDAiIGN5PSIyNCIgcj0iMTAiIGZpbGw9IiNmZmZmZmYiLz4KICA8Y2lyY2xlIGN4PSI1MCIgY3k9IjE3IiByPSIxMi41IiBmaWxsPSIjZmZmZmZmIi8+CiAgPGNpcmNsZSBjeD0iNjAiIGN5PSIyNCIgcj0iMTAiIGZpbGw9IiNmZmZmZmYiLz4KICA8cmVjdCB4PSIzMiIgeT0iMzIiIHdpZHRoPSIzNiIgaGVpZ2h0PSI5IiByeD0iMyIgZmlsbD0iI2ZmZmZmZiIvPgogIDwhLS0gY2FydCAtLT4KICA8cGF0aCBkPSJNMjIgNDggTDc4IDQ4IEw3MCA3OCBMMzAgNzggWiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2Utd2lkdGg9IjUuNSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgPHBhdGggZD0iTTIyIDQ4IEwxNCA0OCBMMTAgNDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZmZmZiIgc3Ryb2tlLXdpZHRoPSI1LjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogIDxsaW5lIHgxPSIzMCIgeTE9Ijc4IiB4Mj0iMzgiIHkyPSI4OCIgc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2Utd2lkdGg9IjUuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgPGxpbmUgeDE9IjcwIiB5MT0iNzgiIHgyPSI2MiIgeTI9Ijg4IiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iNS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICA8Y2lyY2xlIGN4PSIzOCIgY3k9IjkwIiByPSI1LjUiIGZpbGw9IiNmZmZmZmYiLz4KICA8Y2lyY2xlIGN4PSI2MiIgY3k9IjkwIiByPSI1LjUiIGZpbGw9IiNmZmZmZmYiLz4KPC9zdmc+Cg==) !important;
	-webkit-mask-repeat: no-repeat !important;
	mask-repeat: no-repeat !important;
	-webkit-mask-position: center !important;
	mask-position: center !important;
	-webkit-mask-size: contain !important;
	mask-size: contain !important;
}
.wpcafe-cart_icon:before, .eicon-cart-medium:before {
	content: '' !important;
}


/* SFC: eye-catching animated Packages category button */
.sfc-cat-btn-packages {
	background: linear-gradient(135deg, #8B1A1A, #a52a2a) !important;
	border-color: #8B1A1A !important;
	color: #ffffff !important;
	overflow: hidden !important;
	position: relative !important;
	z-index: 1;
	animation: sfcPackagesPulse 2.2s ease-in-out infinite !important;
}
.sfc-cat-btn-packages, .sfc-cat-btn-packages .sfc-cat-label, .sfc-cat-btn-packages .sfc-cat-icon, .sfc-cat-btn-packages svg, .sfc-cat-btn-packages path {
	color: #ffffff !important;
}
.sfc-cat-btn-packages::after {
	content: '';
	position: absolute;
	top: 0;
	left: -150%;
	width: 60%;
	height: 100%;
	background: linear-gradient(120deg, transparent, rgba(255,255,255,0.75), transparent);
	transform: skewX(-20deg);
	animation: sfcPackagesShine 2.6s ease-in-out infinite;
	pointer-events: none;
}
@keyframes sfcPackagesShine {
	0% { left: -150%; }
	55% { left: 150%; }
	100% { left: 150%; }
}
@keyframes sfcPackagesPulse {
	0%, 100% { box-shadow: 0 3px 12px rgba(139,26,26,0.3); transform: scale(1); }
	50% { box-shadow: 0 3px 26px rgba(139,26,26,0.7); transform: scale(1.02); }
}


/* SFC: specificity boost to beat plugin inline CSS for Packages button */
.sfc-cat-btn-packages.sfc-cat-btn-packages.sfc-cat-btn-packages {
	background: linear-gradient(135deg, #8B1A1A, #a52a2a) !important;
	border-color: #8B1A1A !important;
	color: #ffffff !important;
}
.sfc-cat-btn-packages.sfc-cat-btn-packages.sfc-cat-btn-packages .sfc-cat-label {
	color: #ffffff !important;
}
.sfc-cat-btn-packages.sfc-cat-btn-packages.sfc-cat-btn-packages .sfc-cat-icon,
.sfc-cat-btn-packages.sfc-cat-btn-packages.sfc-cat-btn-packages svg {
	color: #ffffff !important;
}
.sfc-cat-btn-packages.sfc-cat-btn-packages.sfc-cat-btn-packages path {
	stroke: #ffffff !important;
}


/* SFC: fix nudge label contrast against new maroon Packages button */
.sfc-cat-btn-packages .sfc-package-nudge.sfc-package-nudge {
	color: #ffffff !important;
	opacity: 0.92;
	font-weight: 700 !important;
}


/* SFC: Packages button restyle - dark charcoal with gold, distinct from active maroon tab */
.sfc-cat-btn-packages.sfc-cat-btn-packages.sfc-cat-btn-packages {
	background: linear-gradient(135deg, #1c1c1c, #333333) !important;
	border-color: #D4AF37 !important;
	border-width: 2px !important;
	color: #D4AF37 !important;
	animation: sfcPackagesPulseGold 2.2s ease-in-out infinite !important;
}
.sfc-cat-btn-packages.sfc-cat-btn-packages.sfc-cat-btn-packages .sfc-cat-label {
	color: #E8C158 !important;
}
.sfc-cat-btn-packages.sfc-cat-btn-packages.sfc-cat-btn-packages .sfc-cat-icon,
.sfc-cat-btn-packages.sfc-cat-btn-packages.sfc-cat-btn-packages svg {
	color: #E8C158 !important;
}
.sfc-cat-btn-packages.sfc-cat-btn-packages.sfc-cat-btn-packages path {
	stroke: #E8C158 !important;
}
.sfc-cat-btn-packages .sfc-package-nudge.sfc-package-nudge {
	color: #E8C158 !important;
}
.sfc-cat-btn-packages::after {
	background: linear-gradient(120deg, transparent, rgba(212,175,55,0.55), transparent) !important;
}
@keyframes sfcPackagesPulseGold {
	0%, 100% { box-shadow: 0 3px 12px rgba(212,175,55,0.3); transform: scale(1); }
	50% { box-shadow: 0 3px 26px rgba(212,175,55,0.75); transform: scale(1.02); }
}


/* SFC: contain the Packages shine sweep to just this button */
.sfc-cat-btn-packages.sfc-cat-btn-packages.sfc-cat-btn-packages.sfc-cat-btn-packages {
	overflow: hidden !important;
	clip-path: inset(0 round 14px);
}


/* BEST VALUE badge - Corporate & Family Packages card */
.elementor-element-6e5d43f.elementor-element-6e5d43f {
  position: relative !important;
}
.elementor-element-6e5d43f.elementor-element-6e5d43f::before {
  content: "\2605 BEST VALUE" !important;
  position: absolute !important;
  top: 16px !important;
  left: 14px !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
  max-width: max-content !important;
  inset: auto auto auto 14px !important;
  background: linear-gradient(135deg, #D4AF37, #F6E7A8 50%, #D4AF37) !important;
  color: #1c1c1c !important;
  font-weight: 800 !important;
  font-size: 12.5px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.5px !important;
  padding: 7px 16px !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.4), 0 0 0 2px rgba(255,255,255,0.65) inset !important;
  z-index: 20 !important;
  transform: rotate(-5deg) !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  display: inline-block !important;
  opacity: 1 !important;
  pointer-events: none !important;
  animation: sfcBestValuePop 1.8s ease-in-out infinite !important;
}
@keyframes sfcBestValuePop {
  0%, 100% { transform: rotate(-5deg) scale(1); box-shadow: 0 4px 14px rgba(0,0,0,0.4), 0 0 0 2px rgba(255,255,255,0.65) inset; }
  50% { transform: rotate(-5deg) scale(1.08); box-shadow: 0 4px 22px rgba(212,175,55,0.7), 0 0 0 2px rgba(255,255,255,0.85) inset; }
}


/* ===== SFC: Package & Individually-Wrapped-Meal dropdowns =====
   Exclude these from the sitewide "big red button" rule, restore the
   widget's own clean design, and color-code each dish by food type. */

/* Reset trigger buttons back to clean white pill (undo sitewide red) */
.sfc-pkg-dropdown-btn.sfc-pkg-dropdown-btn.sfc-pkg-dropdown-btn,
.sfc-iw-dropdown-btn.sfc-iw-dropdown-btn.sfc-iw-dropdown-btn {
  background: #ffffff !important;
  border: 1px solid #dedede !important;
  border-radius: 10px !important;
  color: #111111 !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  box-shadow: none !important;
}

/* Reset option list items back to clean, simple rows (undo sitewide red pill) */
.sfc-pkg-dropdown-option.sfc-pkg-dropdown-option.sfc-pkg-dropdown-option,
.sfc-iw-dropdown-option.sfc-iw-dropdown-option.sfc-iw-dropdown-option {
  background: transparent !important;
  border: 0 !important;
  border-left: 3px solid var(--sfc-food-dot, #d8d8d8) !important;
  border-radius: 8px !important;
  color: #171717 !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  box-shadow: none !important;
  padding-left: 12px !important;
}
.sfc-pkg-dropdown-option.sfc-pkg-dropdown-option:hover,
.sfc-pkg-dropdown-option.sfc-selected,
.sfc-iw-dropdown-option.sfc-iw-dropdown-option:hover,
.sfc-iw-dropdown-option.sfc-selected {
  background: rgba(0,0,0,0.035) !important;
  color: #171717 !important;
}

/* Small color-coded dot per dish, matched to sauce/food tone */
.sfc-pkg-dropdown-option::before, .sfc-iw-dropdown-option::before {
  content: "" !important;
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  margin-right: 8px !important;
  vertical-align: middle !important;
  background: var(--sfc-food-dot, #b7b7b7) !important;
}

/* Meats & mains - seared/roasted brown */
.sfc-pkg-dropdown-option[data-value="Veal Parmesan"],
.sfc-pkg-dropdown-option[data-value="Chicken Parmesan"],
.sfc-pkg-dropdown-option[data-value="Meatballs"],
.sfc-pkg-dropdown-option[data-value="Grilled Chicken"],
.sfc-pkg-dropdown-option[data-value="Italian Sausage"],
.sfc-pkg-dropdown-option[data-value="Steak (Slices)"],
.sfc-pkg-dropdown-option[data-value="Eggplant Parmesan"],
.sfc-pkg-dropdown-option[data-value="Lasagna"],
.sfc-iw-dropdown-option[data-value="Veal Parmesan"],
.sfc-iw-dropdown-option[data-value="Chicken Parmesan"],
.sfc-iw-dropdown-option[data-value="Meatballs"],
.sfc-iw-dropdown-option[data-value="Grilled Chicken"],
.sfc-iw-dropdown-option[data-value="Italian Sausage"],
.sfc-iw-dropdown-option[data-value="Steak (Slices)"],
.sfc-iw-dropdown-option[data-value="Eggplant Parmesan"],
.sfc-iw-dropdown-option[data-value="Lasagna"] {
  --sfc-food-dot: #A64B2A;
}

/* Tomato / red-sauce pastas */
.sfc-pkg-dropdown-option[data-value="Penne alla Vodka"],
.sfc-pkg-dropdown-option[data-value="Spaghetti al Pomodoro"],
.sfc-pkg-dropdown-option[data-value="Penne al Pomodoro"],
.sfc-pkg-dropdown-option[data-value="Rigatoni Meat Sauce"],
.sfc-pkg-dropdown-option[data-value="Penne Rosé Sauce"],
.sfc-iw-dropdown-option[data-value="Penne alla Vodka"],
.sfc-iw-dropdown-option[data-value="Spaghetti al Pomodoro"],
.sfc-iw-dropdown-option[data-value="Penne al Pomodoro"],
.sfc-iw-dropdown-option[data-value="Rigatoni Meat Sauce"],
.sfc-iw-dropdown-option[data-value="Penne Rosé Sauce"] {
  --sfc-food-dot: #C1443C;
}

/* Creamy pastas */
.sfc-pkg-dropdown-option[data-value="Fettuccine Alfredo"],
.sfc-pkg-dropdown-option[data-value="Gnocchi alla Crema"],
.sfc-iw-dropdown-option[data-value="Fettuccine Alfredo"],
.sfc-iw-dropdown-option[data-value="Gnocchi alla Crema"] {
  --sfc-food-dot: #C99A3D;
}

/* Pesto */
.sfc-pkg-dropdown-option[data-value="Chicken Penne Pesto"],
.sfc-iw-dropdown-option[data-value="Chicken Penne Pesto"] {
  --sfc-food-dot: #6B8E4E;
}

/* Roasted / earthy sides */
.sfc-pkg-dropdown-option[data-value="Roasted Potatoes"],
.sfc-pkg-dropdown-option[data-value="Risotto (Mushroom)"],
.sfc-iw-dropdown-option[data-value="Roasted Potatoes"],
.sfc-iw-dropdown-option[data-value="Risotto (Mushroom)"] {
  --sfc-food-dot: #A9762F;
}

/* Salads & vegetables - fresh green */
.sfc-pkg-dropdown-option[data-value="Caesar Salad"],
.sfc-pkg-dropdown-option[data-value="Garden Salad"],
.sfc-pkg-dropdown-option[data-value="Greek Salad"],
.sfc-pkg-dropdown-option[data-value="Steamed Vegetables"],
.sfc-iw-dropdown-option[data-value="Caesar Salad"],
.sfc-iw-dropdown-option[data-value="Garden Salad"],
.sfc-iw-dropdown-option[data-value="Greek Salad"],
.sfc-iw-dropdown-option[data-value="Steamed Vegetables"] {
  --sfc-food-dot: #4C7A3D;
}


/* Order by Phone header button - match brand style */
.elementor-element-7c0ed495.elementor-element-7c0ed495.elementor-element-7c0ed495 a.elementor-button.elementor-button.elementor-button,
.elementor-element-0db4266.elementor-element-0db4266.elementor-element-0db4266 a.elementor-button.elementor-button.elementor-button {
  background-color: #8B1A1A !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 4px !important;
  box-shadow: 0 3px 10px rgba(139,26,26,0.35) !important;
  letter-spacing: 0.6px !important;
  transition: background-color 0.2s ease, transform 0.15s ease !important;
}
.elementor-element-7c0ed495.elementor-element-7c0ed495.elementor-element-7c0ed495 a.elementor-button.elementor-button.elementor-button:hover,
.elementor-element-0db4266.elementor-element-0db4266.elementor-element-0db4266 a.elementor-button.elementor-button.elementor-button:hover {
  background-color: #6f1414 !important;
  transform: translateY(-1px) !important;
}
.elementor-element-7c0ed495.elementor-element-7c0ed495.elementor-element-7c0ed495 a.elementor-button.elementor-button.elementor-button .elementor-button-icon,
.elementor-element-7c0ed495.elementor-element-7c0ed495.elementor-element-7c0ed495 a.elementor-button.elementor-button.elementor-button .elementor-button-text,
.elementor-element-0db4266.elementor-element-0db4266.elementor-element-0db4266 a.elementor-button.elementor-button.elementor-button .elementor-button-icon,
.elementor-element-0db4266.elementor-element-0db4266.elementor-element-0db4266 a.elementor-button.elementor-button.elementor-button .elementor-button-text {
  color: #ffffff !important;
}
.elementor-element-7c0ed495.elementor-element-7c0ed495.elementor-element-7c0ed495 a.elementor-button.elementor-button.elementor-button i.fa-phone-alt,
.elementor-element-0db4266.elementor-element-0db4266.elementor-element-0db4266 a.elementor-button.elementor-button.elementor-button i.fa-phone-alt {
  color: #F6E7A8 !important;
}


/* Product description highlighting - quantity/structure vs food examples */
.sfc-desc-qty {
  font-weight: 800;
  color: #8B1A1A;
}
.sfc-desc-food {
  font-weight: 700;
  font-style: italic;
  color: #8a5a1f;
}


/* Prevent double-tap-to-zoom on missed mobile taps (buttons/steppers/links) */
html {
  touch-action: manipulation;
}
button, a, input, .quantity, .sfc-qty-btn, .plus, .minus,
[class*='-plus'], [class*='-minus'], [class*='-btn'], [class*='-card'] {
  touch-action: manipulation;
}


/* ===== SFC Package / Wrapped-Meal customize-popup redesign (Regular/Premium/Deluxe + Individually Wrapped Meal) =====
   Richer version - matches the Corporate Sandwich Package builder's bold, colorful,
   card-grid feel: thick colored accents, tinted card backgrounds, side-by-side grid
   layout for the choice fields. No emoji icons - color is the only signal. */

.sfc-package-builder,
.sfc-iw-builder {
  background: linear-gradient(180deg, #fffafa 0%, #ffffff 55%) !important;
  border: 1px solid #f0dede !important;
  border-radius: 20px !important;
  padding: 20px !important;
  box-shadow: 0 8px 26px rgba(139,26,26,0.08) !important;
}

/* Hero heading block - thick red left border + tinted background, like the corporate builder's title card */
.sfc-pkg-heading,
.sfc-iw-heading {
  display: block !important;
  margin-bottom: 18px !important;
  padding: 16px 18px !important;
  border: none !important;
  border-left: 5px solid #8B1A1A !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #fff5f5 0%, #fdeeee 100%) !important;
  color: #555555 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}
.sfc-pkg-heading strong,
.sfc-iw-heading strong {
  display: block !important;
  margin-bottom: 6px !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  color: #111111 !important;
}
.sfc-pkg-heading strong::before,
.sfc-iw-heading strong::before {
  content: none !important;
}

/* Flexible grid for the choice fields - wraps to fit the container's actual width */
.sfc-package-builder,
.sfc-iw-builder {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}
.sfc-pkg-heading, .sfc-iw-heading,
.sfc-pkg-addons, .sfc-iw-addons,
.sfc-pkg-live-bottom, .sfc-iw-clean-total {
  flex: 1 1 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.sfc-pkg-field:has([data-sfc-dropdown]),
.sfc-iw-field:has([data-sfc-dropdown]) {
  flex: 1 1 150px !important;
  min-width: 150px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

/* Field cards - tinted background per category, thick colored left border, more presence */
.sfc-pkg-field,
.sfc-iw-field {
  border: 1px solid #eee0e0 !important;
  border-left-width: 4px !important;
  border-radius: 14px !important;
  box-shadow: 0 3px 10px rgba(0,0,0,0.04) !important;
}
.sfc-pkg-field label,
.sfc-iw-field label {
  color: #8B1A1A !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
}
/* Small red icon before each field label - same style as the product title icon, tinted by category */
.sfc-pkg-field label::before,
.sfc-iw-field label::before {
  content: '' !important;
  display: inline-block !important;
  width: 15px !important;
  height: 15px !important;
  margin-right: 6px !important;
  vertical-align: -3px !important;
  background-color: #8B1A1A !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 13c.5-3.5 3.8-5.5 8-5.5s7.5 2 8 5.5'/%3E%3Cpath d='M4 13h16v3.5c0 1.1-.9 2-2 2H6c-1.1 0-2-.9-2-2V13z'/%3E%3Cpath d='M7 15.5h10'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 13c.5-3.5 3.8-5.5 8-5.5s7.5 2 8 5.5'/%3E%3Cpath d='M4 13h16v3.5c0 1.1-.9 2-2 2H6c-1.1 0-2-.9-2-2V13z'/%3E%3Cpath d='M7 15.5h10'/%3E%3C/svg%3E") !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
}
.sfc-pkg-field:has([data-sfc-dropdown*='side']) label::before,
.sfc-iw-field:has([data-sfc-dropdown*='side']) label::before {
  background-color: #4C7A3D !important;
}
.sfc-pkg-field:has([data-sfc-dropdown*='drinks']) label::before,
.sfc-iw-field:has([data-sfc-dropdown*='drinks']) label::before {
  background-color: #3B6E91 !important;
}

/* Category color-coding - tinted background + accent border, richer than plain white */
.sfc-pkg-field:has([data-sfc-dropdown*='entree']),
.sfc-iw-field:has([data-sfc-dropdown*='entree']) {
  border-left-color: #8B1A1A !important;
  background: linear-gradient(180deg, #fff6f6 0%, #ffffff 65%) !important;
}
.sfc-pkg-field:has([data-sfc-dropdown*='entree']) label,
.sfc-iw-field:has([data-sfc-dropdown*='entree']) label {
  color: #8B1A1A !important;
}
.sfc-pkg-field:has([data-sfc-dropdown*='side']),
.sfc-iw-field:has([data-sfc-dropdown*='side']) {
  border-left-color: #4C7A3D !important;
  background: linear-gradient(180deg, #f6faf4 0%, #ffffff 65%) !important;
}
.sfc-pkg-field:has([data-sfc-dropdown*='side']) label,
.sfc-iw-field:has([data-sfc-dropdown*='side']) label {
  color: #4C7A3D !important;
}
.sfc-pkg-field:has([data-sfc-dropdown*='drinks']),
.sfc-iw-field:has([data-sfc-dropdown*='drinks']) {
  border-left-color: #3B6E91 !important;
  background: linear-gradient(180deg, #f4f8fa 0%, #ffffff 65%) !important;
}
.sfc-pkg-field:has([data-sfc-dropdown*='drinks']) label,
.sfc-iw-field:has([data-sfc-dropdown*='drinks']) label {
  color: #3B6E91 !important;
}

/* Dropdown trigger button - clean white pill that pops against the tinted card */
.sfc-pkg-dropdown-btn,
.sfc-iw-dropdown-btn {
  width: 100% !important;
  background: #ffffff !important;
  border: 1.5px solid #e6d3d3 !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #111111 !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05) !important;
  transition: border-color .15s ease, box-shadow .15s ease !important;
}
.sfc-pkg-dropdown-btn:hover,
.sfc-iw-dropdown-btn:hover,
.sfc-pkg-dropdown-btn:focus,
.sfc-iw-dropdown-btn:focus {
  border-color: #8B1A1A !important;
  box-shadow: 0 3px 10px rgba(139,26,26,0.14) !important;
}

/* Add-ons box - warm tinted card, red eyebrow label, no emoji */
.sfc-pkg-addons,
.sfc-iw-addons {
  clear: both !important;
  background: linear-gradient(135deg, #fffdf7 0%, #fff9ec 100%) !important;
  border: 1px solid #ecdcb0 !important;
  border-left: 4px solid #C99A3D !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  margin-top: 16px !important;
  margin-bottom: 10px !important;
  box-shadow: 0 3px 10px rgba(0,0,0,0.04) !important;
}
.sfc-pkg-addon-title,
.sfc-iw-addon-title {
  color: #8a6d1f !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  margin-bottom: 8px !important;
}
.sfc-pkg-addon-title::before,
.sfc-iw-addon-title::before {
  content: none !important;
}

.sfc-pkg-check,
.sfc-iw-check {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 7px 8px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: background .15s ease !important;
}
.sfc-pkg-check:hover,
.sfc-iw-check:hover {
  background: rgba(255,255,255,0.7) !important;
}
.sfc-pkg-check input[type='checkbox'],
.sfc-iw-check input[type='checkbox'] {
  width: 17px !important;
  height: 17px !important;
  accent-color: #8B1A1A !important;
  flex-shrink: 0 !important;
}

/* Live total box - bold red accent, stands out like the corporate order total */
.sfc-pkg-live-bottom,
.sfc-iw-clean-total {
  clear: both !important;
  background: linear-gradient(135deg, #fff5f5 0%, #ffffff 100%) !important;
  border: 1px solid #eadede !important;
  border-left: 4px solid #8B1A1A !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 18px rgba(139,26,26,0.1) !important;
}




/* === SFC CATERING PACKAGES (page 3993) MOBILE TITLE+PRICE FIX v3 — 2026-07-11 === */
@media (max-width: 575px){
  body.page-id-3993 .wpc-paginated-products-body .wpc-food-menu-item{
    height:auto !important;
    max-height:none !important;
    min-height:186px !important;
    overflow:visible !important;
  }
  body.page-id-3993 .wpc-paginated-products-body .wpc-food-menu-item .wpc-food-inner-content,
  body.page-id-3993 .wpc-paginated-products-body .wpc-food-menu-item .wpc-food-content,
  body.page-id-3993 .wpc-paginated-products-body .wpc-food-menu-item .product-content,
  body.page-id-3993 .wpc-paginated-products-body .wpc-food-menu-item > .wpc-col-md-8{
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
  }
  body.page-id-3993 .wpc-paginated-products-body .wpc-food-menu-item h3,
  body.page-id-3993 .wpc-paginated-products-body .wpc-food-menu-item h3 a,
  body.page-id-3993 .wpc-paginated-products-body .wpc-food-menu-item .wpc-post-title,
  body.page-id-3993 .wpc-paginated-products-body .wpc-food-menu-item .wpc-post-title a{
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
    white-space:normal !important;
    display:block !important;
  }
  body.page-id-3993 .wpc-paginated-products-body .wpc-food-menu-item .wpc-post-title .wpc-title-border{
    display:none !important;
  }
  /* one price under the title: force ORIGINAL price visible, beat the mobile-price-clone snippet */
  html body.page-id-3993 .wpc-paginated-products-body .wpc-food-menu-item .wpc-menu-price,
  html body.page-id-3993 .wpc-paginated-products-body .wpc-food-menu-item .wpc-menu-currency{
    position:static !important;
    top:auto !important; left:auto !important; right:auto !important; bottom:auto !important;
    display:block !important;
    width:auto !important; max-width:none !important;
    margin:4px 0 0 0 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-align:left !important;
  }
  /* avoid double line when price is nested inside currency wrapper */
  html body.page-id-3993 .wpc-paginated-products-body .wpc-food-menu-item .wpc-menu-currency .wpc-menu-price{
    margin:0 !important;
  }
  /* hide the JS-cloned duplicate price cards on this page */
  html body.page-id-3993 .wpc-paginated-products-body .wpc-food-menu-item .sfc-mobile-card-price{
    display:none !important;
  }
  /* keep range max hidden so only one figure shows */
  html body.page-id-3993 .wpc-paginated-products-body .wpc-food-menu-item .wpc-menu-price .max_price{
    display:none !important;
  }
}
/* === END SFC MOBILE TITLE+PRICE FIX === */

/* Header top bar (Instagram / Google Reviews / email): match nav link styling */
.elementor-4180 .elementor-element.elementor-element-2040766 .elementor-icon-list-item .elementor-icon-list-text,
.elementor-4180 .elementor-element.elementor-element-2040766 .elementor-icon-list-item > a {
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.96px;
    text-transform: uppercase;
    color: #8B1A1A;
    transition: color .2s ease;
}
.elementor-4180 .elementor-element.elementor-element-2040766 .elementor-icon-list-item a:hover .elementor-icon-list-text {
    color: #5f1111;
}
/* Even gaps: rely on the list's flex gap; keep the email pushed right */
.elementor-4180 .elementor-element.elementor-element-2040766 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:not(:last-child) {
    margin-inline: 0;
}
.elementor-4180 .elementor-element.elementor-element-2040766 .elementor-icon-list-icon {
    margin-inline-end: 7px;
}

/* Mini cart: lift "Continue to Order Details" button up from the bottom edge (mobile + desktop) */
.wpc-minicart-wrapper .wpc-woocommerce-mini-cart__buttons {
    margin-bottom: 18px !important;
}

/* Mini cart (v2, Jul 11 evening): details list gets its own grid row below multi-line titles */
.wpc-minicart-wrapper.style2 .wpc-woocommerce-mini-cart li dl.variation {
    grid-area: 2 / 2 / auto / 3 !important;
    margin: 0 !important;
}
.wpc-minicart-wrapper.style2 .wpc-woocommerce-mini-cart li .mini-cart-quantity-wrapper {
    grid-area: 3 / 1 / auto / 3 !important;
}