/* Fonts */
@font-face {
	font-family: 'Gazpacho';
	src: url('../../XImages/fonts/Gazpacho-Bold.woff2') format('woff2'),
	     url('../../XImages/fonts/Gazpacho-Bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Chesna Grotesk';
	src: url('../../XImages/fonts/chesna_grotesk_regular.woff2') format('woff2'),
	     url('../../XImages/fonts/chesna_grotesk_regular.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Chesna Grotesk';
	src: url('../../XImages/fonts/chesna_grotesk_bold.woff2') format('woff2'),
	     url('../../XImages/fonts/chesna_grotesk_bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}


/* Global Color Variables
Primary: #F05B23 (Fresh Squeeze - Keke's signature K-Orange)
Secondary: #61803A (New Leaf - brand green)
Dark: #000000 (Dark Roast - primary text and borders)
Light: #FFFFFF (Whipped Cream - clean white)
Grey: #8D8D8D (Neutral mid-tone)
Cream: #FFEFD1 (Pancake Batter - warm accent backgrounds)
*/

:root {
	--primary: #F05B23;
	--secondary: #61803A;
	--dark: #000000;
	--light: #FFFFFF;

	--grey: #8D8D8D;
	--green: #61803A;
	--cream: #FFEFD1;
	--vanilla: #FFF9EE;

	/* Define Fonts */
	--primary-font: 'Gazpacho', serif;
	--secondary-font: 'Chesna Grotesk', sans-serif;

	/* Bootstrap Overrides
    You can override bootstrap application default colours at root, by using the !important flag
    This will change ALL implementations of the bootstrap colour tags
    You can also override bootstrap colours for individual elements, do this when you don't want the changes to apply globally. */

	--bs-black: var(--dark) !important;
	--bs-link-hover-color-rgb: var(--dark) !important;
	--bs-primary: var(--primary) !important;
	--bs-background-blue: var(--secondary) !important;
	--bs-emphasis-color: var(--primary) !important;
	--bs-heading-color: var(--primary) !important;
	--bs-medium-grey: var(--primary) !important;
	--bs-highlight-rgb: var(--primary) !important;
	--bs-highlight: var(--primary) !important;
	--bs-secondary-rgb: var(--dark) !important;
	--bs-gray: var(--dark) !important;
}


@keyframes descend {
	from {
		opacity: 0;
		transform: translateY(-50px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.card {
	opacity: 0;
	animation: descend .9s ease-in-out forwards;
}


/* Universal Elements */
a {
	color: var(--primary);
	background: transparent;
}

a:hover {
	color: var(--dark);
	background: transparent;

}

body {
	font-family: var(--secondary-font);
	color: var(--dark);
	background-color: var(--light);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--primary-font);
}


/* End Universal Elements */


/* Header */

.logo-container {
	display: flex;
	justify-content: flex-start;
}

.logo-container>a {
	display: block;
	width: 60%;
	max-width: 420px;
	min-width: 160px;
}

.logo-container>a>img {
	display: block;
	width: 100%;
	height: auto;
	filter: brightness(0) invert(1);
}

.navbar-main {
	height: 80px;
}

.c-dropdown-menu {
	padding: 0 15px !important;
}

.c-profile__group .c-dropdown-menu-card .c-dropdown-card .c-profile-links .c-dropdown-menu li .dropdown-item {
	border-bottom: 1px solid var(--dark) !important;
}

.c-btn__signin .btn,
.c-btn__signup .btn {
	white-space: nowrap;
}

.navbar-main {
	background: var(--secondary) !important;
	display: flex;
	justify-content: space-between;
	border-bottom: 4px solid #ffffff;
}

.navbar-brand {
	display: none;
}


.nav-item__language {
	display: none !important;
}


.header-links {
	display: none;
}

.header-container {
	width: 100%;
	display: flex;
	justify-content: space-between
}

.nav.c-nav__delivery {
	background: var(--primary) !important;
	color: var(--light) !important;
}

.nav-item>.c-btn__sm {
	color: #ffffff;
}

.nav-item>img {
	filter: brightness(0) invert(1);
}

/* Desktop Header */
@media only screen and (min-width:48.001rem) {}

/* Mobile Header */
@media only screen and (max-width:48rem) {
	.navbar-toggler-icon {
		filter: invert(1);
	}

	.c-nav__delivery .c-label__text {
		color: var(--light);
	}

	.c-header__main>nav>div {
		margin: auto;
		display: block !important;
	}

	.logo-container>a>img {
		margin: auto;
		width: 25% !important;
	}

	.navbar-cart__wrapper {
		display: flex;
		justify-content: space-between;
		position: absolute;
		top: 7px;
		width: 100%;
	}

	header.c-header__main nav.navbar {
		padding: 0.25rem 1rem .75rem !important;
	}


}

/* End Header */

/* Footer */

.left-footer-links,
.right-footer-links {
	display: flex;
	flex-direction: column;
}

.top-footer-links {
	display: flex;
	width: 50%;
	justify-content: space-evenly;
}

.bottom-footer {
	width: 100%;
	padding: 20px 20px 5px 20px;
}

.bottom-footer-links {
	display: flex;
	width: 100%;
	justify-content: space-between;
}

.bottom-footer-links>a,
.left-footer-links>a,
.right-footer-links>a,
footer h3 {
	color: var(--light);
}

.top-footer {
	display: flex;
	width: 100%;
	padding: 20px 0;
	border-top: 3px double var(--secondary);
    justify-content: center;
}

.bottom-footer {
	display: flex;
	justify-content: center;
	padding-top: 10px;
	padding-right: 45px;
	border-top: 1px dashed var(--light);
}

footer {
	padding-top: 5px;
	background: var(--dark);
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;

}

footer a {
	text-decoration: none;
}

.middle-footer-logo>img {
	width: 50%;
	filter: brightness(0) invert(1);
}

.middle-footer-logo {
	display: flex;
	justify-content: center;
}

#monkeyCopyRight>a {
	color: var(--secondary);
}

.copy_text {
	color: var(--light);
}

/* Desktop Footer */
@media only screen and (min-width:48.001rem) {}


/* Mobile Footer */

@media only screen and (max-width:48rem) {

	.top-footer,
	.top-footer-links,
	.bottom-footer,
	.bottom-footer-links {
		flex-direction: column;
		width: 100%;
		align-items: center;
		text-align: center;

	}

	.middle-footer-logo>img {
		width: 25%;
	}

	.bottom-footer {
		padding: 10px 0;
	}
}


/* End Footer */


/* Main Content */

/* Keke's Pancake Batter background for main content */
.c-main__layout,
.c-main__content,
main {
	background-color: var(--light) !important;
}

.card-product__price .btn-quick-add img {
	filter: brightness(0) invert(1);
	transition: filter 0.3s ease;
	background: transparent !important;
}

.card-product__price .btn-quick-add:hover img {
	filter: brightness(0) invert(1);
}


.btn-outline-primary {
	background-color: var(--dark);
	color: #ffffff;
	border: 2px solid var(--dark);
}


.c-checkout__details {
	border: 1px solid var(--dark);
	padding: 20px;
	background: var(--light);
	border-radius: 0.5rem;
}


#v-loyalty-rewards,
#v-saved-locations {
	margin-top: 3.375rem;
}


#v-loyalty-rewards>div:nth-child(1),
#v-saved-locations>div:nth-child(2) {
	display: none;
}

#v-pills-tab>.nav-item>.nav-link {
	border-bottom: 1px solid var(--dark);
}

.c-sidebar__account {
	margin: 3.375rem 3rem;
	border: 1px solid var(--dark);
	padding: 20px;
	background: var(--light);
	border-radius: 0.5rem;

}

#accountInformationForm {
	border: 1px solid var(--dark);
	padding: 20px;
	background: var(--light);
	border-radius: 0.5rem;
}

.nav-tabs__categories {
	padding: 10px;
	border: 1px solid var(--dark) !important;
	border-radius: 0.5rem;
}

#btnCheckoutFixed {
	background: var(--light);
	padding: 1rem 3rem 1rem 2.1rem;
}

