/*
	Variables
*/
:root {
  --main-color: #5FB394;
  --secondary-color : #000;
  --gray-light : rgb(229, 231, 235);
}

/*
	Fonts
*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,400;0,500;0,600;0,700;0,800;0,900;1,100&display=swap');

* {
	font-family : 'Montserrat', sans-serif;
}
/*
	Layout
*/
.header {
	display : block;
	background : #FFFFFF;
	height : 150px;
	position : sticky;
	top : 0px;
	z-index : 1000;
}
.header-shop-choice {
    display: inline-flex;
    align-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    justify-items: center;
    height: 50px;
    margin-right: 20px;
    border: 1px solid var(--main-color);
    padding: 10px 30px;
    border-radius: 50px;
    margin: 5px;
    color: var(--main-color);
}
.header-shop-choice svg {
    margin-left: 15px;
}
.logo-wrapper {
	display : inline-block;
	width : 170px;
	padding : 30px;
}
.center {
	text-align : center;
}
.admin-wrapper {
	position: fixed;
    width: 100%;
    text-align: center;
    border-top: red 3px solid;
}
.admin-content {
	background: red;
    width: 300px;
    margin: auto;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
    color: white;
}
.banner-wrapper {
	display : inline-block;
	width : calc(100% - 170px);
	height : 150px;
	overflow : hidden;
	padding : 0 10px;
}
.logo {
	width : 80px;
	height : auto;
}
.banner {
	width : 100%;
	height : auto;
	border-bottom-left-radius : 20px;
	border-bottom-right-radius : 20px;
}
.main-wrapper {
	background: linear-gradient(180deg, rgba(95,179,148,0.5) 35%, rgba(255,255,255,1) 100%);
	padding : 0;
	min-height : 90vh;
}

.content-wrapper {

    background: #fff;
    padding: 30px;
    position: relative;
    margin: auto;

    width: calc(100% - 20px);
    min-width: 300px;
    max-width: 1000px;
    padding-bottom: 400px;
    transition : all 1s ease;
}

/*
Menu
*/
.menu-wrapper {
	display : inline-block;
	display: inline-block;
    vertical-align: top;
    padding-top: 15px;
    float: right;
}
.menu-item {
	display : inline-block;
	margin : 5px;
	padding : 15px 5px;
	color : var(--main-color);
}
.menu-item:hover {
	background-color : var(--main-color);
	color : white;
	transition: all 1s ease-out;
}
.menu-list-item {
	margin : 15px;
}
.menu-list-item:hover {
	color : var(--main-color);
}
.menu-list-separator {
	margin : 25px 0px;
}
/*
	General
*/
.main {
	background : var(--main-color);
	color : white;
}
.slider-wrapper {
	display : flex;
	overflow-x : scroll;
	width : 100%;
}
.slider-item {
    margin-left: 10px;
    margin-right: 10px;
    border-radius: 50px;
    height: 40px !important;
    border-radius: 50px !important;
    padding: 5px 35px;
    text-align: center;
    width: max-content !important;
    flex-basis : 200px !important;
    flex : none;
}
.categories-wrapper {
	overflow-x: hidden;
    width: 100%;
    position: fixed;
    top: 140px;
    padding: 20px min(20px, 20%);
    background: white;
    z-index: 1000;
    scroll-behavior: auto;
    left: 0px;
    border-bottom: 1px solid var(--gray-light);
    display: flex;
    justify-content: center;
}
.categories-items-wrapper {
    display: flex;
}
.categories-wrapper.extended .categories-items-wrapper {
	flex-direction : column;
}
.categories-wrapper::-webkit-scrollbar {
  width: 0;
  background-color: transparent;
  -webkit-appearance: none;
}
::-webkit-scrollbar-track {
  -webkit-appearance: none;
}

::-webkit-scrollbar-thumb {
  -webkit-appearance: none;
}
.categories-arrow {
	position : fixed;
	color : var(--main-color);
	padding : 10px;
	height : 60px;
	background : white;
	top : 154px;
}
.categories-arrow.left {
	left : 0px;
}
.categories-arrow.right {
	right : 0px;
}

.categories-arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: white;
  border: none;
  cursor: pointer;
}

.categories-arrow.left {
  justify-self: start;
}

.categories-arrow.right {
  justify-self: end;
}

