/* assets/css/shortcodes.css */

/*--------------------------------------------------------------------
  Menu-QR-Resto – feuilles de style front
--------------------------------------------------------------------*/

/*====================================================================*/
/* 0. Variables rapides (couleurs)                                    */
/*====================================================================*/
:root{
    --mqr-primary:#0073aa;
    --mqr-danger:#dc3232;
    --mqr-bg-light:#fafafa;
    --mqr-border:#e0e0e0;
}

/* flèches haut / bas -------------------------------------------------*/
.mqr-sec-up, .mqr-sec-down,
.mqr-item-up, .mqr-item-down, .mqr-move-up,
.mqr-move-down{
	border:0 !important;background:#f3f3f3;border-radius:4px;
	width:24px;height:24px;display:flex;align-items:center;justify-content:center;
	margin-left:4px;cursor:pointer;padding:0 !important;
}
.mqr-move-up:hover,
.mqr-move-down:hover{
	border:0 !important;background:transparent !important;
}
.mqr-sec-up:focus, .mqr-sec-down:focus,
.mqr-item-up:focus, .mqr-move-up:focus,
.mqr-move-down:focus{
	border:0 !important;background:transparent !important;
}
.mqr-sec-up:hover, .mqr-sec-down:hover,
.mqr-item-up:hover, .mqr-item-down:hover, .mqr-move-up:hover,
.mqr-move-down:hover{background:#e0e0e0}
.mqr-arrow-ico{fill:#666}
.mqr-arrow-ico:hover, .mqr-arrow-ico:hover{fill:#000}
/* ───────────── Poignée + rang + label visibilité ───────────── */
.mqr-drag-handle        {cursor:grab;margin-right:8px;}
.mqr-drag-handle:active {cursor:grabbing;}
.mqr-dots-icon circle   {fill:#666;}

.mqr-card-rank          {font-size:11px;color:#999;margin-right:6px;}

.mqr-vis-label          {display:inline-flex;align-items:center;
                          font-size:12px;font-weight:600;
                          padding:2px 6px;border-radius:6px;margin-left:6px;}
.mqr-vis-label.on       {background:#dff6e1;color:#2e7d32;}
.mqr-vis-label.off      {background:#f3f3f3;color:#7a7a7a;}

.mqr-vis-ico            {width:12px;height:12px;margin-right:4px;fill:currentColor;}

/*====================================================================*/
/* 1. Formulaires (création menu, établissement…)                     */
/*====================================================================*/
.mqr-form{
    max-width:800px;
    margin:1.5em auto;
    padding:1em;
    border-radius:4px;
}
label {
  display: block !important;
  position: relative;
  z-index: 9;
}
.labelnom {
	margin-left: 10px;
	background: #fefefe;
	padding: 0 10px;
	z-index: 9 !important;
  position: relative;
  font-weight: 700;
  font-size: 14px;
}

.mqr-form p{margin:0 0 1em}
.mqr-form input,
.mqr-form textarea,
.mqr-form select,
#mqr-establishment-form input,
#mqr-establishment-form textarea,
#mqr-establishment-form select{
    width:100%;padding:.5em;
    border:1px solid #ccc;border-radius: 60px !important;;
    box-sizing:border-box;
	box-sizing: border-box;
  margin-top: -5px;
  position: relative;
}
#mqr-establishment-form #mqr-estab-hours, #mqr-establishment-form #mqr-estab-desc {
	border-radius: 7px !important;
}
.mqr-remove-photo{background:#E5F6FF;border-color:#9ED8FF;color:#007CBA}
.mqr-remove-item {background:#FFEAEA;border-color:#F5A3A3;color:#B30000}
.bouton-ajout-item{text-align:center;}
#mqr-add-section {
	background: #f7c550;
	color: #000;
}
/* ◇ Image de l’item (vignette à gauche) */
.mqr-item-img{
	flex:0 0 auto;
	width:64px;   /* taille thumbnail WP par défaut */
	height:auto;
	margin-right:8px;
	border-radius:14px !important;
	object-fit:cover
}
.supr {
	width: 46%;
	display: inline-block;
	text-align: right;
	vertical-align: top;
}
.mqr-form .supr button.button {
	background: transparent;
	color: #999;
	text-decoration: underline;
	padding: 0;
	padding: 10px 0;
}
.mqr-form .supr button.button:hover {
	background: transparent;
	color: #dc7c77;
}
.mqr-section-form h3, .mqr-item-form h4 {
	width: 50%;
	display: inline-block;
}
.mqr-form button.button{
    padding:.5em 1em;border:none;
    background: #000;color:#fff;
    border-radius:60px;cursor:pointer;
}
.mqr-form button.button:hover{background:#005f8d}
.mqr-section-form textarea {
	padding: .5rem 1rem;
}
.nom_section {
	margin: 0 0 -10px 10px;
}
/* === Menu form: photo row + hide toggle === */
.mqr-photo-line{
  display:flex;
  align-items:center;
  gap:12px;              /* espace entre les éléments de la ligne */
}

.mqr-hide-toggle{
  margin-left:auto;      /* pousse le switch à droite */
  display:inline-flex !important;   /* une seule ligne avec l’input */
  align-items:center;
  gap:14px;               /* réduit l’écart case <-> texte */
  white-space:nowrap;    /* force la phrase sur une seule ligne */
}

.mqr-hide-toggle input{
  margin:0;              /* supprime la marge par défaut du checkbox */
}
/* Case + texte : plus gros, bien aligné */
.mqr-hide-toggle input[type="checkbox"]{
  transform: scale(1.5);     /* ajuste 1.2–1.8 selon ton goût */
  transform-origin: center;
  margin: 0;                  /* évite les décalages */
  vertical-align: middle;
}
/* ------------------------------------------------------- */
/* Zone image cliquable + placeholder                      */
/* ------------------------------------------------------- */
.mqr-photo-box{
	display:inline-block;position:relative;cursor:pointer;
	width:80px;height:80px;border:1px dashed #ccc;border-radius:4px;
}
.mqr-photo-preview{
	width:100%;height:100%;object-fit:cover;border-radius:4px;
}
.mqr-remove-photo{
	position:absolute;top:2px;right:2px;width:20px;height:20px;
	border:none;background:#0009;border-radius:50%;
	color:#fff;font-size:12px;line-height:20px;text-align:center;
	cursor:pointer;display:none;
}
.mqr-remove-photo:hover{background:#d00}
.mqr-remove-icon{width:10px;height:10px;pointer-events:none;}


/*=== 1-b. Messages d’alerte ========================================*/
.mqr-form [role="alert"]{
    margin-top:1em;padding:.75em;border-radius:4px;
}
.mqr-form .success{background:#dff0d8;border:1px solid #3c763d;color:#3c763d}
.mqr-form .error  {background:#f2dede;border:1px solid #a94442;color:#a94442}

/* ------------------------------------------------------- */
/* Vignette + icône “supprimer l’image”                    */
/* ------------------------------------------------------- */

/* conteneur vignette */
.mqr-photo-wrap{
	position:relative;
	display:inline-block;
	width:60px;
	height:60px;
	margin-top:24px;
	cursor:pointer;
	transition:border-color .2s ease;
}
.mqr-photo-wrap::after{
	content:'';
	position:absolute;
	inset:0;
	background:#000;
	opacity:0;
	transition:opacity .2s ease;
}

/* Au survol (desktop) ou au focus clavier */
.mqr-photo-wrap:hover::after,
.mqr-photo-wrap:focus-within::after{
	opacity:0.25;
}
.mqr-remove-photo:hover{
	background:#d63638;
}

.mqr-photo-wrap:hover .mqr-photo-preview{
	transform:scale(1.03);
	transition:transform .2s ease;
}

/* miniature */
.mqr-photo-preview{
	width:100%;
	height:100%;
	object-fit:cover;
	border-radius:4px !important;
}

/* bouton rond “X” */
.mqr-remove-photo{
	position:absolute;
	top: -8px;
	right: -16px;
	width:22px;
	height:22px;
	border:none !important;
	padding:0;
	border-radius:50%;
	background:rgba(0,0,0,.85);
	cursor:pointer;
}

/* icône SVG centré */
.mqr-remove-icon{
	width:24px;
	height:24px;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	pointer-events:none;
}

/* léger changement au survol */
.mqr-remove-photo:hover {
	background: none !important;
}
.mqr-remove-icon {
	fill: #000;
}
.mqr-remove-photo .mqr-remove-icon svg:hover {
	fill: #555;
}

/* champ en erreur -------------------------------------------------- */
.mqr-error {
	border-color:#d63638 !important;
}

.mqr-error-msg{
	color:#d63638;
	font-size:13px;
	margin-top:4px;
}
.mqr-field-error{
    color:#c00;
    font-size:13px;
    margin:4px 0 0;
}
#mqr-leave-overlay{
    position:fixed; inset:0; z-index:9999;
    background:rgba(0,0,0,.55);
    display:flex; align-items:center; justify-content:center;
}
.mqr-leave-box{
    background:#fff; padding:24px 32px; max-width:340px;
    border-radius:6px; text-align:center; font-size:15px;
}
.mqr-leave-box .button{ margin:12px 8px 0; }

/*====================================================================*/
/* 2. Builder : Sections & items (interface d’édition)                */
/*====================================================================*/
.mqr-section{
    margin:0 0 2em;padding:1em;
    background:var(--mqr-bg-light);border: 0.15em solid #f7c550;border-radius:26px;
    position:relative;
}
.mqr-section-handle{cursor:move;margin-right:.5em}
.mqr-edit-section-btn{
    position:absolute;top:6px;right:6px;
}

.mqr-menu-items{background: #fefefe;
  border-radius: 26px;
  padding: 15px 25px !important;
  border: 1px solid #efefef;
  margin-bottom:15px;}
.mqr-item-handle{cursor:move;margin-right:.25em}

/*====================================================================*/
/* 3. Carte de menu RENDUE (front)                                    */
/*====================================================================*/
.mqr-menu-sec-title{
    text-align:center;font-weight:700;margin:1.4em 0 .6em;
}

/*--- liste d’une section ---*/
.mqr-menu-items{list-style:none;margin:0;padding:0}

/* ligne d’item */
.mqr-items-container .mqr-item{
    padding:4px 10px;
	border-radius: 10px;
  margin-bottom: 20px;
  border: 1px solid #ccc;
  background: #fefefe;
}

/* 3-a Nom à gauche */
.mqr-name{flex:0 0 auto;margin-right:6px}

/* 3-b Leader (pointillés) : occupe l’espace restant */
.mqr-leader{
    flex:1 1 auto;
    border-bottom:1px dotted currentColor;
    margin:0 6px;               /* marges G & D */
    transform:translateY(-0.3em); /* alignement optique */
    min-width:10px;             /* évite le collapse */
	height: 22px;
}

/* 3-c Prix à droite */
.mqr-price{
    flex:0 0 auto;
    margin-left:6px;
    white-space:nowrap;
}

/* 3-d Cas “sans prix” → on masque le leader */
.mqr-item.no-price .mqr-leader,
.mqr-item.no-price .mqr-price{display:none}

/* 3-e Description (ingrédients) en dessous */
.mqr-desc{
    flex:1 1 100%;
    font-style:italic;
    margin:2px 0 0 0;
}
/* 2-a le “+” */
.mqr-add-btn {
	grid-area: plus;
	align-self: center;
	justify-self: end;
	width: 28px !important;
	height: 28px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	margin-left: auto;
	border: 1px solid #666 !important;
	border-radius: 50% !important;
	background: #fff;
	color: #666 !important;
	padding: 0 !important;
}

.mqr-add-btn:hover {
	margin-left: auto;
	background: #fff !important;
	border: 1px solid #666 !important;
	border-radius: 50% !important;
	width: 28px !important;
	height: 28px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	color: #666 !important;
	padding: 0 !important;
}
.mqr-add-btn svg{fill:#666;width:14px;height:14px}

/* 2-b off-canvas très simple */
.mqr-offcanvas{
    position: fixed;
    top: 0;
    right: 0;                     /* point d’ancrage */
    width: 100%;                 /* prend toute la largeur
                                    mais…                       */
    max-width: 480px;            /* …ne dépassera jamais 480 px */
    height: 100%;
    background: #fff;
    padding: 60px;
    z-index: 999999;

    transform: translateX(100%); /* ← poussé de 100 % = hors écran */
    transition: transform .3s ease;
}
.mqr-offcanvas.open{transform: translateX(0);}
.mqr-off-body{display:flex;flex-direction:column;gap:12px}

#mqr-btn-cart{
    position:fixed;bottom:108px;right:24px;
    background:#000;color:#fff;padding:12px 20px;border-radius:40px;z-index: 999999;
}
#mqr-cart-badge{
    background:#e50914;color:#fff;border-radius:50%;
    padding:2px 6px;font-size:12px;margin-left:6px;
}

/*====================================================================*/
/* 3.1. Fiche établissement – items : image à gauche, texte empilé      */
/*====================================================================*/

/* transforme chaque item en flex-container pour aligner image + texte */
/* ----------------------------------------------------------
   STRUCTURE GÉNÉRALE D’UN ITEM
   ---------------------------------------------------------- */
.mqr-menu-items .mqr-item {
    display: grid;
    /* 1 : image  (auto = prend la largeur réelle ou 0 si vide)
       2 : texte  (prend tout le reste)
       3 : bouton (32 px) */
    grid-template-columns: auto 1fr 32px;
    grid-template-rows: auto auto auto;
    grid-template-areas:
        "img name  plus"
        "img desc  plus"
        "img price plus";
    column-gap: 12px;
    row-gap: 4px;
    align-items: start;
    padding: 12px 0;
    border-bottom: 1px dashed #ccc;
}

/* ----------------------------------------------------------
   ITEM SANS IMAGE  → on supprime la 1ʳᵉ colonne
   ---------------------------------------------------------- */
.mqr-menu-items .mqr-item.no-img {
    grid-template-columns: 1fr 32px;          /* texte + bouton */
    grid-template-areas:
        "name  plus"
        "desc  plus"
        "price plus";
}
/* ----------------------------------------------------------
   Image : taille cohérente, même sur mobile
   ---------------------------------------------------------- */
.mqr-item-img {
    width: 72px;          /* même largeur partout            */
    height: 72px;         /* carrée                          */
    object-fit: cover;    /* crop propre                     */
    border-radius: 6px;
    grid-area: img;
}
#mqr-estab-save {
	background: #1c6754;
	color: #fff;
	border: 0;
	border-radius: 60px;
}
#mqr-estab-save:hover {
	background: #38f48a;
	color: #08392d;
}
#mqr-estab-delete {
	background: #671c1c;
	color: #fff;
	border: 0;
	border-radius: 60px;
}

#mqr-estab-delete:hover {
	background: #f43838;
	color: #fff;
}
/* l’image garde sa taille fixe et un petit écart à droite */
.mqr-menu-items .mqr-item-img {
  flex: 0 0 auto;
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 6px;
  margin-right: 12px;
}

/* nom / description / prix passent chacun en bloc, verticalement */
.mqr-item-img   { grid-area:img;  width:72px;height:72px;object-fit:cover;border-radius:8px; }
.mqr-name       { grid-area:name; font-weight:700; word-break:break-word; }
.mqr-desc       { grid-area:desc; font-style:italic;color:#666; }
.mqr-price      { grid-area:name; justify-self:end; font-weight:700; } /* même ligne que le nom */


/* ajustements typographiques */
.mqr-menu-items .mqr-item .mqr-name {
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 4px;
}
.mqr-menu-items .mqr-item .mqr-desc {
  font-style: italic;
  color: #555;
  margin-bottom: 4px;
  line-height: 1em;
}
.mqr-menu-items .mqr-item .mqr-price {
  font-weight: 700;
}

/* si tu utilises encore .mqr-leader quelque part, on le désactive */
.mqr-menu-items .mqr-item .mqr-leader {
  display: none !important;
}
/*========================================================*/
/* 3.2. Fiche établissement – forcer l’empilement texte   */
/*========================================================*/

/* on part du principe que .mqr-item est déjà display:flex */
.mqr-menu-items .mqr-item .mqr-name,
.mqr-menu-items .mqr-item .mqr-desc,
.mqr-menu-items .mqr-item .mqr-price {
  /* chaque élément occupe toute la largeur restante → nouvelle ligne */
  flex: 1 0 100%;   
  /* et on remet l’alignement à gauche */
  text-align: left;
  /* reset des marges horizontales si tu en avais */
  margin: 0;  /* 4px d’espace sous chaque ligne, à ajuster */
}

/* si tu veux un peu plus d’air au-dessus du prix : */
.mqr-menu-items .mqr-item .mqr-price {
  margin-top: 6px;
  font-weight: 700;
  /* tu peux ajouter font-size:14px; etc. */
}

/* ==============================================================
   MODAL QUANTITÉ
   ============================================================== */
.mqr-modal                  {position:fixed;inset:0;display:none;z-index:1002;}
.mqr-modal.is-visible       {display:block;}
.mqr-modal__backdrop        {position:absolute;inset:0;background:rgba(0,0,0,.45);}

.mqr-modal__box             {position:relative;margin:5vh auto;padding:34px 40px;
                              max-width:320px;background:#fff;border-radius:12px;
                              box-shadow:0 4px 16px rgba(0,0,0,.15);top: 20%;}
.mqr-modal__close           {position: absolute;top: -1px;color: #000;right: 1px;border: 0;background: transparent;font-size: 35px;line-height: 1;cursor:pointer;}
.mqr-modal__close:hover           {color: #333;background:transparent !important;}
.mqr-modal__title           {text-align:left;margin:0 0 18px;font-weight:600;}

.mqr-qty-field              {display:flex;justify-content:left;align-items:left;
                              gap:8px;margin-bottom:20px;}
.mqr-qty-field input        {width:60px !important;text-align:center;
                              -moz-appearance:textfield; /* cache flèches Firefox */}
.mqr-qty-field input::-webkit-inner-spin-button,
.mqr-qty-field input::-webkit-outer-spin-button{appearance:none;margin:0;}

.mqr-qty-plus,
.mqr-qty-minus              {width:38px;height:38px;color: #000;border:0;border-radius:50%;
                              background:#ffc949;font-size:22px;line-height:38px;
                              cursor:pointer;user-select:none;padding:0;}
.mqr-qty-plus:hover,
.mqr-qty-minus:hover        {background:#000;color:#ffc949}
.mqr-qty-validate.button.button-primary {
	background: #000;
	color: #ffc949;
	font-weight: 600;
	border: 10px solid #fff;
	float: right;
	border-radius:60px
}
/* ===================================================================
   3.3  — Carte de menu : image | texte (3 lignes) | bouton « + »
   =================================================================== */

/* --- image -------------------------------------------------------- */
.mqr-item-img{
	grid-area:img;
	width:74px;height:74px;
	object-fit:cover;border-radius:8px;
}

/* --- bouton “+” (avec !important pour surclasser) ----------------- */
.mqr-add-btn{
	grid-area:plus;
	justify-self:end;
	width:28px!important;height:28px!important;
	display:flex!important;align-items:center!important;justify-content:center!important;
	border:1px solid #666!important;border-radius:50%!important;
	background:#fff!important;color:#666!important;padding:0!important;
	cursor:pointer;transition:.15s;
}
.mqr-add-btn:hover{background:#fafafa!important;}
.mqr-add-btn svg{width:14px;height:14px;fill:#666;}
/* -----------------------------------------------------------------
   Empile nom / description / prix à l’intérieur du conteneur texte
   ----------------------------------------------------------------- */
.mqr-item-info{
	display:flex;
	flex-direction:column;              /* petit espace vertical */
}

/* Le prix reste un bloc indépendant, toujours aligné à gauche        */
.mqr-item-info .mqr-price{
	align-self:flex-start;   /* facultatif (garde l’alignement à G)   */
}

/*====================================================================*/
/* 4. Liste des cartes (tableau de bord)                              */
/*====================================================================*/
.mqr-menu-list{list-style:none;margin:0;padding:0}
.mqr-menu-list li{margin:0 0 .75em}
.mqr-menu-list li {
	border-bottom: 1px solid #eee;
	padding: 1.5em;
	margin: 0;
	background: #eee;
	margin-bottom: 10px;
	border-radius: 20px;
}
/*====================================================================*/
/* 5. Page “Mon compte” & wrapper générique                           */
/*====================================================================*/
.mqr-account,
.mqr-account-page {
    max-width:900px;margin:1em auto;padding:1em;
    background:#FFF;
    border-radius:26px;
}
.mqr-menu-actions svg{width:18px;height:18px;fill:#333}
.mqr-menu-actions {
  display: flex;
  flex-wrap: nowrap;    /* interdit le wrap */
  gap: 6px;
  align-items: center;
}
.mqr-menu-actions a{
    width:20%;                          /* même largeur visuelle */
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    text-decoration:none;
    font-size:13px;
    color:#333;
}
.mqr-action-ico{
    width:22px;
    height:22px;
    margin-bottom:2px;
    fill:currentColor;
}
.mqr-action-view   {color:#0a8cf1;}
.mqr-action-edit   {color:#28a745;}
.mqr-delete-menu   {color:#dc3545;}
.mqr-export-pdf    {color:#e50914;}
.mqr-export-word   {color:#2b579a;}
.mqr-export-qr     {color:#333;}

.mqr-account h2 {
	margin-top: 25px;
	font-family: "Poppins", Sans-serif;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -1.2px;
  color: var( --e-global-color-secondary );
}
.mqr-menu-card {
  display: block;
  margin: 0 0 12px;
  padding: 6px 0;
  border-bottom: 1px solid #eee;
}
#mqr-etab-qr-img {
	border: 1px solid #ccc;
	padding: 10px;
	margin-bottom: 20px;
}
#mqr-etab-qr-btn {
	background: #000;
	padding: 10px 20px;
	border-radius: 60px;
	color: #fff;
}
#mqr-etab-qr-btn:hover {
	background: #f9a841;
	color: #000;
}
@media (max-width:500px){
	.mqr-menu-title {
	width: 100%;
	display: block;
}
}
/*====================================================================*/
/* 6. Loader plein-écran (fiche établissement & menu)                 */
/*====================================================================*/
#mqr-estab-loader,
#mqr-menu-loader{
    position:fixed;top:0;left:0;width:100%;height:100%;
    background:rgba(255,255,255,.6);z-index:9999;
    display:flex;align-items:center;justify-content:center;
}
.spinner{
    width:48px;height:48px;border:6px solid #ccc;
    border-top:6px solid var(--mqr-primary);
    border-radius:50%;animation:mqrSpin .7s linear infinite;
}
@keyframes mqrSpin{to{transform:rotate(360deg)}}

/*====================================================================*/
/* 7. Récap ma commande off canva            */
/*====================================================================*/
/* === Off-canvas “Ma commande” (look mobile card) ===================== */
#mqr-off-cart{
	background:#ececec;
	max-height:calc(100vh - 0px);
	overflow:auto;
	padding:40px;
}

#mqr-cart-list{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:20px;
}

#mqr-cart-list li{
	display:flex;
	align-items:center;
	gap:14px;
	background:#fafafa;
	border-radius:14px;
	padding:14px;
	position:relative;
}

.mqr-cart-thumb{
	width:58px;height:58px;
	object-fit:cover;
	border-radius:10px !important;
	flex:0 0 auto;
}

.mqr-cart-info{
	flex:1 1 auto;
	display:flex;
	flex-direction:column;
}

.mqr-cart-name{
	font-weight:600;
	font-size:15px;
}

.mqr-cart-head {
	margin-bottom: 10px;
}

.mqr-cart-price {
	float: right;
}

.mqr-cart-line-price{
	font-size:13px;
	color:#666;
	margin-top:2px;
}

.mqr-cart-qtybox{
	display:flex;
	align-items:center;
	gap:8px;
}

.mqr-cart-plus,
.mqr-cart-minus{
	font-size:18px;
	line-height:22px;
	padding:0;
	cursor:pointer;
	color: #000;
  background: #ffc949;
  border-radius: 60px;
  border: 0;
  width: 30px;
  height: 30px;
}
.mqr-cart-remove {
	border: 0;
	color: #666;
	font-size: 22px;
}

.mqr-cart-qty{
	width:38px;
	height:30px;
	border-radius:6px;
	background:#000;
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:13px;
}
.mqr-cart-remove:hover {
	background: transparent;
	color: #ffc949;
}
#mqr-cart-close {
	background: #000;
	color: #ffc949;
	border: 0;
	border-radius: 60px;
}
#mqr-cart-clear {
	background: #e67474;
	color: #000;
	border: 0;
	border-radius: 60px;
}
/* total + bouton ---------------------------------------------------- */
#mqr-cart-total{
	display:block;
	font-weight:700;
	text-align:right;
	margin:24px 0;
	font-size:17px;
}

#btn-cart-checkout{
	display:block;
	width:100%;
	padding:14px 0;
	background:#000;
	color:#fff;
	border:none;
	border-radius:12px;
	font-size:16px;
	text-align:center;
	cursor:pointer;
}
/*--------------------------------------------------------------
  Cartes de menu : titre + bascules à la même ligne
--------------------------------------------------------------*/
.mqr-menu-card-header{
    display:flex;                 /*  titre ———— toggles  */
    align-items:center;
    justify-content:space-between;
    gap:16px;
	margin-bottom: 25px;
}

/* le titre prend toute la place qu’il peut */
.mqr-menu-title{
    flex:1 1 auto;
    margin:0;
    font-weight:700;
    padding:0 0 6px;
}

/* conteneur des deux bascules */
.mqr-toggle-wrap{
    display:flex;
    align-items:center;
    gap:18px;                     /* espace entre switch & radio */
}

/* interrupteur visibilité ------------------------------- */
.mqr-switch{position:relative;display:inline-block;width:40px;height:22px}
.mqr-switch input{opacity:0;width:0;height:0}
.mqr-slider{
    position:absolute;cursor:pointer;inset:0;
    background:#ccc;border-radius:34px;transition:.2s
}
.mqr-slider:before{
    content:'';position:absolute;height:16px;width:16px;left:3px;top:3px;
    background:#fff;border-radius:50%;transition:.2s
}
.mqr-switch input:checked + .mqr-slider{background:#28a745}
.mqr-switch input:checked + .mqr-slider:before{transform:translateX(18px)}

/* radio carte par défaut ------------------------------- */
.mqr-radio{position:relative;display:inline-flex;align-items:center}
.mqr-radio input{opacity:0;width:0;height:0}
.mqr-radio-ui{
    width:18px;height:18px;border:2px solid #666;border-radius:50%;
    display:inline-block;position:relative
}
.mqr-radio input:checked + .mqr-radio-ui{
    border-color:#0073aa;
    background:#0073aa
}
.mqr-radio input:checked + .mqr-radio-ui:after{
    content:'';position:absolute;inset:4px;
    background:#fff;border-radius:50%;
}
/*====================================================================*/
/* 11. Upload Logo / Header + Choix design                            */
/*====================================================================*/
.mqr-image-uploader{
	border:2px dashed var(--mqr-border);
	position:relative;display:inline-block;cursor:pointer;
	background:var(--mqr-bg-light);overflow:hidden;text-align:center;
}
.mqr-image-uploader.square{width:120px;height:120px;}
.mqr-image-uploader.rectangle{width:100%;padding-bottom:30%;}
.mqr-image-uploader img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.mqr-image-uploader .remove{
	/* positionnement */
	position:absolute;top:6px;right:6px;
	/* forme et dimensions */
	width:26px;height:26px;padding:0;border:none;border-radius:50%;
	/* couleur + centrage du × */
	background:var(--mqr-danger);color:#fff;font-size:18px;
	display:flex;align-items:center;justify-content:center;
	/* misc */
	cursor:pointer;line-height:0;
}

/* Placeholder “+” quand aucune image --------------------------------*/
.mqr-image-uploader .placeholder{
	/* occupe tout le conteneur */
	position:absolute;inset:0;
	/* centre le + */
	display:flex;align-items:center;justify-content:center;
	/* style visuel */
	font-size:32px;line-height:1;font-weight:700;color:#555;
	user-select:none;pointer-events:none;
}


/* Vignettes design --------------------------------------------------*/
.mqr-design-choices{display:flex;flex-wrap:wrap;gap:20px;margin:0;padding:0;list-style:none;}
.mqr-design-choices li{flex:0 0 160px;text-align:center;}
.mqr-design-thumb{display:block;border:1px solid var(--mqr-border);margin-bottom:6px;}
.mqr-design-thumb img{width:100%;height:120px;object-fit:cover;}

.mqr-section.mqr-fact {
	border: 0;
	background: #fff;
}
/*====================================================================*/
/* 12. Apparence : design + identité visuelle                          */
/*====================================================================*/
#mqr-appearance h3{margin:0 0 25px;font-size:1.6rem}
.mqr-appearance-block{margin-bottom:35px}
.mqr-appearance-block h4{margin:0 0 15px;font-size:1.2rem;font-weight:600}

.mqr-design-choices{
	display:flex;flex-wrap:wrap;gap:18px;margin:0;padding:0;list-style:none
}
.mqr-design-choices li{
	flex:0 0 150px;text-align:center;position:relative
}
.mqr-design-choices input[type=radio]{
	position:absolute;top:-6px;left:-6px;transform:scale(1.2)
}
.mqr-design-thumb{
	display:block;border:1px solid var(--mqr-border);border-radius:4px;
	overflow:hidden;margin-bottom:6px;height:120px
}
.mqr-design-thumb img{width:100%;height:100%;object-fit:cover}

.mqr-img-wrap{display:flex;align-items:flex-start;gap:20px;margin-bottom:25px}
.mqr-label{min-width:110px;line-height:120px;font-weight:600}
/* Croisillon masqué si aucune image ----------------------------*/
.mqr-image-uploader.empty .remove{display:none}
/*====================================================================*/
/* 13. Validation front                                               */
/*====================================================================*/
.mqr-error{border-color:#e74c3c!important}
.mqr-error-msg{
	color:#e74c3c;font-size:.85rem;margin-top:4px;display:block
}
/*====================================================================*/
/* 14. Modal de confirmation (suppression)                            */
/*====================================================================*/
#mqr-delete-modal{
	position:fixed;inset:0;z-index:9999;
	background:rgba(0,0,0,.6);display:none;
}
#mqr-delete-modal .inner{
	position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
	background:#fff;border-radius:6px;max-width:420px;padding:25px;
	box-shadow:0 10px 25px rgba(0,0,0,.25);text-align:center
}
#mqr-delete-modal p{margin:0 0 20px;font-size:1rem}
#mqr-delete-modal .actions{display:flex;justify-content:center;gap:16px}

/*====================================================================*/
/* 15. form autocomplete                           */
/*====================================================================*/
.mqr-field-city{position:relative}
		.mqr-city-sug{position:absolute;left:0;right:0;max-height:180px;
		              overflow-y:auto;margin:0;padding:0;border:1px solid #ccc;
		              background:#fff;z-index:9999}
		.mqr-city-sug li{list-style:none;padding:6px 8px;cursor:pointer}
		.mqr-city-sug li:hover{background:#f0f0f0}
		#mqr-city-suggestions {	padding: 10px 25px;}
		#mqr-city-suggestions li {	list-style: none;padding:10px;border-bottom:1px solid #efefef;}
		.mqr-city-sug:empty {display:none;}

/* LIMITATION JS */
.mqr-upgrade-msg{background:#fff7d6;border:1px solid #ffe08a;padding:10px;border-radius:6px;margin:8px 0 12px;font-size:13px}
.is-locked{opacity:.5;pointer-events:none}

/* =================================================================
   Liste “Type de restauration”  – version finale
   ================================================================= */
.mqr-cuisine-choices{
    margin:0;
    padding:0;
    list-style:none;
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
    gap:12px 24px;
}
@media (max-width:992px){
    .mqr-cuisine-choices{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));}
}
@media (max-width:600px){
    .mqr-cuisine-choices{grid-template-columns:1fr;}
}

.mqr-cuisine-choices li{
    text-align:left;
}

.mqr-cuisine-label{
    display:inline-flex;
    flex-direction:row;
    align-items:center;
    gap:6px;
}

/* --- correctif : casse la règle “width:100%” du thème -----------*/
.mqr-cuisine-label input[type="checkbox"]{
    width:auto !important;
    flex:0 0 auto;  
    margin:0;
	margin-right: 5px;
}
/* === Horaires – layout desktop (>=768 px) ===================== */
.mqr-day{
	display:grid;
	grid-template-columns: 90px 100px auto 1fr;
	/* Jour | Fermé | horaires | actions */
	align-items:start;
	column-gap:20px;
	margin-bottom:28px;
}
.mqr-hours-list {
    list-style: none; /* supprime les puces */
    margin: 0;
    padding: 0;
}

.mqr-hours-list li {
    display: flex;
    justify-content: space-between; /* jour à gauche, horaires à droite */
    align-items: center;
    padding: 6px 0; /* petit espace haut/bas */
    border-bottom: 1px solid #ddd; /* barre grise légère */
}

.mqr-hours-list li:last-child {
    border-bottom: none; /* pas de barre après le dernier */
}

.mqr-hours-list .day {
    font-weight: 500;
}

.mqr-hours-list .slots {
    color: #333;
}

.mqr-hours-list .closed {
    color: #999;
    font-style: italic;
}

/* mobile < 768 px : pile les blocs ----------------------------- */
@media(max-width:767px){
	.mqr-day{
		display:block;
		margin-bottom:24px;
	}
}

/* case + texte «Fermé» accolés --------------------------------- */
.day-closed{
	display:inline-flex !important;
	align-items:center;
	gap:6px;
	margin-top:2px;
	white-space:nowrap;
}
.day-closed input{margin:0;}

/* groupes Ouverture/Fermeture ---------------------------------- */
.mqr-slot{
	display:flex;
	flex-wrap:wrap;
	gap:12px 20px;
	margin-bottom:6px;
}
.mqr-slot label{
	display:inline-flex;
	flex-direction:column;
	font-size:13px;
}
.mqr-slot input[type=time]{
	min-width:110px;
	width:auto;          /* évite le width:100% global */
}
button.button.mqr-add-slot:disabled {
	display: none;
}
.button.mqr-add-slot, .button.button-link-delete.mqr-del-slot {
	background: #000;
	color: #fff;
	border-color: #000;
}
.button.mqr-add-slot:hover, .button.button-link-delete.mqr-del-slot:hover {
	background: #000;
	color: #fff;
	border-color: #000;
}
.mqr-cuisine-choices {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	gap: 12px;
	padding: 0;
	list-style: none;
	margin-bottom: 30px;
}

.mqr-cuisine-choices li {
	display: flex;
}

.mqr-cuisine-label {
	cursor: pointer;
	display: flex;
	width: 100%;
	position: relative;
}

.mqr-cuisine {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.mqr-cuisine-tile {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center; /* ✅ centre l’image horizontalement */
	height: 100%;
	background: #fafafa;
	border: 1px solid #ddd;
	border-radius: 6px;
	padding: 8px;
	text-align: center;
	transition: .2s;
	box-sizing: border-box;
}

.mqr-cuisine-img,
.mqr-cuisine-placeholder {
	width: 40px;
	height: 60px;
	border-radius: 4px;
	object-fit: cover;
	display: inline-block;
	margin-top: 4px;
}

.mqr-cuisine-name {
	display: block;
	font-weight: 600;
	font-size: 13px;
	margin-bottom: 2px;
}

.mqr-cuisine-desc {
	display: block;
	font-size: 11px;
	color: #666;
	line-height: 1.2;
}

.mqr-cuisine:checked + .mqr-cuisine-tile {
	border-color: #2e823f;
	box-shadow: 0 0 0 2px #2e823f inset;
}

/* boutons + / – ------------------------------------------------ */
.mqr-add-slot,
.mqr-del-slot{
	padding:4px 12px;
	font-size:12px;
	margin-top:6px;
}

/* lorsque «Fermé» est coché : pseudo‑désactivation visuelle ----- */
.mqr-slot[style*="display:none"]{display:none!important;}

.mqr-open-status{font-weight:600}
		.mqr-open-status.mqr-open  .state{color:#2e7d32}   /* vert */
		.mqr-open-status.mqr-closed.state,
		.mqr-open-status.mqr-closed .state{color:#c62828}  /* rouge */
		/* bloc OUVERT / FERMÉ */
.mqr-open-status .state,
.mqr-open-status .detail{
	display:block;          /* force le retour à la ligne            */
	line-height:1.1;        /* réduit la hauteur de ligne            */
}

.mqr-open-status .detail{
	margin-top:2px;         /* ajustement fin de l’espacement (↕)    */
	font-size:0.9em;
	font-weight:400;
}
.mqr-heart.hearted:focus {
	background: #fff;
}
	.mqr-stat-value{font-size:2rem;font-weight:700;margin-bottom:.4rem}
	.mqr-tabs li{cursor:pointer;padding:.2rem .6rem;border-radius:3px;background:#f2f2f2}
	.mqr-tabs li.active{background:#333;color:#fff}
	/* Force le style de l’onglet actif (priorité ++ avec !important) */
body .mqr-stat .mqr-tabs li.active {
  background:#333 !important;
  color:#fff !important;
}
/* conteneur général */
.mqr-stat{display:inline-block;font-family:inherit;width:100%;}

/* head : flex */
.mqr-stat-head{display:flex;justify-content:space-between;align-items:flex-start}

/* value box */
.mqr-value-box{line-height:1;text-align:left}
.mqr-number{font-size:2.2rem;font-weight:700}
.mqr-unit{font-size:.8rem;margin-left:.35rem;color:#666}
.mqr-period-label{font-size:.75rem;color:#888;margin-top:.1rem}

/* onglets */
.mqr-tabs{list-style:none;margin:0;padding:0;display:flex;gap:.35rem;font-size:.8rem;margin-top: -35px;}
.mqr-tabs li{cursor:pointer;padding:.18rem .55rem;border-radius:3px;background:#f2f2f2}
.mqr-tabs li.active{background:#333;color:#fff}

/* badge + texte */
.mqr-change{margin-top:.55rem;font-size:.78rem;display:flex;gap:.6rem;align-items:center}
.mqr-badge{padding:.1rem .45rem;border-radius:3px;font-weight:600;color:#fff}
.mqr-pos{background:#3bb54a}
.mqr-neg{background:#d93025}
.mqr-neu{background:#f9ab00;color:#000}

.mqr-top-dishes { margin: 1em 0; font-family: sans-serif; }
.mqr-top-dishes-header { display: flex; font-weight: bold; padding: 0.5em 0; border-bottom: 1px solid #ddd; }
.mqr-col-rank { width: 40px; color: #bbb; }
.mqr-col-name { flex: 1; }
.mqr-col-count { width: 140px; text-align: right; }

.mqr-top-dishes-list { list-style: none; margin: 0; padding: 0; }
.mqr-top-dishes-item { display: flex; align-items: center; padding: 0.5em 0; border-bottom: 1px solid #f0f0f0; }
.mqr-top-dishes-rank { width: 40px; color: #bbb; }
.mqr-top-dishes-name { flex: 1; }
.mqr-top-dishes-count { width: 80px; text-align: right; }
.mqr-top-dishes-count .number { display: block; font-size: 1.2em; }
.mqr-top-dishes-count .label { display: block; color: #888; font-size: 0.8em; }

.mqr-top-dishes-toggle {
  margin-top: 0.5em;
  background: none;
  border: none;
  color: #0073aa;
  cursor: pointer;
  font-size: 0.95em;
  text-decoration: underline;
}
/* ------------ Badges (texte) --------------*/
.mqr-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;font-size:.8em}
.mqr-badge-text {
	background: #fff;
	padding: 2px 10px;
	border-radius: 100px;
	border: 1px solid #ccc;
	font-size: 14px;
	color: #999;
}
.mqr-allergens-toggle {
	background: #fff !important;
	padding: 2px 10px !important;
	border-radius: 100px !important;
	border: 1px solid #ccc !important;
	font-size: 14px !important;
	color: #999 !important;
}
.mqr-allergens-toggle:hover {
	background: #606060 !important;
  padding: 2px 10px !important;
  border-radius: 100px !important;
  border: 1px solid #2f2f2f !important;
  font-size: 14px !important;
  color: #fff !important;
}
.mqr-alcohol-warning {
	font-size: 12px;
	font-style: italic;
	color: #999;
	text-align: center;
}
/* boutons-tags badges (formulaire) */
.mqr-badge-btn{
  padding:4px 10px;font-size:.8em;border:1px solid #ccc;border-radius:3px;
  background:#fafafa;cursor:pointer;transition:.15s;
}
.mqr-badge-btn[aria-pressed="true"] {
	background: #000;
	color: #fff !important;
}
.mqr-badge-btn {
	padding: 4px 10px !important;
	font-size: .9em !important;
	border: 1px solid #ccc !important;
	border-radius: 100px !important;
	background: #fafafa;
	cursor: pointer !important;
	transition: .15s !important;
	color: #666 !important;
}
.mqr-badge-btn:hover {
	background: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}
.mqr-badges-info, .mqr-allergens-info {
	font-size: 12px;
	width: 100%;
	margin: 0 !important;
	color: #999;
}
/* ===== Badges en tags (formulaire) ===== */
#mqr-menu-add-form .mqr-badge-btn{
  padding:4px 10px;
  font-size:.8em;
  border:1px solid #ccc;
  border-radius:3px;
  background:#fafafa;
  color:#666;
  cursor:pointer;
  transition:.15s;
  outline: none;            /* neutralise focus générique */
  box-shadow: none;         /* neutralise box-shadow Elementor */
  -webkit-appearance:none;
  appearance:none;
}

/* état ON (via aria-pressed) */
#mqr-menu-add-form .mqr-badge-btn[aria-pressed="true"]{
  background:#000;
  color:#fff;
  border-color:#000 !important;
}

/* hover souris */
#mqr-menu-add-form .mqr-badge-btn:hover{
  background:#666;
  color:#fff;
}

/* neutralise focus d’Elementor */
#mqr-menu-add-form .mqr-badge-btn:focus,
#mqr-menu-add-form .mqr-badge-btn:active{
  outline:none !important;
  box-shadow:none !important;
}

/* (facultatif) focus clavier accessible
   — garde un anneau discret UNIQUEMENT au clavier */
#mqr-menu-add-form .mqr-badge-btn:focus-visible{
  outline:2px solid #005fcc;
  outline-offset:2px;
}
/* état sélectionné (aria-pressed="true") */
.mqr-allergen-btn[aria-pressed="true"]{
  background:#fff !important;   /* bleu WP */
  color:#d08d36         !important;
  border-color:#d08d36 !important;
  box-shadow:none    !important;   /* neutralise éventuel style Elementor */
  font-weight: 700;
}

/* ------------ Allergènes ------------------*/
.mqr-allergens-wrap{margin-top:6px}
.mqr-allergens-list, .mqr-allergens-panel{list-style:none;margin:4px 0 0;padding:0;display: none;flex-wrap:wrap;gap:8px}
.mqr-allergens-list.visible {display: flex;}
.mqr-allergens-panel.visible {
  display: block;      /* ou flex, selon le rendu souhaité */
}
.mqr-allergen-elt{display:inline-flex;align-items:center;gap:4px;font-size:.9em;margin-right: 5px;}
.mqr-allergens-toggle{display:inline-flex;align-items:center;gap:4px}
.mqr-eye-ico{width:9px !important;height:9px !important;margin-right:5px;}
.mqr-allergens-toggle{display:block !important;margin: 10px 0;}
.mqr-eye-ico{width:16px;height:16px}
.mqr-allergen-btn img {
	width: 25px;
	height: auto;
	vertical-align: middle;
}
.mqr-allergen-btn {
	padding: .2em 0em !important;
	border-color: #999 !important;
	border-radius: 100px !important;
	margin: 3px;
	color: #333 !important;
	width: 47% !important;
}
.mqr-allergen-btn:hover {
	border-color: #d08d36 !important;
	background:#fff !important;
}
.mqr-badges-info-label {
	margin-top: 24px;
}
input.alcool {
	width: max-content;
}


/* Bouton WP “primary” plus compact ----------------------------- */
#mqr-actions-bar .button-primary{
	padding:8px 20px;
	border-radius:20px;
	font-weight:600;
}
.mqr-vis-wrap {
	display: flex;
}/* ==== HELP "?" — commun ==== */
.mqr-help{
  display:inline-block;
  position:relative;
  vertical-align:middle;
}
.mqr-help > summary::-webkit-details-marker{ display:none; }
.mqr-help > summary{ list-style:none; }

.mqr-help-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border:1px solid #999;
  border-radius:50%;
  font-size:12px;
  line-height:1;
  cursor:pointer;
  user-select:none;
  background:#fff;
}
.mqr-help[open] .mqr-help-button{
  background:#f7f7f7;
  border-color:#777;
}

.mqr-help-panel{
  position:absolute;
  z-index:50;
  top:125%;
  right:0;
  min-width:240px;
  max-width:320px;
  padding:10px 12px;
  border:1px solid #ddd;
  border-radius:6px;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  font-size:13px;
  line-height:1.45;
}
.mqr-help-panel::before{
  content:"";
  position:absolute;
  top:-6px;
  right:12px;
  width:10px; height:10px;
  background:#fff;
  border-left:1px solid #ddd;
  border-top:1px solid #ddd;
  transform:rotate(45deg);
}
@media (max-width: 600px){
  .mqr-help-panel{ right:auto; left:0; max-width:85vw; }
  .mqr-help-panel::before{ right:auto; left:12px; }
}

/* ==== ALLERGÈNES — libellé + "?" sur une ligne, puis saut de ligne ==== */
.mqr-allergens .mqr-allergens-info-label{
  display:inline-flex !important;   /* garde la ligne même si styles externes */
  align-items:center;
  vertical-align:middle;
}
.mqr-badges-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 8px;
}
.mqr-allergens .mqr-allergens-info-label + .mqr-help{
  display:inline-flex;              /* "?" collé au libellé */
  margin-left:6px;
  vertical-align:middle;
}
/* Retour à la ligne après le "?" pour pousser les contrôles dessous */
.mqr-allergens .mqr-allergens-info-label + .mqr-help::after{
  content:"";
  display:block;
  width:100%;
}

/* ==== BADGES — structure: <strong> + <p.mqr-badges-info> + <details.mqr-help> + boutons ==== */
.mqr-badges-tags > strong{
  display:inline-flex;
  align-items:center;
  vertical-align:middle;
}
/* Le <p> sert d'espace après le libellé pour coller le "?" */
.mqr-badges-tags > strong + .mqr-badges-info{
  display:inline;
  margin:0 0 0 6px;
  line-height:0;
  padding:0;
}
/* Le "?" juste après le <p> */
.mqr-badges-tags > .mqr-badges-info + .mqr-help{
  display:inline-flex;
  vertical-align:middle;
}
/* Saut de ligne APRÈS le "?" pour que les boutons passent dessous */
.mqr-badges-tags > .mqr-badges-info + .mqr-help::after{
  content:"";
  display:block;
  width:100%;
}
/* (optionnel) un peu d'air au-dessus de la rangée de boutons */
.mqr-badges-tags > .mqr-badge-btn{ margin-top:8px; }

@media (max-width: 480px){
  .mqr-badges-tags > strong + .mqr-badges-info{ margin-left:4px; }
}
/* Mobile: 3 colonnes × 2 lignes */
@media (max-width: 640px) {
  .mqr-menu-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    align-items: stretch;
  }
  .mqr-menu-actions > a,
  .mqr-menu-actions > button {
    display: flex;
    flex-direction: column; /* icône au-dessus du label */
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 8px 6px;
    border: 1px solid #eee;
    border-radius: 6px;
    width: 100%;
    box-sizing: border-box;
  }
  .mqr-menu-actions svg {
    width: 20px;
    height: 20px;
    margin-bottom: 4px;
  }
}
/* ====== Liste des traductions (responsive + a11y) ====== */
.mqr-lang-list{
  --mqr-bg:#fff;
  --mqr-border:#e5e7eb;
  --mqr-muted:#6b7280;
  --mqr-accent:#2563eb;
  --mqr-chip:#f3f4f6;
  --mqr-danger:#b91c1c;

  list-style:none;
  margin:16px 0 0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.mqr-lang-list > li{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--mqr-border);
  border-radius:10px;
  background:var(--mqr-bg);
  transition:border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
  position:relative;
  flex-wrap:wrap; /* mobile: passe automatiquement sur plusieurs lignes */
}

.mqr-lang-list > li:hover{
  border-color:#d1d5db;
  box-shadow:0 1px 10px rgba(0,0,0,.06);
}

/* Flag */
.mqr-flag-img{
  border-radius:2px;
  box-shadow:0 0 0 1px rgba(0,0,0,.06);
}

/* Statut = petit chip */
.mqr-tr-status{
  font-size:13px;
  line-height:1;
  padding:6px 10px;
  border-radius:999px;
  background:var(--mqr-chip);
  color:#111827;
}

/* Spinner + texte "en cours" */
.mqr-tr-inline{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  color:var(--mqr-muted);
  /* ASTUCE: sert d'espaceur pour pousser les actions à droite */
  margin-right:auto;
}

/* Quand le spinner est "hidden", on le laisse occuper l'espace
   pour que les actions restent alignées à droite en desktop. */
.mqr-tr-inline[hidden]{
  display:inline-flex !important;
  visibility:hidden;
}

/* Boutons & formulaires (actions) */
.mqr-lang-list > li > a.button,
.mqr-lang-list > li > form{
  display:inline-flex;
  align-items:center;
  margin:0;
}

/* Boutons visuels */
.mqr-lang-list > li .button{
  line-height:1.95;
  padding:.35em .75em;
  border-radius:6px;
  transition:transform .08s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
}

.mqr-lang-list > li .button:hover{
  transform:translateY(-1px);
  box-shadow:0 1px 4px rgba(0,0,0,.08);
}

.mqr-lang-list > li .button:focus-visible{
  outline:2px solid var(--mqr-accent);
  outline-offset:2px;
}

/* Espace entre actions (desktop) */
@media (min-width: 641px){
  /* Une seule ligne par langue si possible */
  .mqr-lang-list > li{
    flex-wrap:nowrap;
  }
  /* Les actions partent à droite grâce au spacer .mqr-tr-inline */
  .mqr-lang-list > li > a.button,
  .mqr-lang-list > li > form{
    margin-left:8px;
  }
}

/* Mobile : les actions s’étalent sur plusieurs lignes si besoin */
@media (max-width: 640px){
  .mqr-lang-list > li{
    gap:10px 8px;
  }

  /* Regrouper visuellement le bloc "infos" (flag + statut + spinner) en première ligne */
  .mqr-flag-img{ order:1; }
  .mqr-tr-status{ order:2; }
  .mqr-tr-inline{ order:3; margin-right:0; } /* en mobile on n’a pas besoin du spacer */

  /* Les actions suivent, en wrap, avec largeur auto */
  .mqr-lang-list > li > a.button,
  .mqr-lang-list > li > form{
    order:4;
    margin:0;
  }

  /* Rendez les boutons faciles à toucher */
  .mqr-lang-list > li .button{
    min-height:40px;
  }

  /* Option: 2 colonnes “fluides” sans wrapper (approx) */
  .mqr-lang-list > li > a.button,
  .mqr-lang-list > li > form{
    flex:1 1 calc(50% - 8px);
	color: #333;
  }
  /* Le bouton du formulaire doit prendre toute la largeur de son form */
  .mqr-lang-list > li > form .button{ width:100%; justify-content:center; }

  /* Confirmation: en mobile, on l’affiche en bloc sous les boutons */
  .mqr-del-form{ width:100%; }
}

/* Confirmation suppression (popover desktop / bloc mobile) */
.mqr-del-form{ position:relative; }
.mqr-lang-list .button.button-primary, .button.button-primary {
	background: #fdfdfd;
	border-color: #2fc470;
	color: #1a6926;
}
.mqr-lang-list .button.button-secondary.mqr-del-btn, .button.mqr-del-cancel {
	background: #cc4133;
	border-color: #cc4133;
	color: #fff;
}
.mqr-lang-list .button.button-primary:hover, .button.button-primary:hover {
	background: #2fc470;
	border-color: #2fc470;
	color: #fff;
}
  .mqr-lang-list > li > a.button{
	color: #333;
  }
.mqr-del-confirm{
  position:absolute;
  right:0;
  top:100%;
  margin-top:8px;
  background:#fff;
  border:1px solid var(--mqr-border);
  border-radius:8px;
  padding:8px;
  display:flex;
  align-items:center;
  gap:8px;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  z-index:10;
  white-space:nowrap;
}

.mqr-del-confirm .button{
  margin:0;
}

@media (max-width: 640px){
  .mqr-del-confirm{
    position:static;
    margin-top:8px;
    width:100%;
    box-shadow:none;
    border-style:dashed;
    white-space:normal;
  }
  .mqr-lang-list a {
	border: 1px solid #ccc;
	padding: 20px !important;
}
}

/* États visuels selon data-status */
.mqr-lang-list > li[data-status="pending"] .mqr-tr-status{
  background:#fff7ed; /* orange-50 */
  color:#9a3412;      /* orange-700 */
}
.mqr-lang-list > li[data-status="ready"] .mqr-tr-status{
  background:#ecfdf5; /* emerald-50 */
  color:#065f46;      /* emerald-700 */
}

/* Accessibilité visuelle: focus ring sur l’item quand on tabule dans ses boutons */
.mqr-lang-list > li:focus-within{
  box-shadow:0 0 0 3px rgba(37,99,235,.25);
}

/* =================================================================
   FILTRES
   ================================================================= */
.mqr-filter {
	display: flex;
}
.mqr-field-city {
	margin-right: 14px;
	width: 53%;
}
.mqr-filter {
	display: flex;
	background: #e9e9ed;
	border-radius: 100px;
	padding: 7px;
}
#mqr-city-input {
	border: 0;
	background: transparent;
}
.mqr-filter select {
	border: 0;
	width: 30%;
	margin-right: 14px;
}
.mqr-submit {
	background: #fb5694;
	color: #fff;
	border-radius: 100px;
	border: 0;
	width: 40px !important;
	padding: 0;
}
.mqr-sort {
	width: 45%;
	float: right;
	margin-right: 5px;
	background: #cccac9;
	border-radius: 100px;
	padding: 0 10px;
}
.mqr-sort select {
	background: #cccac9;
	border: 0;
	color: #000;
	border-radius: 100px;
}
input:focus-visible{ outline:0px solid #ff007c }
@media (min-width:500px){
.mqr-field-city {
	width: 63%;
}
#mqr-actions-bar{
	position:fixed;
	right:0;
	left: 0;
	bottom:0;           /* ← 80 px au-dessus du menu déjà sticky         */
	z-index:99;
	display:flex;
	justify-content:right;
	align-items:center;
	gap:24px;
	padding:22px 16px 22px 16px;
	background: #ffffffa6;
	border-top:0px solid #ddd;
}
}
/* -------------------------------------------------------
   Responsive : sous 600 px on repasse vertical si besoin
------------------------------------------------------- */
@media (max-width:600px){
    .mqr-menu-card-header{
        align-items:flex-start;
        gap:8px;
		display:block;
    }
	.mqr-sort {
	width: 100%;
	}
	 .mqr-menu-card-header{
    flex-wrap:wrap;              /* permet de passer à la ligne */
    align-items:flex-start;
  }

  /* Le titre prend toute la largeur = 1re ligne */
  .mqr-menu-card-header .mqr-menu-title{
    order:1;
    flex:0 0 100%;
    margin-bottom:6px;
  }

  /* Espaceur invisible qui pousse le reste à droite sur la 2e ligne */
  .mqr-menu-card-header::after{
    content:"";
    order:2;
    flex:1 1 auto;              /* prend tout l’espace libre à gauche */
  }

  /* Les autres éléments arrivent après l’espaceur = collés à droite */
  .mqr-menu-card-header .mqr-flag-img{ order:3; }
  .mqr-menu-card-header .mqr-toggle-wrap{
    order:4;
    display:inline-flex;         /* garde le bloc d’actions sur une seule ligne */
    align-items:center;
    gap:8px;
	float: right;
  }
    .mqr-toggle-wrap{gap:12px}
	.mqr-menu-title {
	flex: 1 1 auto;
	margin: 0;
	font-weight: 700;
	padding: 0 0 6px;
	font-size: 14px;
}
#mqr-actions-bar{
	position:fixed;
	left:0; 
	right:0;
	bottom:63px;           /* ← 80 px au-dessus du menu déjà sticky         */
	z-index:99;
	display:flex;
	justify-content:center;
	align-items:center;
	gap:24px;
	padding:22px 16px 42px 16px;
	background:#f0f0f0;    /* même fond que la page */
	border-top:1px solid #ddd;
}
}

/*====================================================================*/
/* 8. Responsive tweaks                                               */
/*====================================================================*/
@media (max-width:768px){
	.mqr-offcanvas{
    width:100%;
}
}
/* === Mobile: placer le toggle sous la photo === */
@media (max-width: 480px){
  .mqr-photo-line{
    align-items: flex-start;
    flex-wrap: wrap;     /* autorise le retour à la ligne */
    gap: 8px;
  }

  /* Ordre des éléments sur la ligne */
  .mqr-badges-info-label{ order: 0; flex: 0 0 auto; }
  .mqr-photo-wrap{        order: 2; flex: 0 0 auto; }

  .mqr-hide-toggle{
    order: 3;
    flex: 1 1 100%;      /* prend toute la ligne -> passe dessous */
    margin-left: 0;      /* annule le push à droite */
    margin-top: 6px;
    display: flex;       /* au lieu d'inline-flex pour mieux s'étirer */
    white-space: normal; /* autorise le retour à la ligne du texte */
    justify-content: flex-end;
    gap: 14px;
    font-size: 13px;
  }

  /* Option : réduire un peu la vignette si besoin */
  .mqr-photo-preview{
    width: 56px;
    height: 56px;
  }
  .mqr-hide-toggle input {
	margin: 0;
	width: 20px;
}
}

/* Très petits écrans : un peu plus compact */
@media (max-width: 360px){
  .mqr-photo-preview{
    width: 48px;
    height: 48px;
  }
  .mqr-hide-toggle{
    font-size: 12.5px;
    margin-top: 4px;
  }
}
.mqr-submit svg {
	fill: #FFF;
	height: 16px;
	margin-bottom: -2px;
}

/*====================================================================*/
/* 9. DIFFERENTS DESIGNS                                              */
/*====================================================================*/

/* ANKAM DESIGN */

/* SALON DE THE DESIGN */

/* SIMPLE DESIGN */
.design_template-simple .mqr-logo {
	border: 13px solid #fff;
	border-radius: 100%;
	background: #fff;
	width: 140px;
}
.design_template-simple .mqr-menu-items {
  background: #fff;
  border-radius: 26px;
  padding: 15px 5px !important;
  border: 0px solid #efefef;
  margin-bottom: 15px;
}
.design_template-simple .mqr-menu-items .mqr-item {
  border: none;
  padding:25px 0;
}
.design_template-simple .mqr-badge-text {
	padding: 0 10px 0 0;
	border-radius: 0px;
	border-right: 1px solid #ccc !important;
	border:none;
}
.design_template-simple .mqr-menu-items .mqr-item-img {
	width: 180px;
	height: 180px;
}

@media (max-width:600px){
.design_template-simple .mqr-menu-items .mqr-item-img {
	width: 80px;
	height: 80px;
}
.design_template-100-image .mqr-logo {
	height: auto !important;
	width: 95px !important;
}
.day-closed{
	margin-left:20px;
}
.mqr-slots{
	margin-top:20px;
}
.mqr-slot[data-slot="2"] {
	border-top: 1px dashed #999;
	padding-top: 20px;
	margin-top: 20px;
}
}

/* 100-image DESIGN (100% Image) */
.design_template-100-image .mqr-logo {
	border: 13px solid #fff;
	border-radius: 100%;
	background: #fff;
	object-fit: contain;
  height: 125px;
  width: 125px;
}
.design_template-100-image .mqr-menu-items {
	display:flex;
}
.design_template-100-image .mqr-menu-items .mqr-item {
	display:block;
	text-align: center;
	border-bottom: none;
    background: #fff;
  border: 2px solid #101010;
  border-radius: 10px;
  margin: 6px;
  padding: 5px;
}
.design_template-100-image .mqr-menu-items .mqr-item .mqr-name, .design_template-100-image  .mqr-menu-items .mqr-item .mqr-price {
	text-align: center;
	align-self: center;
	font-size: 18px;
  font-weight: 500;
}
.design_template-100-image .mqr-add-btn {
	margin: 0 auto;
}
.design_template-100-image .mqr-badge-text {
	padding: 2px 7px;
}
.design_template-100-image .mqr-allergens-toggle {
	margin-bottom: 20px;
	margin: 10px auto;
}
.design_template-100-image .mqr-menu-items .mqr-item-img {
	width: 100%;
	height: 250px;
	border-radius: 7px !important;
}
.design_template-100-image .mqr-menu-items {
	padding: 0 !important;
	background: #fff;
	border:none;
}
.design_template-100-image .mqr-add-btn {
	border: 1px solid #000 !important;
	background: #000 !important;
	color: #fff !important;
	width: 36px !important;
  height: 36px !important;
  margin: 10px auto;
}
.design_template-100-image .mqr-add-btn svg {
	fill: #FFF;
}
.design_template-100-image .mqr-badges {
	justify-content: center;
}
.design_template-100-image .mqr-menu-items{
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 colonnes égales */
    gap: 0px;                             /* espacement horizontal + vertical */
    list-style: none;                      /* enlève les puces par défaut */
    padding: 0;
}
.design_template-100-image .mqr-menu-items .mqr-item .mqr-desc{
    text-align: center;
	color: #888;
  margin: 6px 0;
}

@media (max-width:600px){
.design_template-100-image .mqr-allergen-elt {
	font-size: .6em;
}
.design_template-100-image .mqr-menu-items{
        grid-template-columns: repeat(2, 1fr); /* max 2 éléments par ligne */
    }
.design_template-100-image .mqr-allergen-elt img {
	width: 25px;
}

.design_template-100-image .mqr-allergens-toggle, .design_template-100-image .mqr-badge-text {
	font-size: 10px !important;
}

.design_template-100-image .mqr-menu-items .mqr-item-img {
	width: 100%;
	height: 150px;
	border-radius: 7px !important;
}
}
/* mer DESIGN (100% Image) */

.mqr-menu-items .mqr-item.no-img {
	grid-template-columns: 1fr 72px;
	grid-template-areas: "name  plus" "desc  plus" "price plus";
}
.mqr-menu-items .mqr-item {
	display: grid;
	grid-template-columns: auto 1fr 72px;
	grid-template-rows: auto auto auto;
	grid-template-areas: "img name  plus" "img desc  plus" "img price plus";
}