.c-product-item__details .c-product__block {
	padding: 24px;
	border: 1px solid var(--dark);
	background: #ffffff;
	border-radius: 0.5rem;
}

.accordion-item:last-of-type .accordion-button.collapsed {
	border-radius: 0;
}

.btn-primary {
	--bs-btn-color: #ffffff !important;
	--bs-btn-bg: var(--dark) !important;
	--bs-btn-border-color: var(--dark) !important;
	--bs-btn-hover-color: var(--dark) !important;
	--bs-btn-hover-bg: transparent !important;
	--bs-btn-hover-border-color: var(--dark) !important;
	--bs-btn-focus-shadow-rgb: 0, 0, 0;
	--bs-btn-active-color: var(--dark) !important;
	--bs-btn-active-bg: transparent !important;
	--bs-btn-active-border-color: var(--dark) !important;
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color: #ffffff !important;
	--bs-btn-disabled-bg: #babbbd !important;
	--bs-btn-disabled-border-color: var(--grey) !important;
	border: 2px solid var(--dark) !important;
	border-radius: 0 !important;
}

.btn.btn-primary:hover {
	background-color: transparent !important;
	color: var(--dark) !important;
	border: 2px solid var(--dark) !important;
}

.c-card__product .card img,
.c-product-item__details .c-product__details .c-product__img {
	background-color: var(--light);
}

