/* DEFAULT DISPLAY */
.vrtkitemsofmenudiv .vrtksingleitemdiv /* 2 items / row by default, will be overrided by the amount chosen from the dedicated module */
{
	width: 45%;
}

/* MODAL */

.vr-overlay {
	position: fixed;
	background-color: rgba(0, 0, 0, 0.75);
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
}

.vr-modal-box {
	width: 65%;
	overflow: hidden;
	border-radius: 15px;
	background: #fff;
	padding: 2.5rem;
}

.vr-modal-head {
	width: 100%;
	padding: 25px 0;
	position: relative;
}

.vr-modal-head-title h3,
.tk-title h2 {
	font-size: 2rem;
	color: var(--vik-color-secondary);
	font-weight: 700;
}

.tk-title span {
	margin-bottom: 2rem;
}

.vr-modal-head-dismiss {
	display: block;
	position: absolute;
	right: -2.8%;
	top: -34%;
	font-size: 28px;
	line-height: 22px;
}

.vr-modal-head-dismiss a {
	color: red;
	font-size: 2.5rem;
	text-decoration: none !important;
}

.vr-modal-head-dismiss a:hover {
	color: #999;
	text-decoration: none !important;
}

.dish-item-overlay-footer {
	display: flex;
	align-items: center;
	justify-content: space-around;
}

.dish-item-overlay-footer button {
	display: inline-block;
	width: auto;
}

.quantity-label {
	display: block;
	font-size: 1.25rem;
	color: var(--vik-color-primary);
}

.quantity-actions {
	display: inline-flex;
	align-items: center;
}

.quantity-actions input {
	text-align: center;
	font-size: 1.25rem;
}

.quantity-actions a[class*="vrtk-action-"] {
	margin-inline: .5rem;
}

textarea[name="notes"] {
	width: 100%;
	height: 100px;
	border: 1px solid var(--vik-color-secondary);
	border-radius: 5px;
	padding: .5rem;
	font-size: 1rem;
	resize: none;
}

.vrtk-additem-notes-box {
	border: solid 1px var(--vik-color-secondary);
	border-left: solid 5px var(--vik-color-secondary);
	padding: .5rem;
	margin: 1rem 0;
}

.vrtk-additem-notes-title {
	font-size: 1.25rem;
	color: var(--vik-color-primary);
	padding-block: 1.25rem;
	cursor: pointer;
}

.vrtk-additem-tcost-box {
	border-radius: 5px;
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--vik-color-tertiary);
	background: var(--vik-color-primary);
	padding: .5rem;
	display: inline-block;
	width: auto;
	margin: 1rem 0;
}

.vrtk-additem-group-title {
	font-size: 1.25rem;
	font-weight: 700;
	border-bottom: solid 1px var(--vik-color-secondary);
	color: var(--vik-color-primary);
	padding-block: 1rem;
	margin-bottom: 1.2rem;
}

.vrtk-additem-group-fields,
.tk-topping-fields-cont {
	display: flex;
	align-items: center;
	margin-bottom: 1rem;
	gap: 1.25rem;
}

.vrtk-additem-group-topping,
.tk-topping-field {
	flex: 1 0 0px;
}

.vrtk-additem-topping-field,
.tk-topping-checkbox {
	position: relative;
	display: block;
}

.vrtk-additem-topping-field input,
.tk-topping-checkbox input {
	all: unset;
	border: solid 1px var(--vik-color-secondary);
	width: 100%;
	display: block;
	height: 5rem;
	transition: cubic-bezier(0.075, 0.82, 0.165, 1) .25s;
}

.vrtk-additem-topping-field label,
.tk-topping-checkbox label {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
}

.vrtk-additem-topping-field input:checked,
.tk-topping-checkbox input:checked {
	background: var(--vik-color-secondary);
	color: var(--vik-color-primary);
}

.vrtk-additem-topping-field input:checked+label,
.tk-topping-checkbox input:checked+label {
	color: var(--vik-color-tertiary);
	font-weight: 700;
}

.vrtk-additem-topping-field input:disabled,
.tk-topping-checkbox input:disabled {
	background: #e5e5e5;
	border-color: #e5e5e5;
}

.vrtkitemnamesp,
.vrtkdeliverytitlediv {
	font-size: 1.5rem;
	color: var(--vik-color-secondary);
	font-weight: 700;
	margin-bottom: 1rem;
}

.vrtkconfcart-item-name {
	font-weight: 700;
	display: inline-block;
}

.vrtk-confcart-item-main {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	row-gap: 10px;
}