.categories-wrapper::-webkit-scrollbar-thumb {
  background-color: #888;
}
.categories-wrapper.extended {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    position : fixed;
    top : 0;
    left : 0;
    width : 100%;
    height : 100vh;
}
.category-item {
    margin-left: 10px;
    margin-right: 10px;
    border-radius: 50px;
    height: 40px !important;
    border-radius: 50px !important;
    padding: 5px 35px;
    text-align: center;
    width: 200px !important;
    overflow: hidden;
    white-space: pre;
    min-width : 200px;
    max-width : 200px;
    text-transform : uppercase;
    font-weight : 300;
    box-shadow: none !important;
    border: 1px solid black !important;
}
.category-item.selected {
	font-weight : 600;
	border : 1px solid var(--main-color) !important;
}
.pill {
	border-radius : 50px;
}
.results-wrapper {
	width : 100%;
	max-width : 900px;
	margin : auto;
	text-align : center;
}
.results-line {
	float : left;
}
.results-line-title:before { 
	content: ' '; 
	display: block; 
}
.results-line-title {
    font-weight: 700;
    float: left;
    padding-top: 30px;
    margin-right: 15px;
    color : var(--main-color) !important;
    text-align : left;
    width : 100%;
}
.results-slots {
	display : inline-flex;
	padding : 10px;
}
.results-separator {
	margin : 15px 0;
}
.results-date {
	color : #000;
	font-weight : 200;
}
.results-slot-info {
	color : #000;
	font-weight : 700;
}
/*
	Products
*/
.product-card, .shop-card, .order-item {
	box-shadow: 0px 3px 20px #00000029;
	display : inline-block;
	width : 30%;
	min-width : 280px;
	padding : 10px;
	border-radius : 20px;
	margin : 10px;
	position : relative;
	height : 140px;
	vertical-align : top;
	cursor : pointer;
}

.product-thumbnail, .shop-banner {
    width: 90px;
    display: inline-block;
    height: 90px;
    border-radius: 5px;
    background-color: gray;
    flex-grow: 1;
    min-width: 90px;
    margin-right: 10px;
    background-size: cover;
    background-position: center;
}

.product-infos {
	display : inline-block;
	vertical-align : top;
	padding : 0 10px;
	width: calc(100% - 110px);
	
}
.product-quantity-selector {
	position : absolute;
	bottom : 0;
	right : 0;
	background : black;
	color : white;
	border-top-left-radius : 20px;
	border-bottom-right-radius : 20px;
	display : inline-flex;
	height : 40px;
}
.product-quantity-selector * {
	width : 40px;
	text-align : center;
	margin : auto;
}
.product-description {
	font-weight : 200;
	font-size : 14px;
}
.product-price {
	position: absolute;
    bottom: 10px;
    left: 10px;
    font-size: 14px;
}
.product-container {
	
}
.product-overlay {
	position: fixed;
    width: 100%;
    height: 100vh;
    /* background-image: url(https://img.freepik.com/vecteurs-premium/pizza-vegetarienne-aux-legumes-frais-icone-dessin-anime-alimentaire_80590-13795.jpg); */
    top: 0;
    left: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0.5;
    z-index: -5;
}
.product-close-wrapper,.checkout-close-wrapper,.payment-close-wrapper,.order-close-wrapper {
    position: absolute;
    left: 0;
    top: 0;
    width: 70px;
    padding: 10px 5px;
    background: var(--main-color);
    color: white;
    border-top-left-radius: 30px;
    border-bottom-right-radius: 20px;
    text-align: center;
}
.product-single-title {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    flex: 0 0 80%;
    text-transform: uppercase;
    font-size : 24px;
}

.product-single-price {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-end;
    align-items: center;
    flex: 0 0 20%;
    font-weight: 700;
    font-size : 24px;
}