.c-group-filter .c-btn-filter:hover,
.c-group-filter .c-btn-filter:active,
.c-group-filter .c-btn-filter.show,
.c-group-filter .c-btn-filter:focus-visible,
.c-group-filter .icon__close:focus-visible {
	border: 1px solid var(--dark) !important;
}

#sidebarCart .btn-add-to-cart.c-collapse-arrow {
	background-color: var(--dark) !important;
	border: 2px solid var(--dark) !important;
	color: #ffffff !important;
}

#sidebarCart .btn-add-to-cart.c-collapse-arrow:hover,
#sidebarCart .btn-add-to-cart.c-collapse-arrow:active {
	background-color: transparent !important;
	border: 2px solid var(--dark) !important;
	color: var(--dark) !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
	background-color: var(--vanilla);
}

.c-collapse-arrow:hover {
	background-color: transparent !important;
	border: 2px solid var(--dark) !important;
	color: var(--dark) !important;
}

/* Tab Nav */
.c-product__tabs .nav-tabs .nav-item .nav-link.active::before {
	background-color: var(--primary);
	width: calc(100% + 0.5rem);
	left: -0.25rem;
}

.c-product__tabs .nav-tabs .nav-item .nav-link:hover,
.c-product__tabs .nav-tabs .nav-item .nav-link.active {
	color: var(--dark) !important;
}

.c-product__tabs .catering-menu__main_slider::after {
	content: none !important;
}


.btn.btn-outline-primary:hover,
.btn.btn-outline-primary:active {
	color: var(--dark) !important;
	border: 2px solid var(--dark) !important;
	background: transparent !important;
}

.c-btn__signin>a {
	background: transparent !important;
	color: #ffffff !important;
	border: 1px solid #ffffff !important;
}

.c-btn__signin>a:hover,
.c-btn__signup .btn:hover {
	background: var(--dark) !important;
	color: #ffffff !important;
	border-color: var(--dark) !important;
	transform: none !important;
}

#btnCheckout:hover {
	transform: scale(1.03);
}


#heading_preorder,
.c-content__heading {
	color: var(--primary)
}

/* Profile Menu Icon */
.c-profile__group .c-profile__dropdown span {
	color: #ffffff !important;
}

.c-sidebar__cart {
	background-color: var(--cream);
}

