/* Fonts - Official Ruby Tuesday Brand Guide */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@800;900&family=Archivo:wght@400;600&family=Hepta+Slab:wght@900&family=Roboto:wght@900&display=swap');

/* Global Color Variables
RUBY TUESDAY OFFICIAL BRAND COLORS (per Brand Guide 12/25)
Primary: #cb3433 (Ruby Red - official brand color)
Gold Gradient: #ffd566 to #f3a21e (angle -90deg)
Light: #ffffff (white)
Dark: #231F20 (charcoal)
*/

:root {
	--primary: #cb3433;    /* Ruby Tuesday official Ruby Red */
	--secondary: #ED1C24;  /* Bright red accent */
	--gold-light: #ffd566; /* Gold gradient start */
	--gold-dark: #f3a21e;  /* Gold gradient end */
	--dark: #231F20;       /* Charcoal - text and borders */
	--light: #ffffff;      /* Clean white - backgrounds */

	/* Neutral tones */
	--grey: #8f898c;       /* Medium grey accent */

	/* Define Fonts - Official Ruby Tuesday Brand Guide */
	--headline-font: 'Barlow Condensed', sans-serif; /* Headlines - Extra Bold weight */
	--price-font: 'Hepta Slab', serif; /* Prices - Black weight */
	--body-font: 'Archivo', sans-serif; /* Body text - Regular & Semi-bold */
	--primary-font: 'Barlow Condensed', sans-serif;
	--secondary-font: 'Archivo', 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(--primary) !important;
	--bs-emphasis-color: var(--primary) !important;
	--bs-heading-color: var(--primary) !important;
	--bs-medium-grey: var(--grey) !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(--body-font);
	color: var(--dark);
}

/* Official Ruby Tuesday Typography */
h1,
h2,
h3,
h4,
h5,
.c-section__title,
.item-header {
	font-family: var(--headline-font);
	font-weight: 800; /* Extra Bold per brand guide */
	text-transform: uppercase;
}

/* Headline Font Sizes - Barlow Condensed Extra Bold */
h1 {
	font-size: 3rem !important; /* 48px */
}

h2 {
	font-size: 2.5rem !important; /* 40px */
}

h3 {
	font-size: 2rem !important; /* 32px */
}

h4 {
	font-size: 1.75rem !important; /* 28px */
}

h5 {
	font-size: 1.5rem !important; /* 24px */
}

/* Category Headers - Balanced sizing per brand feedback */
.c-section__title {
	font-size: 2.25rem !important; /* 36px - balanced category headers */
	letter-spacing: 0.05em;
	margin-bottom: 1.5rem !important;
}

.item-header {
	font-size: 1.5rem !important; /* 24px */
}

/* Catering Menu Header - matches category headers */
.c-content__heading {
	font-size: 2.25rem !important; /* 36px - matches category headers */
}

/* Responsive adjustments for mobile */
@media only screen and (max-width: 48rem) {
	h1 {
		font-size: 2.25rem !important; /* 36px */
	}
	
	h2 {
		font-size: 2rem !important; /* 32px */
	}
	
	h3 {
		font-size: 1.75rem !important; /* 28px */
	}
	
	.c-section__title,
	.c-content__heading {
		font-size: 1.75rem !important; /* 28px on mobile */
	}
}

/* Price styling - Hepta Slab Black */
.card-product__price,
.c-product__price,
.c-cart__total,
.price {
	font-family: var(--price-font);
	font-weight: 900; /* Black weight */
}


/* End Universal Elements */


/* Header */

.logo-container {
	display: flex;
	justify-content: center;
}

.logo-container>a {
	display: block;
	width: 60%;
	max-width: 420px;
	min-width: 160px;
}

.logo-container>a>img {
	display: block;
	width: 100%;
	height: auto;
}

.logo-container span.navbar-brand {
	display: block;
}

span.header-logo.navbar-brand {
	background: url(../../XImages/base_images/RubyTuesday-Logo.svg) no-repeat center center !important;
	background-size: 50% !important;
	height: 65px;
	width: 270px;
}

.navbar-main {
	height: 90px;
}

.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;
}

.c-btn__signup .btn:hover, 
.c-btn__signin .btn:hover {
	opacity: 0.8;
}