.product-single-infos {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
    margin-top: 30px;
    padding-bottom: 20px;
	border-bottom : 2px dashed var(--gray-light);
    margin-bottom: 10px;
}
.product-subtitle,.product-section-title {
	text-align: center;
    font-size: 18px;
    margin-bottom: 10px;
    text-transform : uppercase;
}
.product-single-description {
    display: block;
    flex: 0 0 100%;
    font-weight: 200;
    font-size : 16px;
}
.product-image {
	background-size : cover;
	background-position : center;
	width : 100%;
	height : 250px;
}
.product-offer {
	width : 200px !important;
}
.product-offers-wrapper {
	text-align : center;
}
.product-section-info {
	font-weight : 200;
	text-align : center;
	font-size : 12px;
	color : gray;
}
.product-section-line-image {
	width : 100px;
	height : 100px;
	background-size : contain;
	background-position : center;
}
.product-section-wrapper {
	scroll-margin-top : 200px;
}
.quantity-selector-wrapper {
	display : inline-flex;
}
.product-resume-quantity-wrapper {
	text-align : center;	
}
.product-section-line .quantity-selector-wrapper {
	float : right;
	display : inline-flex;
}
.product-section-line.active {
	background : var(--main-color);
	color : white;
	border : 1px solid var(--main-color);
}
.product-resume-add-button-wrapper {
	text-align : center;
}
.product-gtns-section {
	width : 100%;
	text-align : center;
}
.quantity-selector-wrapper * {
	margin : 5px;
}
.quantity-selector-button {
	border-radius : 50%;
	background : black;
	color : white;
	width : 24px;
	height : 24px;
}
.quantity-selector-button.disabled {
	background : gray;
}
.quantity-selector-value {
	width : 30px;
	text-align : center;
}
.product-edit-section {
	float: right;
    font-size: 12px;
    color: var(--main-color);
}
.product-resume-detail-element {
    font-size: 12px;
    font-weight: 200;
    padding-left : 20px;
}
.products-cart {
	position : fixed;
	bottom : 0;
	left : 0;
	background : none;
	width : 100%;
	text-align : center;
	padding : 30px;
}
.products-cart-button {
    display: flex;
    background: var(--main-color);
    width: 90px;
    margin: auto;
    border-radius: 50%;
    height: 90px;
    border: 4px solid white;
    box-shadow: 0px 3px 20px #00000029;
    color: white;
    align-content: center;
    justify-content: center;
    align-items: center;
    font-size: 36px;
    position : relative;
}
span.cart-amount {
    position: absolute;
    font-size: 12px;
    top: -7px;
    right: -25px;
    background: red;
    border-radius: 5px;
    padding: 5px;
}
.products-header {
    height: 181px;
    margin: -10px -10px 0 -10px;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    /* background-position-y: top; */
}
.products-list {
	margin-top : 80px;
}
.content-wrapper:has(.product-container,.checkout-wrapper,.payment-wrapper,.order-wrapper) {
	margin-top : 70px;
	max-width : 600px;
	border-top-left-radius : 30px;
	border-top-right-radius : 30px;
	transition : all .5s ease;
	position : relative;
}
.products-category-title,
.shops-title {
  scroll-margin-top: 270px;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  flex-basis : 100%;
  font-size : 22px/27px;
  text-transform : uppercase;
  margin-bottom : 25px;
}

.products-category-title::after,
.shops-title::after {
  border: 1px solid var(--gray-light);
  content: '';
  flex-grow: 1;
  margin-left: 10px;
}


.product-quantity-editor-line {
	margin-top : 20px;
	position : relative;
}
.product-quantity-editor-line-detail {
	font-weight : 200;
	display : inline-block;
}
.product-quantity-editor-line-quantity {
	float : right;
	display : inline-block;
}

.product-section-lines-wrapper {
    text-align: center;
    border-bottom: 2px dashed var(--gray-light);
    margin-bottom: 10px;
    display: flex;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    flex-basis : 200px;
}

.product-section-line {
    /* margin: 10px 0; */
    border: 1px solid black;
    border-radius: 10px;
    height: 130px;
    margin: 10px;
    padding: 10px;
    text-align: center;
    position: relative;
    display: flex;
    flex-basis: 200px;
    justify-content: center;
    flex-wrap: wrap;
    align-content: flex-start;
}

.product-section-line-price {
	font-size : 14px;
	font-weight : 200;
}
.product-section-line-title {
	display : block;
	font-size : 14px;
	width : 100%;
}
.product-section-line .quantity-selector-wrapper {
	float : none;
	position : absolute;
	bottom : 5px;
}
.product-section-line.active {
	background : var(--main-color);
	color : white;
}

.product-quantity-editor-image {
    width: 60px;
    display: inline-block;
    height : 60px;
}

.product-quantity-editor-infos {
    display: inline-block;
    margin-left: 15px;
    width: calc(100% - 75px);
}

.product-quantity-editor-amount {
    position: absolute;
    top: 0;
    right: 8px;
    color: var(--main-color);
}
.product-footer {
    position: fixed;
    width: 599px;
    bottom: 0;
    left: calc(50% - 300px);
    background: white;
    border-top: 1px solid var(--gray-light);
    padding: 15px;
    transition: all 1s ease;
}
.product-quantity-editor-name {
    width: 80%;
    position: absolute;
    top: 0;
}
.checkout-cart-title,.payment-title {
	font-size : 24px;
	text-transform : uppercase;
}
.payment-wrapper {
    margin-top: 30px;
}
.checkout-cart-amount-value {
    display: inline-block;
    float: right;
    padding-right: 11px;
    padding-top: 15px;
    font-size: 20px;
    color: var(--main-color);
}