.c-sidebar__cart.open,
.c-sidebar__cart.close {
	transition: all 0.3s ease-in-out;
}

.c-product__tags .badge {
	background-color: var(--secondary) !important;
	color: var(--dark) !important;
}

.c-product__sub-categries.row {
	padding: 10px;
}

.c-card__product .card:hover {
	border-color: var(--primary);
	transform: scale(1.02) !important;
	filter: drop-shadow(2px 2px 4px var(--primary));
}

.c-card__product .card {
	border: 2px solid var(--dark);
	background-color: var(--cream) !important;
	transition: transform 0.3s ease;
}

.item-header {
	text-transform: uppercase;
	font-family: var(--secondary-font);
	font-weight: 700;
}

.c-product__tabs .product-section h4.c-section__title {
	font-size: 2.25rem;
	line-height: 2.5rem;
	color: var(--dark);
}

.dropdown-menu,
.overflow-auto {
	scrollbar-color: var(--light) var(--primary);
	scrollbar-width: thin;
}


/* Desktop Main Content */
@media only screen and (min-width:48.001rem) {
	.c-card__product .card {
		scale: 0.9;
	}

}

/* Mobile Main Content*/
@media only screen and (max-width:48rem) {}

/* End Main Content */

/* Things that should not be local, these really need to be main app style rules */

@media (max-width: 48em) {
	.c-sidebar__block {
		height: 0;
	}
}

.credit-card-multi-image {
	max-width: 250px;
}

.card-product__price .btn-quick-add img {
	filter: brightness(0) invert(1);
	transition: filter 0.3s ease;
	background: transparent !important;
}

.card-product__price .btn-quick-add:hover img {
	filter: brightness(0) invert(1);
}

/* Add background to edit button */
#activateEditButton {
	background-color: var(--light);
}

/* Menu Item Image Sizer */
.c-product-item__details .c-product__details .c-product__img.default_product_image {
	object-fit: cover;
}

/* Larger description block, 2 lines with no expand */
.c-product__description .productSummaryText {
    height: 3rem;
    overflow: hidden;
}

/* Hide Loyalty */
.c-dropdown-menu li:has(a[href="/online/loyaltyReward"]),
.c-dropdown-menu li:has(a[href="/online/dev420/loyaltyReward"]),
.c-sidebar__account li:has(a[href="/online/loyaltyReward"]),
.c-sidebar__account li:has(a[href="/online/dev420/loyaltyReward"]) {
	display: none;
}

/* Credit Card Selection */
[id^="profile_id_-"][id$="_label"]:has(input:checked)::before {
	content: "\2713\0020 ";
	color: var(--bs-highlight);
	margin-right: 0.5em;
}

#payment_method_2 #cc_profiles li.c-payment-method__item--profile-MOO:has(.c-form-choice:nth-of-type(1):last-of-type) {
	display: none;
}

/* END Credit Card Selection */

/* Add to cart sticky fix */
.c-main__content.mainContentActive.c-main__product {
	padding-bottom: 0px !important;
	margin-bottom: 0 !important;
}

.c-quantity-cart__fixed.fixed-bottom {
	position: sticky;
	bottom: 0;
	left: auto;
	right: auto;
	z-index: 1020;
}

.c-quantity-cart__fixed {
	width: calc(100% - 400px);
	margin-inline: auto;
	/* center the bar within its container */
	transform: translateX(0);
	display: none;
	opacity: 0;
	transition: opacity 1s, visibility 1s ease-in-out;
}

.c-quantity-cart__fixed.show {
	display: block;
	opacity: 1;
}

.c-quantity-cart__fixed {
	width: 100%;
}

/* END Add to cart sticky fix */

/* Hide dietary icons on production items */
.c-selection__items .c-items__group .c-dietary__tags {
	display: none !important;
}

/* END Hide dietary icons on production items */

/* Checkout Button Width */
.c-checkout__fixed {
    max-width: 399px !important;
}
/* END Checkout Button Width */