.navbar-main {
	background: radial-gradient(circle 200px at center, #ff8c42 0%, #e84a3d 50%, var(--primary) 100%) !important;
	display: flex;
	justify-content: space-between;
}

.navbar-brand {
	display: none;
}

.nav-item__language {
	display: none !important;
}


.header-links {
	display: none;
}

.header-container {
	width: 100%;
	display: flex;
	justify-content: space-between;
        padding-top: 1rem;
}

.nav.c-nav__delivery {
	background: var(--dark) !important;
	color: var(--light) !important;
}

.nav-item>.c-btn__sm {
	color: var(--secondary);
}

.nav-item>img {
	filter: grayscale(1) contrast(7);
}

/* Desktop Header */
@media only screen and (min-width:48.001rem) {}

/* Mobile Header */
@media only screen and (max-width:48rem) {

	.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: 100% !important;
	}

	.navbar-cart__wrapper {
		display: flex;
		justify-content: space-between;
		position: absolute;
		top: 20px;
		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;
    padding-top: 0px;
    padding-right: 45px;
    border-top: 1px dashed var(--light);
    justify-content: center;
}

footer {
	padding-top: 5px;
	background: var(--light);
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;

}

footer a {
	text-decoration: none;
}

.middle-footer-logo>img {
	width: 25%;
}

.middle-footer-logo {
	display: flex;
	justify-content: center;
}

#monkeyCopyRight>a {
	color: var(--secondary);
}

.copy_text {
	color: var(--grey);
}

/* 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 */

.c-section__title {
    background: linear-gradient(0deg, var(--gold-dark) 0%, var(--gold-light) 100%);
    padding: 12px 20px 12px;
    border-radius: 75px;
    letter-spacing: 0.03rem;
    font-weight: lighter !important;
}

.sub-categories__group div.c-text__md {
    display: inline-block;
    background-color: var(--light);
    padding: 6px 10px 5px;
    border-radius: 75px;
    border: 3px solid var(--primary);
    width: auto;
    margin-left: 2rem;
}

.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: none;
}


.btn-outline-primary {
	background: linear-gradient(0deg, var(--gold-dark) 0%, var(--gold-light) 100%) !important;
	color: var(--dark) !important;
	border: none !important;
	border-radius: 50px !important;
	padding: 12px 32px !important;
	font-family: var(--headline-font);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1.2 !important;
	transition: all 0.3s ease;
}


.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;
}

/* flat 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(--primary) !important;
}

.nav-tabs__categories {
	padding: 10px;
}

#btnCheckoutFixed {
	background: var(--light);
	padding: 1rem 3rem 1rem 2.1rem;
}

.c-product-item__details .c-product__block {
	padding: 24px;
	border: 1px solid black;
	background: white;
	border-radius: 0.5rem;
}

.accordion-item:last-of-type .accordion-button.collapsed {
	border-radius: 0;
}

.btn-primary {
	--bs-btn-color: var(--dark) !important;
	--bs-btn-bg: var(--gold-light) !important;
	--bs-btn-border-color: var(--gold-dark) !important;
	--bs-btn-hover-color: var(--light) !important;
	--bs-btn-hover-bg: var(--primary) !important;
	--bs-btn-hover-border-color: var(--primary) !important;
	--bs-btn-focus-shadow-rgb: 95, 95, 95;
	--bs-btn-active-color: var(--light) !important;
	--bs-btn-active-bg: var(--dark) !important;
	--bs-btn-active-border-color: var(--dark) !important;
	--bs-btn-active-shadow: inset 0 3px 5px rgba(24, 24, 24, 0.125);
	--bs-btn-disabled-color: var(--light) !important;
	--bs-btn-disabled-bg: var(--grey) !important;
	--bs-btn-disabled-border-color: var(--grey) !important;
	background: linear-gradient(0deg, var(--gold-dark) 0%, var(--gold-light) 100%) !important;
	border-radius: 50px !important;
	padding: 12px 32px !important;
	font-family: var(--headline-font);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1.2 !important;
}

.btn.btn-primary:hover {
	background-color: var(--secondary) !important;
}

.c-card__product .card img,
.c-product-item__details .c-product__details .c-product__img {
	background-color: var(--light);
        object-fit: contain;
}

.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:hover,
#sidebarCart .btn-add-to-cart.c-collapse-arrow:active,
#sidebarCart .btn-add-to-cart.c-collapse-arrow {
	background-color: var(--secondary) !important;
	border: 1px solid var(--dark) !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
	background-color: var(--secondary);
}

.c-collapse-arrow:hover {
	background-color: var(--secondary) !important;
}

.btn.btn-outline-primary:hover,
.btn.btn-outline-primary:active {
	background: linear-gradient(0deg, var(--gold-dark) 0%, var(--gold-light) 100%) !important;
	color: var(--light) !important;
	border: none !important;
	transform: scale(1.05);
}

/* Skip to Menu and Submit Menu Buttons */
#skipToMenu,
#submitMenu {
	background: linear-gradient(0deg, var(--gold-dark) 0%, var(--gold-light) 100%) !important;
	color: var(--dark) !important;
	border: none !important;
	border-radius: 50px !important;
	padding: 12px 32px !important;
	font-family: var(--headline-font) !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	text-align: center !important;
	transition: all 0.3s ease !important;
	cursor: pointer !important;
}