.checkout-cart-amount {
    margin-bottom: 20px;
    text-align : center;
}
.checkout-cart-amount-label {
    display: inline-block;
    padding-left: 75px;
    padding-top: 15px;
}
.checkout-delivery-error {
    text-align: center;
    color: red;
}
.address-input-wrapper.fullpage {
	top : 140px;
}
.address-input-items {
	background : white;
	padding-left : 20px;
}
.address-input-item {
	border-bottom : 1px solid black;
	font-weight : 200;
	cursor : pointer;
	height : 45px;
	padding : 10px;
}
.address-input-item:hover {
	background : var(--main-color);
	color : white;
}
.checkout-service-details {
    display: block;
    width: 100%;
    position: relative;
    height: 40px;
}

.checkout-service-edit {
    padding-left: 75px;
    color: var(--main-color);
    font-size: 12px;
    position: absolute;
    top: 0;
    left: 0;
}

.checkout-service-name {
    padding-left: 75px;
    position: absolute;
    left: 0;
    bottom: 0;
}

.checkout-service-amount {
    position: absolute;
    right: 12px;
    bottom: 0;
}
.main.address-input-geolocation {
    display: inline-block;
    width: 40px;
    text-align: center;
    padding: 5px;
}
.selectable-button.pill {
    height: 40px;
    border-radius: 50px;
}
.checkout-slot-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
}
.address-input-element {
    display: inline-block;
    width: calc(100% - 60px) !important;
}
.checkout-wrapper hr {
	margin : 20px 0 ;
}
.checkout-cart-wrapper {
	padding : 20px 0;
}

.checkout-cart-extend {
    position: absolute;
    bottom: -9px;
    width: 100%;
    text-align: center;
}
.checkout-cart-extend.extended button.main {
	animation : all 1s ease-out;
	transform : rotate(180deg);
	
}

.checkout-cart-extend.extended {
	animation : all 1s ease-out;
	transform : rotate(180deg);
}
.checkout-cart-wrapper.extended {
	animation : all 1s ease-out;
	height : 100%;
}
.step-resume-edit {
    place-self: flex-start;
    margin-left: auto;
}

.step-resume-amount {
    text-align: right;
    color: var(--main-color);
}

.step-resume-wrapper {
    padding: 5px;
    border: 1px solid #e5e7eb;
    border-radius: 15px;
    background: #e5e7eb;
    display: flex;
    margin : 15px 0px;
}

.step-resume-detail {
    font-size: 12px;
    font-weight: 200;
}
.checkout-slots hr {
	margin : 20px 0;
}
.checkout-resume-line {
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
    font-size : 14px;
    font-weight : 200;
}
.checkout-resume-line.total {
	font-size : 16px;
	color : var(--main-color);
	font-weight : 400;
}

.checkout-resume-line-amount {
    margin-left: auto;
}
.checkout-resume-validate {
	text-align : center;
}
.checkout-wrapper {
	position : relative;
	margin-top : 30px;
}

.selectable-button.stripe-card {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: flex-start;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    height: 40px;
}
.stripe-validation-wrapper {
    text-align: center;
    margin-top: 15px;
}

.stripe-new-card {
    margin-top: 15px;
}

.StripeElement {
    padding-top: 10px;
}
.stripe-loader-wrapper {
    width: 100%;
    height: 300px;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}
/*
	Navigation
*/
.navigation-button {
	background : #000;
	color : white;
	border-radius : 50px;
	padding : 5px;
}

/*
	Loader
*/
.loader {
  width: 16px;
  height: 16px;
  position: relative;
  left: -32px;
  border-radius: 50%;
  color: #fff;
  background: currentColor;
  box-shadow: 32px 0 , -32px 0 ,  64px 0;
}

.loader::after {
  content: '';
  position: absolute;
  left: -32px;
  top: 0;
  width: 16px;
  height: 16px;
  border-radius: 10px;
  background:#FF3D00;
  animation: move 3s linear infinite alternate;
}

@keyframes move {
  0% , 5%{
    left: -32px;
    width: 16px;
  }
  15% , 20%{
    left: -32px;
    width: 48px;
  }
  30% , 35%{
    left: 0px;
    width: 16px;
  }
  45% , 50%{
    left: 0px;
    width: 48px;
  }
  60% , 65%{
    left: 32px;
    width: 16px;
  }

  75% , 80% {
    left: 32px;
    width: 48px;
  }
  95%, 100% {
    left: 64px;
    width: 16px;
  }
}  
  