.vrtk-confcart-item-toppings {
	display: flex;
	align-items: center;
	gap: 1.25rem;
}

.vrtkconfcartitemsdiv {
	padding: 1.125rem;
	margin-bottom: 1rem;
	border: solid 1px var(--vik-color-secondary);
}

.topping-title,
.notes-title,
.fullcost-label {
	font-weight: 700;
	color: var(--vik-color-primary);
}

.vrtkconfcartoneitemrow {
	padding-bottom: 1.25rem;
	border-bottom: solid 1px var(--vik-color-secondary);
}

.vrtkdeliverytitlediv {
	margin-top: 1.25rem;
	border-bottom: solid 1px var(--vik-color-secondary);
}

.vrcustomfields {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
}

.vrcustomfields input[type="tel"] {
	padding-left: 50px !important;
}

.cf-label {
	display: block;
}

.vrcustomfields .vr-field-wrapper {
	flex: 0 0 calc(50% - 1.25rem);
}

.vr-field-wrapper-separator {
	flex-basis: 100% !important;
	border-bottom: solid 1px var(--vik-color-secondary);
	font-weight: 700;
	margin-top: .875rem;
	margin-bottom: 1.125rem;
	padding-bottom: 1.125rem;
}

@media(max-width: 1400px) {
	.view-takeaway #sp-main-body>.container {
		max-width: 100%;
	}
}

/* ----------------------------------- ENHANCEMENTS ----------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');

:root
{
	--title-font: 'Playfair Display', serif;
	--font: 'Montserrat', sans-serif;
	--font-color: #4c4c54;
	--primary-color: #bf9000;
	--delete-color: rgb(255 0 0 / 75%);
	--box-shadow: 0 7.5px 30px rgb(0 0 0 / 15%);
}

body.com-vikrestaurants *
{
	color: var(--font-color) !important;
}

body.com-vikrestaurants .vrtkitemspagediv h3
{
	font: 900 2rem/2.2rem var(--title-font);
}

body.com-vikrestaurants .vrtkitemspagediv h4
{
	font: 700 1.2rem/1.4rem var(--title-font);
}

/* --- HEAD --- */
.vrtk-menus-filter-head
{
	display: flex;
	justify-content: center;
}

.vrtk-menus-filter-head > div:first-child
{
	margin-right: 20px;
}

.vrtk-menus-filter-head > div:last-child
{
	margin-left: 20px;
}

.vrtk-menus-filter-head > div #vrtkselectmenu,
.vrtk-menus-filter-head > div #vrtk-menus-filter-time,
.vrtk-menus-filter-head > div #vrtk-menus-filter-date
{
	border: 1px solid var(--primary-color);
	border-radius: 50px;
	text-align: center;
}

.vrtk-menus-filter-head > div #vrtkselectmenu *,
.vrtk-menus-filter-head > div #vrtk-menus-filter-time * /* Centers select's contents */
{
	text-align: left; 
}

.vrtk-menus-filter-head > div select:hover,
.vrtk-menus-filter-head > div input:hover
{
	cursor: pointer !important;
}

/* CALENDAR */
#ui-datepicker-div
{
	left: 527px !important;
	border-radius: 8px;
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
}

.ui-datepicker .ui-datepicker-header
{
	background: var(--primary-color) !important;
	border-radius: 5px;
}

.ui-datepicker .ui-datepicker-title span
{
	color: #fff !important;
}

.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span
{
	filter: invert(100%) sepia(0%) saturate(1%) hue-rotate(218deg) brightness(200%) contrast(101%); /* Trick pour passer l'image en blanc */
	transition: all ease 0.4s;
}

.ui-state-hover
{
	border-color: transparent !important;
    background: none !important;
}

.ui-state-default, .ui-widget-content .ui-state-default
{
	background: #fff !important;
	border: 2px solid transparent !important;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
	border-radius: 3px;
	display: flex;
    justify-content: center;
    align-items: center;
	transition: all ease 0.4s;
}

.ui-state-default, .ui-widget-content .ui-state-default:hover
{
	border: 2px solid var(--primary-color) !important;
}

/* --- CARDS ROW --- */
/* Two items by row */
.vrtkitemsofmenudiv
{
	display: flex;
	justify-content: space-around;
	align-items: center;
	flex-wrap: wrap;
}

.vrtkitemsdiv .vrtksingleitemdiv
{
	margin-bottom: 60px;
}

/* Number of items per row - Configurable with dedicated module in back-office */
.vrtkitemsdiv .vrtksingleitemdiv.one-item-per-row
{
	width: 100%;
}

