/* CSS accordions */
.transition,
.sal-accordion li i:before,
.sal-accordion li i:after,
.sal-accordion p,
.sal-accordion table {
	transition: all 0.25s ease-in-out;
}

.flipIn,
.sal-accordion li {
	animation: flipdown 0.5s ease both;
}

.no-select,
.sal-accordion__item-title {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.sal-accordion {
	list-style: none;
	perspective: 900;
	padding: 0;
	margin: 0;
}

.sal-accordion li {
	position: relative;
	padding: 0;
	margin: 0;
	padding-bottom: 4px;
	padding-top: 17px;
	border-bottom: 1px solid #555555;
}

.sal-accordion li:last-of-type {
	padding-bottom: 0;
}

.sal-accordion li i {
	position: absolute;
	transform: translate(-10px, 0);
	margin-top: 16px;
	right: 0;
}

.sal-accordion li i:before,
.sal-accordion li i:after {
	content: "";
	position: absolute;
	background-color: #cf003f;
	width: 4px;
	height: 9px;
}

.sal-accordion li i:before {
	transform: translate(-2px, 0) rotate(45deg);
}

.sal-accordion li i:after {
	transform: translate(2px, 0) rotate(-45deg);
}

.sal-accordion li input[type=checkbox] {
	position: absolute;
	cursor: pointer;
	width: 100%;
	height: 100%;
	z-index: 1;
	opacity: 0;
}

.sal-accordion li input[type=checkbox]:checked~.sal-accordion__content {
	margin-top: 0;
	max-height: 0;
	opacity: 0;
	transform: translate(0, 50%);
}

.sal-accordion li input[type=checkbox]:checked~i:before {
	transform: translate(2px, 0) rotate(45deg);
}

.sal-accordion li input[type=checkbox]:checked~i:after {
	transform: translate(-2px, 0) rotate(-45deg);
}

.sal-accordion {
	display: none;
}

.sal-accordion.active {
	display: block;
}

.sal-accordion__item {
	overflow-y: hidden;
}

.sal-accordion__item-title {
	font-size: 24px;
}

.sal-headline {
	font-size: 20px;
	font-weight: 500;
	margin-bottom: 8px;
}

.sal_menus-images>.wp-block-image {
	display: none;
	transition: all ease-in 0.3s;
	opacity: 0;
}

.sal_menus-images>.wp-block-image.active {
	display: block;
	opacity: 1;
}

.sal-prev-button:hover,
.sal-next-button:hover {
	cursor: pointer;
}

.sal-prev-button.disabled,
.sal-next-button.disabled {
	cursor: not-allowed;
	background-color: #EEEEEE !important;
	color: #333333 !important;
}

.sal_allergene_desc {
	margin-top: 16px;
}

@keyframes flipdown {
	0% {
		opacity: 0;
		transform-origin: top center;
		transform: rotateX(-90deg);
	}

	5% {
		opacity: 1;
	}

	80% {
		transform: rotateX(8deg);
	}

	83% {
		transform: rotateX(6deg);
	}

	92% {
		transform: rotateX(-3deg);
	}

	100% {
		transform-origin: top center;
		transform: rotateX(0deg);
	}
}

.sal_menus-overview__item .wp-block-image {
	text-align: center;
}

.sal_menus-overview__item .wp-block-image img {
	height: 250px;
	width: auto;
}

.sal_menu {
	display: flex;
	justify-content: space-between;
	height: 50px;
	align-items: center;
	border-bottom: 1px dotted #666;
	column-gap: 16px;
}

@media screen and (max-width: 768px) {
	.sal_menu {
		flex-direction: column;
		height: 100%;
		justify-content: center;
		padding: 8px 0;
	}
}

.sal-accordion__content:last-child .sal_menu:last-child {
	border-bottom: none;
	margin-bottom: 2.5rem;
}

.sal_menu-infos {
	text-align: right;
}

.sal_menu-desc {
	margin-bottom: 0;
	font-size: 20px;
}

.sal_menu-allergens,
.sal_menu-provenance {
	font-size: 15px;
	font-style: italic;
	margin-bottom: 0;
}

.home .sal_menus-overview {
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
}

.home .sal_menus-overview__item {
	width: 100%;
}

.home .sal_menus-overview__item .gb-button {
	display: block;
	text-align: center;
	padding: 15px 20px;
}

.sal_menus-images .sal_menus-overview__item .gb-button,
.sal_menus-images .sal_menus-overview__item .wp-block-image {
	display: none;
}

.sal_menus-images .sal_menus-overview__item .wp-block-image.active {
	display: block;
}

@media screen and (min-width:960px) {
	.home .sal_menus-overview {
		flex-direction: row;
		justify-content: space-between;
	}
	.home .sal_menus-overview__item.sal_menu_wrapper_third {
		max-width: 30%;
	}
	.home .sal_menus-overview__item.sal_menu_wrapper_half {
		max-width: 50%;
	}
	.home .sal_menus-overview__item.sal_menu_wrapper_full {
		max-width: 100%;
	}
}

/**
 * Display menu image as a background
 * Size depends on the page Home or "Offre Restaurations"
 */
 /* For both pages */
.sal_menu_bg_img {
	display: block;
	width: 100%;
	height: 400px;
	max-width: 700px;
	margin: 0 auto;
	background-size: cover;
	background-position: center center;
}

/* Image on the Home Page */
.sal_menu_bg_img_home {
	width: 300px;
	height: 200px;
}

@media screen and ((min-width:960px) and (max-width:1192px)) {
	.sal_menu_bg_img_home {
		width: 270px;
		height: 170px;
	}
}

/* Image on the Menu Page */
@media screen and (max-width:592px) {
	.sal_menu_bg_img {
		height: 200px;
	}
}
@media screen and ((min-width:593px) and (max-width:768px)) {
	.sal_menu_bg_img_restauration {
		height: 300px;
	}
}
@media screen and (min-width:960px) {
	.sal_menu_bg_img_restauration {
		width: 700px;
	}
}


/**
 *  Allergens filter
 **/
.sal-filter {
	position: relative;
}

.sal-filter__header {
	display: flex;
    	align-items: center;
    	justify-content: space-between;
    	flex-flow: row wrap;
    	gap: 2rem;
    	padding-bottom: 50px;
}

.sal-filter__form {
        box-sizing: border-box;
        padding: 30px;
        width: 320px;
        max-width: 100%;
        border: 2px solid #788896;
        background: #fff;
        position: absolute;
        right: 0;
        top: 50%;
        z-index: 10001;
        transition: 0.3s ease-out;
}

.sal-filter__form:not(.active) {
        pointer-events: none;
        display: none;
}

.sal-filter__form-header {
        display: flex;
        align-items: center;
        gap: 1rem;
        justify-content: space-between;
        margin-bottom: 30px;
        font-size: 16px;
        display: none;
    }

.sal-filter__form-close {
        font-size: 20px;
        cursor: pointer;
}

.sal-filter__form-inner {
        box-sizing: border-box;
        max-height: calc(100dvh - 150px);
        overflow-y: auto;
}

.sal-filter__form-list {
        display: flex;
        flex-direction: column;
        gap: 10px;
}

.sal-filter__form-item {
	cursor: pointer;
}

.sal-filter__form-item input {
        width: 0;
        height: 0;
        opacity: 0;
}

.sal-filter__form-item span {
        padding-left: 30px;
        position: relative;
}

.sal-filter__form-item span::before,
.sal-filter__form-item span::after {
        content: '';
        display: block;
        position: absolute;
        left: 0;
        top: 2px;
}

.sal-filter__form-item span::before {
        box-sizing: border-box;
        width: 20px;
        aspect-ratio: 1/1;
        border-radius: 2px;
        border: 2px solid #788896;
}

.sal-filter__form-item span::after {
        content: '✓';
        font-family: 'circular';
        font-size: 14px;
        color: #fff;
        opacity: 0;
        left: 3px;
}

.sal-filter__form-item input:checked ~ span::before {
        background: #788896;
}

.sal-filter__form-item input:checked ~ span::after {
        opacity: 1;
}

.sal-filter__form-sub {
        padding-left: 20px;
}

.sal-filter__form-sub span {
	font-style: italic;
}
.sal-filter__form-btns {
        display: flex;
        gap: 10px;
        justify-content: space-between;
        padding-top: 30px;
}

.sal-filter__form-btns .btn {
        flex: 1;
}

@media screen and (max-width: 600px) {
        .sal-filter__form {
            display: flex;
            flex-direction: column;
            width: 100%;
            max-width: 100%;
            position: fixed;
            inset: 0;
        }

        .sal-filter__form-header {
            display: flex;
        }
}

@media screen and (max-width: 480px) {
        .sal-filter__header {
            flex-flow: row wrap;
            text-align: center;
        }

        .sal-filter-btn {
            width: 100%;
            height: 55.5px;
        }
}


.btn {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    max-width: 100%;
    min-height: 32px;
    padding: 10px 20px;
    color: #fff;
    background: #6558F5;
    border-radius: 5px;
    border: 1px solid #6558F5;
    font-size: 16px;
    text-decoration: none;
    line-height: 1.2;
    transition: 0.3s;
    overflow: hidden;
    cursor: pointer;
    position: relative;
    z-index: 1;
}

.btn:hover {
    background: transparent;
    color: #6558F5;
}

.btn_green {
    background: #1AAE9F;
    border: 1px solid #1AAE9F;
}

.btn_green:hover {
    color: #1AAE9F;
}

.btn_transparent {
    background: transparent;
    border: 1px solid #998C74;
    color: #998C74;
}

.btn_transparent:hover {
    color: #fff;
    background: #998C74;
}