@-webkit-keyframes SHOW-BOX {
    0%   { top : 100vh; }
    100% { top: 0; }
}
@-moz-keyframes SHOW-BOX {
    0%   { top : 100vh; }
    100% { top: 0; }
}
@-o-keyframes SHOW-BOX {
    0%   { top : 100vh; }
    100% { top: 0; }
}
@keyframes SHOW-BOX {
    0%   { top : 100vh; }
    100% { top: 0; }
}
.loader-wrapper {
	font-size: 14px;
    text-align: center;
    font-weight: 200;
}

.loader-wrapper .svg.svg-inline--fa{
	display: block;
    text-align: center;
    margin: auto;
    font-size: 41px;
    margin-bottom: 10px;
}
.fullpage {
	position : fixed;
	z-index : 100000;
	top : 0;
	left : 0;
	background : white;
	width : 100%;
	height : 100vh;
	padding : 30px;
	/*
	-webkit-animation: SHOW-BOX 1s ease;
    -moz-animation: SHOW-BOX 1s ease;
    -o-animation: SHOW-BOX 1s ease;
    animation: SHOW-BOX 1s ease;
    */
}
.top-right {
	position : absolute;
	top : 10px;
	right : 10px;
}
.top-left {
	position : absolute;
	top : 10px;
	left : 10px;
}
/*
	Text
*/
.title-1 {
	font-size : 22px;
	font-weight : 500;
	margin : 10px;
}
.title-2 {
	
}
.title-3 {
	
}

/*
	Buttons
*/
.selectable-button {
	background : white;
	border : 1px solid var(--main-color);
	border-radius : 10px;
	color : black;
	width : 120px;
	height : 120px;
	margin : 3px;
	box-shadow: 0px 3px 20px #00000029;
	align-items: center;
	display: flex;
	flex-direction: row;
	padding: 5px;
	justify-content : center;
}
.selectable-button:hover, .selectable-button.selected{
	background : var(--main-color);
	color : white;
	transition : all 0.5s ease;
}
img {
	width : 100%;
}
input:focus {
	outline:none !important;
}
input {
	border: 1px solid gray !important;
	border-radius: 25px !important;
	width: 100% !important;
	height: 40px !important;
	padding: 5px 30px !important;
	font-size: 16px !important;
}

button.main, a.main {
	box-shadow: 0px 3px 6px #00000029;
	border-radius : 50px;
	padding : 3px 40px;
	text-transform : uppercase;
	font-weight : 100;
	margin : 10px;
}
button.main:hover {
	transition : all 0.5s ease;
	background : white;
	color : var(--main-color);
}
.circle-button {
    background: var(--main-color);
    color: white;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display : block;
    padding : 10px;
    text-align : center;
}
.circle-button:hover {
	transition : all 0.5s ease;
	background : white;
	color : var(--main-color);
}
.menu-wrapper a:not(.header-shop-choice) {
    vertical-align: middle;
    line-height: 57px;
    margin-right: 20px;
    padding : 0px !important;
}

.menu-wrapper .circle-button {
	padding : 10px;
	display : inline-block;
	margin : 5px;
	vertical-align : top;
}
.buttons-wrapper {
	display : block;
	display: inline-flex;
	text-align: center;
	margin: auto;
	align-items: center;
	width: 100%;
	justify-content: center;
	flex-wrap : wrap;
}

.order-wrapper {
    padding: 15px;
    /* font-weight: 200; */
}

.order-header {
    border-bottom: 1px solid black;
    margin: 15px 0;
}

.order-header-number {
    font-size: 20px;
}

.order-header-dates {display: flex;flex-direction: row;align-content: center;justify-content: flex-start;align-items: center;font-size:14px;}

.order-header-date-value {
    display: flex;
    align-self: flex-end;
    margin-left: auto;
    font-weight: 200;
}

.order-header-service {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    align-items: center;
    border: var(--main-color) 1px solid;
    border-radius: 15px;
    padding: 15px;
    margin: 10px 0;
}

.order-header-service-label {
    width: 100%;
    text-align: center;
    margin-right: auto;
    font-size: 18px;
}

.order-header-service-location {
    width: 100%;
    text-align: center;
    font-weight: 200;
}

.order-header-service-date {
    width: 100%;
    min-width: 120px;
    text-align: center;
    margin-left: auto;
    font-weight: 200;
    font-size: 22px;
    color: var(--main-color);
    font-weight: 500;
}