.vrtkitemsdiv .vrtksingleitemdiv.two-item-per-row
{
	width: 45%;
}

.vrtkitemsdiv .vrtksingleitemdiv.three-item-per-row
{
	width: 30%;
}

.vrtkitemsdiv .vrtksingleitemdiv.four-item-per-row
{
	width: 23%;
}


/* --- ROWS HEADERS --- */
.vrtkmenuheader
{
	margin: 100px 0 30px;
	text-align: center;
}

.vrtkmenuheader .vrtk-menu-title
{
	position: relative;
	font: 700 2.5rem/2.5rem var(--title-font);
	width: fit-content;
	margin: 0 auto 10px;
	padding: 7.5px 30px 12px;
	border: 1px solid var(--primary-color);
	border-radius: 50px;
}

.vrtkmenuheader .vrtk-menu-title::before,
.vrtkmenuheader .vrtk-menu-title::after
{
	position: absolute;
	content: "";
	border-bottom: 1px solid var(--primary-color);
	top: 50%;
	width: 50%;
}

.vrtkmenuheader .vrtk-menu-title::before
{
	right: 105%;
}

.vrtkmenuheader .vrtk-menu-title::after
{
	left: 105%;
}

/* --- PRODUCT CARDS --- */
.vrtkitemsdiv .vrtksingleitemdiv .vrtkitemleftdiv
{
	min-height: 100%;
	display: flex;
    flex-direction: column-reverse;
	justify-content: flex-end;
	overflow: hidden;
	border-radius: 15px;
	box-shadow: var(--box-shadow);
	transition: all ease 0.4s;
}

.vrtkitemsdiv .vrtksingleitemdiv .vrtkitemleftdiv .vrtkitemimagediv-outer
{
	clip-path: polygon(0 13%, 100% 0, 100% 100%, 0% 100%); /* Shapes the image's container */
	transition: all ease 0.6s;
}

/* .vrtkitemsdiv .vrtksingleitemdiv .vrtkitemleftdiv .vrtkitemimagediv-outer:hover
{
	clip-path: polygon(0 20%, 100% 0, 100% 100%, 0% 100%);
} */

/* .vrtkitemsofmenudiv .vrtksingleitemdiv:nth-child(even) .vrtkitemimagediv-outer
{
	clip-path: polygon(0 0, 100% 15%, 100% 100%, 0% 100%);
} */

.vrtkitemsdiv .vrtksingleitemdiv .vrtkitemleftdiv .vrtkitemimagediv-outer .vrtkitemimagediv img
{
	object-fit: cover;
    min-height: 250px;
	max-height: 250px;
	min-width: 100%;
	opacity: .8;
	transition: all ease 0.4s;
}

/* --- HOVER ON PRODUCT IMAGE --- */
.vrtkitemleftdiv .vrtkitemimagediv-outer > .vrtkitemimagediv > a
{
	position: relative;
}

.vrtkitemsdiv .vrtksingleitemdiv .vrtkitemleftdiv .vrtkitemimagediv-outer > .vrtkitemimagediv > a::before
{
	opacity: 0;
	position: absolute;
	content: "\2b";
	color: rgba(255, 255, 255, 0.75);
	font-size: 9rem;
	top: calc(50% - 50px);
	left: calc(50% - 50px);
	height: 100px;
	width: 100px;
	display: flex;
    justify-content: center;
    align-items: center;
	z-index: 9999;
	transition: all ease 0.6s;
}

.vrtkitemsdiv .vrtksingleitemdiv .vrtkitemleftdiv .vrtkitemimagediv-outer a:hover::before
{
	opacity: 1;
}

/* --- CARD CONTENT --- */
.vrtkitemsdiv .vrtkitemleftdiv .vrtkiteminfodivcontent .vrtkitemattributes img
{
	margin-right: 15px;
}

.vrtkitemsdiv .vrtksingleitemdiv .vrtkitemleftdiv .vrtkiteminfodivcontent
{
	position: relative;
	padding: 20px 30px 10px;
	font-family: var(--font);
	font-weight: 400;
}

.vrtkitemsdiv .vrtksingleitemdiv.four-item-per-row .vrtkitemleftdiv .vrtkiteminfodivcontent /* If 4 columns layout */
{
	padding: 20px 20px 10px;
}