/* FIX MORE BUTTON ON SAFARI */
/* 1) Normalize that span so WebKit treats it like a block container */
.detailsBox.productSummaryText #productSubFeDetailText {
  display: block;           /* span wraps <p> ? make it block to avoid Safari quirks */
  position: relative;
  z-index: 0;
}

/* 2) Ensure the container leaves room for the absolutely-positioned link */
.detailsBox.productSummaryText {
  position: relative;       /* anchor's positioning context */
  padding-bottom: 1.75rem;  /* space for "More…"; tweak as needed */
  overflow: hidden;        /* avoid clipping in case a parent sets overflow */
}

/* 3) Surface and pin the link in Safari */
.detailsBox.productSummaryText .c-text__more.productSubFeDetail {
  position: absolute;       /* override utility classes if needed */
  right: 0;                 /* explicit instead of relying on .end-0 */
  bottom: 0;
  z-index: 10;              /* above the paragraph text */
  display: inline-block;
  background: #fff;         /* keep it readable if it overlaps text */
  padding-left: .5rem;
  -webkit-transform: translateZ(0); /* WebKit paint-layer nudge */
  will-change: transform;
}

/* Optional: tidy paragraph spacing so the link doesn't look crowded */
.detailsBox.productSummaryText #productSubFeDetailText > p:last-child {
  margin-bottom: .5rem;
}

/* 4) Last-resort iOS Safari fallback: let the link flow below the text */
@supports (-webkit-touch-callout: none) {
  .detailsBox.productSummaryText .c-text__more.productSubFeDetail {
    position: static;       /* shows reliably on iPhone */
    margin-top: .25rem;
  }
  .detailsBox.productSummaryText { padding-bottom: 0; }
}
/* END FIX MORE BUTTON ON SAFARI */

/* All Buttons - Square Corners */
.btn,
.btn-primary,
.btn-secondary,
.btn-outline-primary,
.btn-outline-secondary,
.c-btn__signin .btn,
.c-btn__signin > a,
.c-btn__signup .btn,
#btnCheckout,
#btnCheckoutFixed,
.c-collapse-arrow,
#sidebarCart .btn-add-to-cart.c-collapse-arrow,
button,
[type="button"],
[type="submit"] {
	border-radius: 0 !important;
}

button#findStores {
    margin-bottom: 2rem;
}

/* Skip to Menu and Submit Menu Buttons */
#skipToMenu,
#submitMenu {
	background: var(--dark) !important;
	color: #ffffff !important;
	border: 2px solid var(--dark) !important;
	border-radius: 0 !important;
	padding: 12px 32px !important;
	font-family: var(--secondary-font) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	text-align: center !important;
	letter-spacing: 0.05em !important;
	transition: all 0.3s ease !important;
	cursor: pointer !important;
        width: 50%;
        display: flex;
        justify-content: center;
        margin: 0 auto;
}

#skipToMenu:hover,
#submitMenu:hover {
	background: transparent !important;
	color: var(--dark) !important;
	border: 2px solid var(--dark) !important;
	transform: translateY(-2px);
	box-shadow: none;
	text-decoration: none !important;
}

.c-skip__menu #findStores:disabled,
.c-card__store .startOrderButton:disabled {
	background: #babbbb !important;
}

/* Custom/Static Page Styling (T&C, Stored Credential Consent, legal pages) */
section:has(> .c-main__inner) {
	background-color: var(--light);
	min-height: calc(100vh - 200px);
}

.c-main__inner {
	background: var(--cream);
	border-radius: 0.5rem;
	padding: 2rem;
	max-width: 900px;
	margin: 2rem auto;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.c-content__layout {
	font-family: var(--secondary-font);
	font-size: 1rem;
	line-height: 1.7;
	color: var(--dark);
}

@media (max-width: 48rem) {
	.c-main__inner {
		padding: 1rem;
		margin: 1rem;
	}
}
/* End Custom/Static Page Styling */