.order-header-center {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 10px 0;
    font-size: 24px;
}
.order-product-details span {
    margin: 0 5px;
    font-size: 12px;
    font-weight: 200;
}
.order-product-info {
    width: calc(100% - 200px);
}
.order-info {
    font-size: 12px;
    font-weight: 200;
    color: gray;
    margin-top: 50px;
}
.order-product {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
    margin : 10px 0;
}

.order-product-image {
    border-radius: 5px;
    width: 60px;
    height: 60px;
    background: gray;
    margin-right: 10px;
    background-size : contain;
    background-position : center;
}

.order-product-name {
    display: flex;
    margin-right: auto;
}

.order-product-amount {
    display: flex;
    justify-content: space-between;
    width : 50px;
}

.order-product-details {width: 100%;}

.order-product-quantity {
    margin: 0 15px;
}
.order-total-amount {
    width: 50px;
    text-align : right;
}
.order-totals {
    margin-top: 20px;
}

.order-total-line {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
}
.order-total-line:not(.global){
	font-size: 14px;
    font-weight: 200;
}

.order-total-label {
    margin-right: 15px;
}
.order-item-id {
    display: inline-flex;
    width: 40px;
}

.order-item-date {
    display: inline-flex;
    /* width: calc(100% - 50px); */
    text-align: right;
    margin-left: auto;
    font-weight: 200;
}

.order-item-header {
    display: flex;
}
.order-item-center {
    font-size: 20px;
}
.order-item-products {
    font-weight: 200;
}

.order-item-amount {
    font-weight: 200;
}

span.order-item-label {
    font-weight: 400;
}
.shops-wrapper {
  display: flex;
  flex-wrap: wrap;
}

.shops-address-wrapper {
  flex-basis: 100%;
  flex-grow: 1;
  margin-top: 30px;
}

.shops-address-title {font-weight: 300;}
.shops-results {
  flex-basis: 70%;
  flex-grow: 1;
  flex-wrap: wrap;
  display: flex;
}

.shop-card {
    display: flex;
    align-items: flex-start;
    margin-bottom: 10px;
    flex-basis: 45%;
    flex-grow: 1;
    height: auto;
}

.shop-address {
    font-size: 14px;
    color: gray;
    flex-basis: 100%;
    display: flex;
}

.shop-banner img {
  width: 100px; /* Ajustez la taille de l'image selon vos besoins */
  margin-right: 10px;
}

.shop-info {
    flex-grow: 1;
    align-items: flex-start;
    display: flex;
    align-content: flex-start;
    flex-wrap: wrap;
    flex-direction: row;
    height: 100%;
    width: calc(100% - 100px);
}
.shop-service {
	font-size : 14px;
}
.shop-service.unavailable {
	color : red;
}
.shop-service.available {
	color : green;
}
.shop-title, .product-title {
    font-size: 18px;
    text-transform: uppercase;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: 100%;
    display: block;
}
.shop-link,.order-link {
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 10px;
    background: black;
    color: white;
    border-bottom-right-radius: 15px;
    border-top-left-radius: 15px;
    text-align: center;
    width: 53px;
}
.bo-breadcrumb {
    width: 100%;
    display: inline-flex;
}

.bo-breadcrumb-item {
    margin: 15px;
}

a.bo-breadcrumb-item {
    color: rgba(95,179,148);
    font-weight: 700;
}

.bo-breadcrumb .svg-inline--fa {
    margin: auto 0;
}
.bo-header-wrapper {
    background: white;
    display: inline-flex;
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
    padding: 15px;
    box-shadow: rgba(65, 69, 82, 0.08) 0px 2px 5px 0px, rgba(0, 0, 0, 0.12) 0px 1px 1px 0px;
}

.content-wrapper.bo-wrapper {
	min-width : 1000px;
	width : calc(100% - 20px);
	max-width : unset;
}

.bo-menu-item {
    border: 1px var(--gray-light) solid;
    border-radius: 15px;
    padding: 15px;
    text-align: center;
    margin: 15px;
    width: 300px;
    background: #fafafa;
    height: 110px;
}
.bo-menu-subtitle {
    width: 100%;
    margin: 20px;
    text-align: center;
}
.bo-menu-item:hover {
	box-shadow: rgba(65, 69, 82, 0.08) 0px 2px 5px 0px, rgba(0, 0, 0, 0.12) 0px 1px 1px 0px;
}

.bo-menu-item-title {color: rgba(95,179,148);font-weight: 700;}

.bo-menu-item-subtitle {
    font-weight: 200;
    font-size: 14px;
}
.bo-menu-title {
    width: 100%;
    font-size: 24px;
    margin: 20px;
}