.vrtkitemsdiv .vrtksingleitemdiv .vrtkitemleftdiv .vrtkiteminfodivcontent h3
{
	position: relative;
	width: fit-content;
	padding: 0 30px;
	/* background: #3b3b3b; */
	background: #fff;
	/* color: #fff !important; */
	z-index: 1;
	margin: 0 auto 15px;
	text-transform: uppercase;
	/* clip-path: polygon(10% 0, 90% 0, 100% 50%, 100% 50%, 90% 100%, 10% 99%, 0 50%, 0 50%); */
}

/*  */
/*.vrtkitemsdiv .vrtksingleitemdiv .vrtkitemleftdiv .vrtkiteminfodivcontent h3::after
{
	content: "";
	position: absolute;
	min-height: calc(100% + 40px);
	width: calc(100% + 600px);
	top: 2px;
	left: 3px;
	background: red;
	clip-path: polygon(10% 0, 90% 0, 100% 50%, 100% 50%, 90% 100%, 10% 99%, 0 50%, 0 50%);
}*/
/*  */

.vrtkitemsdiv .vrtksingleitemdiv .vrtkitemleftdiv .vrtkiteminfodivcontent .vrtkitemtitle
{
	position: relative;
}

.vrtkitemsdiv .vrtksingleitemdiv .vrtkitemleftdiv .vrtkiteminfodivcontent .vrtkitemtitle::before
{
	position: absolute;
    content: "";
    bottom: 1px;
    right: -30px;
    width: calc(100% + 60px);
    border-bottom: 1px solid var(--primary-color);
    margin-bottom: 15px;
    z-index: 0;
}

.vrtkitemsdiv .vrtksingleitemdiv .vrtkitemleftdiv .vrtkitemdescsp
{
	position: relative;
	text-align: center;
    text-overflow: ellipsis;
	margin-bottom: 25px;
}

.vrtkitemsdiv .vrtksingleitemdiv .vrtkitemleftdiv .vrtkitemdescsp::before,
.vrtkitemsdiv .vrtksingleitemdiv .vrtkitemleftdiv .vrtkitemdescsp::after
{
    position: absolute;
    content: "";
    bottom: -95px;
    right: calc(50% - 15px); /* 22px length even if width set to 30px. Angle in radians = 45 * (π / 180) ≈ 0.7854 radians. Apparent width = 22 * ​​cos(0.7854) ≈ 15.556 pixels. This is the apparent width after rotating by 45deg the 22px div */
    width: 30px;
    border-bottom: 1px solid var(--primary-color);
    margin-bottom: 27px;
    z-index: 0;
    transform: rotate(45deg);
}

.vrtkitemsdiv .vrtksingleitemdiv .vrtkitemleftdiv .vrtkitemdescsp::after
{
	transform: rotate(-45deg);
}

.vrtkitemsdiv .vrtkitemleftdiv .vrtkiteminfodivcontent .vrtksinglevar .vrtkvarnamesp
{
	text-transform: capitalize;
	font-weight: 600;
}

.vrtkitemsdiv .vrtksingleitemdiv .vrtkitemleftdiv .vrtkiteminfodivcontent h4
{
	font: 600 1.2rem/1.3rem var(--title-font);
	margin-bottom: 15px;
}

/* Card buttons */
.vrtkitemsdiv .vrtkitemleftdiv .vrtkiteminfodivcontent .vrtkitemvardiv
{
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}

.vrtkitemsdiv .vrtksingleitemdiv.four-item-per-row .vrtkiteminfodivcontent .vrtkitemvardiv *:not(.vrtkitemvardiv button) /* If 4 columns layout */
{
	font-size: 1.1rem;
}

.vrtkitemsdiv .vrtkitemleftdiv .vrtkiteminfodivcontent .vrtksinglevar
{
	text-align: center;
}

.vrtkitemsdiv .vrtkiteminfodivcontent .vrtkvarfloatrdiv
{
	margin-top: 5px;
	/* display: flex;
    align-items: center;
	column-gap: 0; */
}

.vrtkitemsdiv .vrtkiteminfodivcontent .vrtkvarfloatrdiv span:not(span.vrtk-itemprice-stroke)
{
	font: 700 1.4rem/1.4rem var(--title-font);
}

.vrtkitemsdiv .vrtkiteminfodivcontent .vrtkvarfloatrdiv .vrtk-itemprice-stroke
{
	margin-right: 5px;
}

.vrtkitemsdiv .vrtkitemleftdiv .vrtkiteminfodivcontent .vrtkitemvardiv button
{
	position: relative;
	padding: 12px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--font-color);
	border: none;
	border-radius: 5px;
	transition: all ease 0.4s;
	margin: 7.5px auto 0;
}