#skipToMenu:hover,
#submitMenu:hover {
	background: linear-gradient(0deg, var(--gold-dark) 0%, var(--gold-light) 100%) !important;
	color: var(--light) !important;
	transform: scale(1.05);
	text-decoration: none !important;
}

.c-btn__signin>a,
.c-btn__signin>a:hover {
	background: var(--light) !important;
	color: var(--primary) !important;
}

.c-btn__signin:hover,
.c-btn__signup:hover,
#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: var(--light) !important;
        font-size: 2rem;
        margin-top: -5px;
}

.c-sidebar__cart.open,
.c-sidebar__cart.close {
	transition: all 0.3s ease-in-out;
}

.c-product__tabs .nav-tabs .nav-item .nav-link:hover {
	color: var(--primary) !important;

}

.c-product__tags .badge {
	background-color: var(--secondary) !important;
}

.c-product__sub-categries.row {
    justify-content: center;
	padding: 10px;
}

@media (min-width: 1600px) {
    .c-product__sub-categries.row-cols-sm-2>* {
        flex: 0 0 auto;
        width: 48%;
        justify-items: center;
    }
}
@media (min-width: 1600px) {
    .c-product__sub-categries .moo-product-box.col-sm-4 {
        flex: 0 0 auto;
        width: 33%;
    }
}

.c-card__product .card:hover {
	border-color: var(--dark);
	transform: scale(1.02) !important;
	filter: drop-shadow(2px 2px 2px var(--secondary));
}

.c-card__product .card {
	border: 2px solid var(--dark);
	transition: transform 0.3s ease;
}

.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;
	}

}

.c-cart__thumb img {
    object-fit: contain;
    background-color: var(--light) !important;
}

.c-main__content {
    background: url(../../XImages/base_images/rt_white_slate_background.jpg) center center repeat;
}

/* Mobile Main Content*/
@media only screen and (max-width:48rem) {}

@media (max-width: 575.98px) {
    #carousel.position-sticky {
        top: 130px !important;
    }
}

@media (max-width: 571px) {
        header.c-header__main nav.navbar {
                height: 5.875rem;
        }
        .navbar-cart__wrapper {
                top: 40px;
        }
        .header-container {
                padding-top: 2.35rem;
        }
        #carousel.position-sticky {
                top: 160px !important;
        }
}

/* 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: none;
}

/* 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: contain;
}

/* Hide Loyalty */
.c-dropdown-menu li:has(a[href="/online/loyaltyReward"]),
.c-dropdown-menu li:has(a[href="/online/dev102/loyaltyReward"]),
.c-sidebar__account li:has(a[href="/online/loyaltyReward"]),
.c-sidebar__account li:has(a[href="/online/dev102/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;
}

.checkout-payment__method .c-payment-method__profiles .c-form-choice .c-form-choice__label:has(.c-form-choice__field:checked) {
    color: var(--bs-btn-active-color);
    background-color: var(--bs-light-blue);
}

/* 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 */

.c-product__description .productSummaryText {
    height: 3rem;
    overflow: hidden;
}


/*-----------------HEADER HELP----------------*/
/* 1) Fix the help bar to the very top, edge-to-edge */
.c-help__block {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
  background-color: var(--primary) !important;
  z-index: 9;
}

/* 2) Give the rest of the header room */
header.c-header__main {
  /* adjust this to equal the total height of .c-help__block */
  padding-top: 2rem;
}

/* 3) Style the text */
.c-help__block .c-help__details {
  color: var(--light) !important;
  font-weight: 700;
  padding: 0.55rem 1rem;
  text-align: center;
  border-bottom: 2px solid white;
}

.c-help__details a {
    color: var(--light);
    text-decoration: none;
}

#carousel.catering-menu__slider.position-sticky {
    top: 160px;
}

/* Carousel/Tab Navigation Text Size */
.c-product__tabs .nav-tabs .nav-item .nav-link {
	font-size: 1.1rem !important;
	font-weight: 700 !important;
}

#carousel .nav-link {
	font-size: 1.1rem !important;
	font-weight: 700 !important;
}

.brand-imagery_container {
padding-top: 5rem;
}

.min-vh-100 {
    min-height: calc(100vh - 80px - 225px) !important;
}

.your-cart-info-edit .text-secondary,
.your-cart-info-edit #trackAndCartActionBox .fs-small-1 {
        font-size: 1rem !important;
}

#accountInformationForm .form-group:has(#memberFaxNumberLabel) {
    display:none !important;
}