.bo-menu-item.main {
    border-radius: 15px;
    color: black;
    text-transform: unset;
    padding: 15px;
    width: 100%;
}
a.bo-header-logo {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
}

.bo-header-logo img {
    width: 60px;
    margin-right: 25px;
    border-radius: 50%;
    box-shadow: rgba(65, 69, 82, 0.08) 0px 2px 5px 0px, rgba(0, 0, 0, 0.12) 0px 1px 1px 0px;
}

.bo-header-title {
    font-weight: 500;
    font-size: 18px;
    border-radius: 50%;
}

.bo-header-menu {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
    flex-basis: 250px;
    justify-content: space-around;
}

.bo-header-menu-item {
    font-size: 15px;
    font-weight: 200;
    padding: 5px 10px;
    border-radius: 15px;
}

.bo-header-menu-item:hover {
    background: #F6F8FA;
    cursor: pointer;
}

.bo-section {
    border: 1px solid var(--gray-light);
    margin: 25px;
    padding: 15px;
    border-radius: 15px;
    box-shadow: var(--gray-light) 5px;
}

.bo-section-title {
    font-weight: 500;
    font-size: 18px;
}

.bo-section-content {
    font-size: 16px;
    font-weight: 200;
}
.bo-subheader-wrapper {
    background: rgb(246, 248, 250);
    display: inline-flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-content: center;
    align-items: center;
    width: 100%;
    position: sticky;
    top: 90px;
    z-index: 10000;
    transition : all 0.5s ease;
}

.bo-subheader-item {
    padding: 10px 20px;
}
.bo-tab {
	display : none;
}
.bo-tab.active {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	padding: 40px;
	background: #fafafa;
}
.bo-tabs-header {
    display: inline-flex;
    border-bottom: 2px solid var(--main-color);
    width: 100%;
    padding-top: 10px;
}

.bo-tab-title.active {
    background: var(--main-color);
    color: white;
}

.bo-tab-title:hover {
    background: var(--main-color);
    color: white;
    transition: all 0.3s ease;
}

.bo-tab-title {
    padding: 10px;
}

.bo-element-label {
    position: absolute;
    top: -19px;
    left: 10px;
    background: #fafafa;
    padding: 5px;
    color: #1f2937;
    font-weight: 200;
    transition : all 0.5s ease;
}

.bo-element-wrapper {
    margin-bottom: 20px;
    width: 100%;
}

.bo-element {width: 100%;}
.bo-element-title {
    font-size: 22px;
}
.bo-button {
    padding: 15px;
    border-radius: 5px;
    border: 1px solid var(--gray-light);
    width: 50px;
    margin: 5px;
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}

.bo-checkbox {
    width: 15px !important;
    /* height: 15px !important; */
}
.bo-menu-wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    border: 1px solid var(--gray-light);
    border-radius: 5Px;
}

.bo-menu-sidebar-level-1,.bo-menu-sidebar-level-2,.bo-menu-sidebar-level-3 {
    border : 1px solid var(--gray-light);
    font-size : 14px;
    font-weight : 200;
    width : 22%;
    min-width : 170px;
    transition : all 0.5s ease;
}


.bo-menu-sidebar-item {
    padding: 15px;
    border-bottom: 1px solid var(--gray-light);
    cursor : pointer;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    position : relative;
    padding-right : 40px;
    width : 100%;
    transition : all 0.5s ease;
    font-size : 12px;
}

.bo-menu-sidebar-item.dragover {
	margin-top: 30px;
    border-top: 1px solid var(--gray-light);
    transition : all 0.3s ease;
}
.bo-menu-sidebar-item.active {
	font-weight : 500;
	background : var(--gray-light);
}
.bo-menu-sidebar-item:hover {
	background : var(--gray-light);
	transition : all 0.5s ease;
}
.bo-menu-main {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    align-items: center;
    height: 100%;
    min-height: 300px;
}
.bo-menu-sidebar-dropzone {
	background : var(--gray-light);
	height : 80px;
	transition : all 0.5s ease;
}
.bo-menu-sidebar-item-tools {
	display : none;
	position : absolute;
	right : 5px;
	top : 15px;
}
.bo-menu-sidebar-item:hover .bo-menu-sidebar-item-tools {
	display : block;
	transition : all 0.5s ease;
}
.bo-menu-sidebar-item.action {
	font-weight : 500;
	color : var(--main-color);
}
.bo-element-wrapper:has(input, select):not(:has(.bo-day-wrapper)) {
    border: 1px solid var(--gray-light);
    border-radius: 10px;
    position: relative;
    padding-top: 5px;
    margin-top : 25px;
}