.vrtkitemsdiv .vrtkitemleftdiv .vrtkiteminfodivcontent button::before
{
	position: absolute;
	content: "+";
	top: calc(50% - 0.75rem);
	font: 700 1.5rem/1.5rem var(--font);
	color: #fff;
	transition: all ease 0.4s;
}

/* HOVER EFFECTS */
.vrtkitemsdiv .vrtksingleitemdiv:hover .vrtkitemleftdiv
{
	box-shadow: 0 12.5px 40px rgb(0 0 0 / 25%);
	transform: scale(1.05);
}

.vrtkitemsdiv .vrtkitemleftdiv .vrtkiteminfodivcontent button:hover::before
{
	transform: scale(1.3) rotate(180deg);
}

.vrtkitemsdiv .vrtksingleitemdiv:hover img
{
	min-width: 105% !important;
	margin-left: -2.5%; /* Centers img on hover by compensating tricky min-width: 105% */
	opacity: 1 !important;
}

/* --- MODAL POPUP --- */
.vr-modal-box
{
	text-align: center;
}

.vr-modal-box .vr-modal-head
{
	padding: 0 0 35px 0;
}

.vr-modal-box h3
{
	position: relative;
	font: 700 2.8rem/2.5rem var(--title-font);
	width: fit-content;
	margin: 0 auto;
}

.vr-modal-box h3::before
{
	position: absolute;
	content: "";
	border-left: 4px solid var(--primary-color);
	top: 0;
	left: -12px;
	height: 100%;
}

.vr-modal-box .vrtk-additem-tcost-box
{
	font: 700 2.5rem/2.8rem var(--title-font);
}

.vr-modal-box .vrtk-additem-group-title
{
	font: 700 1.5rem/1.8rem var(--title-font);
	margin-bottom: 5px;
}

.vr-modal-box #vrtk-additem-quantity
{
	display: flex;
	justify-content: center;
}

.vr-modal-box #vrtk-additem-quantity .quantity-label
{
	margin-right: 15px;
	line-height: 2rem;
}

.vr-modal-box .vrtk-additem-notes-box
{
	margin: 0;
}

.vr-modal-box .vrtk-additem-notes-field
{
	display: block !important;
}

.vr-modal-box .vrtk-additem-notes-title
{
	font-size: 1.2rem;
	pointer-events: none;
}

.vr-modal-box .vrtk-additem-group-fields
{
	margin-bottom: 0;
}

.vr-modal-box .vrtk-additem-notes-field textarea
{
	margin-top: 15px;
    box-shadow: 0 2px 7px rgb(0 0 0 / 12%) inset !important;
    border-radius: 10px;
	border: 1px solid rgb(0 0 0 / 13%);
}

.vr-modal-box .vrtk-additem-group-box + .vrtk-additem-group-box .vrtk-additem-group-title
{
	margin-top: 15px;
}

.vr-modal-box input[type="checkbox"]
{
	box-shadow: 0 2px 7px rgb(0 0 0 / 12%);
	border-radius: 10px;
	transition: all ease 0.4s;
}

.vr-modal-box .vrtk-additem-group-topping:active input[type="checkbox"]
{
	box-shadow: 0 2px 7px rgb(0 0 0 / 12%) inset;
}

.vr-modal-box .vrtk-additem-group-topping input[type="checkbox"]:hover
{
	transform: scale(1.05);
	box-shadow: 0 2px 10px rgb(0 0 0 / 30%);
	transition: all ease 0.4s;
}

.vr-modal-box .vrtk-additem-topping-field label:hover
{
	cursor: pointer !important;
}

.vrtk-additem-topping-field input:checked,
.tk-topping-checkbox input:checked
{
	border: 1px solid var(--primary-color);
}

.vr-modal-box .vrtk-additem-bottom button
{
	position: relative;
	border: none;
	background: #fff;
	padding: 10px 30px;
	box-shadow: 0 2px 7px rgb(0 0 0 / 15%);
	border-radius: 50px;
	transition: all ease 0.4s;
	z-index: 1;
}

.vr-modal-box .vrtk-additem-bottom #vrtk-addtocart-button
{
	background: var(--primary-color);
	box-shadow: 0 2px 7px rgb(0 0 0 / 30%);
	color: #fff !important;
	font-weight: 700;
	animation: ctaBtn 1s linear infinite;
}

.vr-modal-box .vrtk-additem-bottom #vrtk-addtocart-button:active,
.vr-modal-box .vrtk-additem-bottom button:active
{
	transform: scale(0.95);
}

/* --- CART --- */
#cart-toggler i::before,
#cart-body .vrtkcartdiscountoutmodule *,
#cart-body .vrtkcartpriceoutmodule *,
#cart-body span
{
	color: #fff !important;
}

.vrtkcartitemsmodule
{
    position: fixed;
	top: 0;
	height: 100vh;
    right: 0;
    transform: translateX(315px);
	background: #222222;
    padding: 30px 15px 5px 25px;
    width: calc(365px - 50px);
    display: flex;
    align-items: center;
    transition: all ease-out 0.4s;
    z-index: 9999 !important;
}

.vrtkcartitemsmodule.opened
{
	transform: translateX(0);
}

#cart-toggler
{
	position: absolute;
	left: -70px;
	height: 90px;
    width: 70px;
	background: #222222;
	border-top-left-radius: 60px;
	border-bottom-left-radius: 60px;
	backdrop-filter: blur(3px);
	transition: all ease 0.6s;
	opacity: 1;
	z-index: 9999 !important;
}

#cart-body.opened #outside-cart
{
	position: absolute;
	content: "";
	top: 0;
	right: 315px;
	height: 100vh;
	width: calc(100vw + 315px);
	background: rgba(0, 0, 0, 0.5);
	z-index: 0 !important;
}

#cart-toggler::before,
#cart-toggler::after
{
	position: absolute;
	content: "";
	height: 70px;
	width: 70px;
}

#cart-toggler::before /* Permet la forme arrondie du bouton du panier */
{
	top: -35px;
	right: -17.5px;
	background:
        -moz-radial-gradient(0 0, circle, rgba(255, 255, 255, 0) 35px, rgba(34, 34, 34, 1) 36px);
    background:
            -o-radial-gradient(0 0, circle, rgba(255, 255, 255, 0) 35px, rgba(34, 34, 34, 1) 36px);
    background:
			-webkit-radial-gradient(0 0, circle, rgba(255, 255, 255, 0) 35px, rgba(34, 34, 34, 1) 36px);
    background-position: 17.5px 0px;
        -moz-background-size: 50% 50%;
        -webkit-background-size: 50% 50%;
    background-size: 50% 50%;
    background-repeat: no-repeat;
}

#cart-toggler::after /* Permet la forme arrondie du bouton du panier */
{
	transform: rotate(270deg);
	bottom: -53px;
	right: -35px;
	background:
        -moz-radial-gradient(0 0, circle, rgba(255, 255, 255, 0) 35px, rgba(34, 34, 34, 1) 36px);
    background:
            -o-radial-gradient(0 0, circle, rgba(255, 255, 255, 0) 35px, rgba(34, 34, 34, 1) 36px);
    background:
			-webkit-radial-gradient(0 0, circle, rgba(255, 255, 255, 0) 35px, rgba(34, 34, 34, 1) 36px);
    background-position: 17.5px 0px;
        -moz-background-size: 50% 50%;
        -webkit-background-size: 50% 50%;
    background-size: 50% 50%;
    background-repeat: no-repeat;
}

#cart-toggler i
{
	position: absolute;
	top: 33%;
	left: 35%;
	font-size: 1.7rem;
}

#cart-toggler i + .badge-items-in-cart
{
	position: absolute;
    top: 21px;
    left: 16px;
	height: 15px;
	min-width: 15px;
	padding: 5px;
	border-radius: 50px;
	background: red;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff !important;
	font-size: 10px;
	line-height: 6px;
	font-weight: 700;
}

#cart-toggler i,
#cart-toggler i + .badge-items-in-cart
{
	transition: all ease 0.4s;
}

.vrtkcartitemsmodule.opened #cart-toggler i::before /* When cart is opened */
{
	content: "\f00d";
	font-size: 2rem;
	color: var(--primary-color);
}

.vrtkcartitemsmodule.opened #cart-toggler i + .badge-items-in-cart /* When cart is opened */
{
	opacity: 0;
}

.vrtkcartitemsmodule.opened #cart-toggler i::before,
.vrtkcartitemsmodule.opened #cart-toggler i + .badge-items-in-cart
{
	transition: all ease 0.4s;
}

.cart-inner-wrapper
{
	min-height: 100%;
    width: 100%;
}

.vrtkmodcarttitlecont
{
	text-align: center;
	margin-bottom: 10px;
}

.vrtkmodcarttitlecont .vrtkmodcarttitle
{
	position: relative;
	font-family: var(--title-font);
	font-size: 30px;
    font-weight: 700;
}