.bo-input,.bo-select,.bo-input-time {
    background: none;
    border: 0px !important;
    padding-left: 17px !important;
    font-size: 16px !important;
    margin-bottom: 3px !important;
    border-radius: 0px !important;
    width : 100%;
}

.bo-input:focus, .bo-select:focus, ,.bo-input-time:focus,.bo-input:focus-within, .bo-select:focus-within, ,.bo-input-time:focus-within {
    box-shadow: none !important;
}

.bo-element-wrapper:has(input:focus-within,select:focus-within):not(:has(.bo-element-wrapper)) {
    border: 3px solid var(--main-color);
}
.bo-element-label.active {
	transition : all 0.5s ease;
	background : none;
	font-weight: 500;
    font-size: 20px;
    top: 3px;
}
.duration {
	width : 49% !important;
}
.bo-tab-validation {
    background: var(--main-color);
    color: white;
    width: 90%;
    margin: auto;
    padding: 8px;
    border-radius: 5px;
}

.bo-tab-footer {
    width: 100%;
    position: fixed;
    bottom: 0px;
    z-index: 1000;
    background: white;
    padding: 14px;
    left: 0;
    text-align: center;
    transition : all 1s ease;
}
.bo-day-wrapper {
    margin: 15px 0;
    border-bottom: 1px solid black;
}

.bo-day-title {
    text-transform: uppercase;
    font-size: 18px;
    margin : 20px 0px;
}

.bo-hours-input {
    width: 75%;
}

.bo-hours-input .bo-element-wrapper {
    width: calc(50% - 10px);
    display: inline-flex;
    margin: 5px;
}

.bo-hours-buttons {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: flex-end;
    margin-left: auto;
}

.bo-hours {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
}
.bo-hours-duplicate {
    width: 100%;
    transition: all 1s ease;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
    padding: 10px;
}
.bo-menu-editor-wrapper {
    display: flex;
}
.bo-menu-sidebar-item:has(.bo-input-search) {
	padding : 0px;
}
.bo-input-search {
    border: 0px !important;
    /* border-bottom: 1px solid black !important; */
    border-radius: 0px !important;
    font-size: 12px !important;
    padding: 3px !important;
}
.bo-menu-sidebar-item-tools button {
    margin: 0px 5px;
}
.bo-image-upload-wrapper {
    background: var(--gray-light);
    margin: 5px;
    border-radius: 5px;
    height: 200px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    background-position: center;
    background-size: cover;
}
.bo-input[type=file] {
    background: rgb(255,255,255,0.5);
    border: 1px dashed black !important;
    margin: 5px;
    font-weight: 200;
}
.bo-menu-editor-button.danger {
    background: #f87171;
    color: white;
}
.bo-menu-editor-button.success {
    background: #22c55e;
    color: white;
}
.bo-menu-editor-button {
	padding: 5px 10px;
    border-radius: 5px;
}
.bo-menu-section-item {
    border-bottom: 1px solid var(--gray-light);
    margin-bottom: 20px;
    padding: 10px;
}
.bo-menu-editor-footer {
    text-align: center;
    padding: 10px;
}
.bo-services-line {
    display: flex;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
}
.bo-import-product-line {
    display: table-row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
}

.bo-import-product-line-element {
    display: table-cell;
    font-weight : 200;
    padding: 5px;
    min-width: 200px;
    transition : all 0.5s ease;
}

.bo-import-product-line-element:hover {
	background : var(--gray-light);
}

.bo-import-products-wrapper {
    display: table;
}
.bo-import-product-line-element input[type=checkbox] {
	width: 15px !important;
    margin-left: 10px;
}
.bo-import-product-line.title {
    background: var(--gray-light);
    width: 95%;
    position: sticky;
    top: 89px;
}
.bo-import-product-line.title .bo-import-product-line-element {
	font-weight : 400;
}
.bo-import-product-line.search {
    background: var(--gray-light);
    width: 100%;
    display: table-caption;
}
.bo-code-wrapper {
    width: 100%;
}
.bo-import-product-line.search input[type="text"] {
    background: none;
    border: 0px !important;
    font-weight: 200;
    border-radius: 0;
    width: 100% !important;
}
.super-header-wrapper {
    height: 70px;
    padding: 40px;
    background: lightskyblue;
    color: white;
    font-weight: 700;
}

@media only screen and (max-device-width : 768px) {
	.order-product-image {
		display : none;
	}
	.order-product-info {
		width : calc(100% - 60px);
	}
	.content-wrapper {
		padding : 10px;
	}
}