.vrtkmodcarttitlecont .vrtkmodcarttitle::before,
.vrtkmodcarttitlecont .vrtkmodcarttitle::after
{
	position: absolute;
	content: "";
	top: 52%;
	border-bottom: 1px solid rgba(191 144 0 / 70%);
	width: calc(100%);
}

.vrtkmodcarttitlecont .vrtkmodcarttitle::before
{
	right: calc(100% + 7px);
}

.vrtkmodcarttitlecont .vrtkmodcarttitle::after
{
	left: calc(100% + 7px);
}

.vrtkitemcontainer
{
	padding-right: 10px;
    overflow-y: scroll;
    max-height: 75vh;
    scrollbar-width: thin;
    scrollbar-color: #d8d8d8 transparent;
}

.vrtkitemcontainer::-webkit-scrollbar
{
    width: 7px;
}

.vrtkitemcontainer::-webkit-scrollbar-track
{
    background: transparent;
}

.vrtkitemcontainer::-webkit-scrollbar-thumb
{
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 20px;
}

.vrtkcartleftrow
{
	width: 100% !important;
	margin-bottom: 5px;
}

.vrtkcartenamesp,
.vrtkcartpricesp,
.vrtkcartpriceoutmodule
{
	font-weight: 500 !important;
}

.vrtkcartleftrow span
{
	display: inline !important;
}

.vrtkcartleftrow span:last-child
{
	position: relative;
	padding-left: 5px;
	margin-left: 10px;
	text-transform: capitalize;
	font-size: 16px;
	font-weight: 400;
}

.vrtkcartleftrow span:last-child::before
{
	position: absolute;
	content: "-";
	font-weight: 700;
	top: 15%;
	left: -7.5px;
}

.vrtkcartrightrow
{
	float: none !important;
}

.vrtkcartrightrow s
{
	font-size: 10px;
}

.vrtkcartdiscountoutmodule
{
	padding: 5px 0 15px !important;
}

.vrtkcartoneitemrow
{
	border-bottom: 1px solid rgb(0 0 0 / 15%) !important;
}

.vrtkcartremovesp a i
{
	color: var(--delete-color) !important;
}

.fa-minus-circle:before
{
    content: "\f00d" !important;
}

body.com-vikrestaurants .vrtkcartminorderdiv
{
	font-weight: 500;
	color: red !important;
}

.vrtkcartbuttonsmodule .vrtkcartemptydivmodule
{
	display: flex;
	align-items: center;
}

.vrtkcartemptybutton
{
	padding: 7px 0 0 !important;
	background: none !important;
}

.vrtkcartemptybutton i
{
	position: relative;
	top: -3px;
	color: var(--delete-color) !important;
    font-size: 1.2rem;
}

.vrtkcartbuttonsmodule
{
	border-top: none !important;
	position: absolute;
	bottom: 0;
	padding: 0 0 15px 0 !important;
	width: calc(100% - 40px) !important;
}

.vrtkcartbuttonsmodule .vrtkcartorderdivmodule
{
	margin-right: 0 !important;
}

.vrtkcartbuttonsmodule .vrtkcartorderdivmodule .vrtkcartorderspmodule
{
	display: flex;
    justify-content: end;
}

.vrtkcartorderspmodule .vrtkcartorderbutton
{
	margin-top: -6px;
	padding: 10px 30px;
	border-radius: 50px;
	font-size: 1rem;
	font-weight: 700;
	background: var(--primary-color) !important;
	color: #fff !important;
	transition: all ease 0.4s;
}

.vrtkcartemptybutton
{
	transition: all ease 0.4s;
}

.vrtkcartemptybutton:hover
{
	transform: scale(1.25);
}

.vrtkcartorderspmodule .vrtkcartorderbutton:hover
{
	transform: scale(1.1);
}

/* -------------------- CONFIRMATION DE COMMANDE -------------------- */

/* RESUME DES PRODUITS */
#vrtkconfitemcontainer
{
	padding: 30px;
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 0 0 30px rgb(0 0 0 / 25%);
	margin-bottom: 50px;
}

.vrtkconfcartoneitemrow
{
	padding: 25px;
    border: 1px solid #f1f1f1;
    box-shadow: inset 0 0 15px #f1f1f1;
    border-radius: 10px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: space-between;
}

.vrtkconfcartoneitemrow:has(.vrtk-confcart-item-details .vrtk-confcart-item-toppings)
{
	min-height: 110px;
}

#vrtkconfitemcontainer .vrtkconfcartoneitemrow:not(#vrtkconfitemcontainer .vrtkconfcartoneitemrow:last-child)
{
	margin-bottom: 40px;
}

.vrtkconfcartoneitemrow .vrtkconfcartrightrow
{
	display: flex;
	column-gap: 20px;
}

.view-takeawayconfirm i.fa-minus-circle
{
	padding-left: 15px;
	color: var(--delete-color) !important;
}

/* DETAILS DU PRIX TOTAL */
.prices-container
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.prices-container .vrtk-confcart-fullcost-details
{
	position: relative;
	width: 30%;
	text-align: center;
}

.prices-container .vrtk-confcart-fullcost-details > span + div
{
	margin-top: 5px;
}

.prices-container .vrtk-confcart-fullcost-details:not(.vrtk-confcart-fullcost-details:last-child)::after
{
	position: absolute;
	content: "";
	border-left: 1px solid var(--primary-color);
	top: 0;
	right: -9%;
	min-height: 100%;
	width: 1px;
}

#vrtkconfcartprice
{
	font-weight: 500;
    line-height: 12px;
    margin: 10px auto 0;
	color: var(--primary-color) !important;
    width: fit-content;
}

/* BOUTON - AJOUT D'AUTRES ARTICLES */
.vrtkaddmoreitemsdiv
{
	text-align: center;
	margin: 30px 0 50px;
}

.vrtkaddmoreitemsdiv > .btn
{
	padding: 10px 30px;
	border: 2px solid transparent;
	background: var(--primary-color);
	color: #fff !important;
	font-weight: 700;
	border-radius: 50px;
	transition: all ease 0.4s;
}

.vrtkaddmoreitemsdiv > .btn:hover
{
	transform: scale(1.1);
	background: #fff;
	border: 2px solid var(--primary-color);
	color: var(--primary-color) !important;
}

/* BOUTON COMMANDER - EN BAS DE PAGE */
.vrtkgotopaydiv
{
	text-align: center;
}

.vrtkgotopaydiv > a
{
	padding: 10px 30px;
	background: var(--primary-color);
	border-radius: 50px;
	font-weight: 600;
	color: #fff !important;
	display: inline-block; /* Permettre l'animation ci-dessous */
	animation: ctaBtn 1.5s linear infinite;
}

/* BOUTONS DE NAVIGATION - IMAGES FANCYBOX */
.fancybox-navigation > button.fancybox-button
{
	border-radius: 50%;
}

.fancybox-navigation > button.fancybox-button > div
{
	background: var(--primary-color);
    border-radius: 50%;
}

.fancybox-button svg path
{
	color: #fff !important;
}



/* -------------------- RESPONSIVE -------------------- */
/* Tablets */
/* iPhone */
@media (max-width: 1050px)
{
	.vrtkitemsdiv .vrtksingleitemdiv /* Always at least 50% width on tablets */
	{
		min-width: 45% !important;
	}
}

/* Phones */
@media (max-width: 550px)
{
	.vrtkconfcartoneitemrow
	{
		row-gap: 10px;
	}

	.vrtkitemsdiv .vrtksingleitemdiv /* Always 100% width on mobile */
	{
		width: 100% !important;
	}

	/* Cart */
	#cart-toggler
	{
		opacity: .2;
	}

	/* Confirmation page */
	.prices-container
	{
		row-gap: 30px;
	}

	.prices-container .vrtk-confcart-fullcost-details
	{
		width: 100%;
	}

	.prices-container .vrtk-confcart-fullcost-details:not(.vrtk-confcart-fullcost-details:last-child)::after
	{
		border-left: none;
		border-bottom: 1px solid var(--primary-color);
		top: 65px;
		left: 33%;
		min-height: unset;
		height: 1px;
		width: 33%;
	}
}

/* ANIMATIONS */
@keyframes ctaBtn
{
	33%
	{
		transform: scale(1);
	}
	66%
	{
		transform: scale(1.065);
	}
	99%
	{
		transform: scale(1);
	}
}

/* -------------------- TEMPORAIRE -------------------- */
.vrtkitemattributes
{
	display: none !important;
}

.vrtkitemsdiv .vrtkitemleftdiv .vrtkiteminfodivcontent .vrtkitemvardiv button
{
	font-size: 0;
	padding: 15px;
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

/* .vrtkgotopaydiv > a
{
	animation: disco 0.4s linear infinite;
	padding: 10px 50px;
	font-size: 3rem;
}

@keyframes disco
{
	0%
	{
		filter: hue-rotate(0deg);
	}

	100%
	{
		filter: hue-rotate(360deg);
	}
} */