/* RankVivo · photo menu v2 — PAYMENT-SPECIFIC styling only.
   ⚠️ Everything shared with /demo/fotos lives in /demo/shared/foodtags.css and
   must NOT be repeated here. This sheet loads AFTER the shared one, so a
   duplicate silently wins and the two menus drift — that is exactly how the
   diet badges lost their green on the payment menu while staying green on the
   other. If a rule is not about the cart, the payment sheet or the comanda,
   it belongs in the shared sheet. */
/* RankVivo · RVhub photo menu v2 — additions only.
   The v1 sheet already owns the page palette (--paper #FAF9F6, --accent #9C8558);
   nothing here redefines it. Every rule below is for something v1 did not have:
   category filter, search, allergens, quantity steppers, tip, payment, comanda. */

/* ---- filter bar ---------------------------------------------------------- */

/* ---- allergens ----------------------------------------------------------- */

/* ---- my bar (replaces v1's, same visual language) ------------------------ */
.rv-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;transform:translateY(105%);
  transition:transform .28s var(--ease);background:var(--card);border-top:1px solid var(--hair);
  padding:11px 14px calc(11px + env(safe-area-inset-bottom));
  display:flex;align-items:center;gap:12px;box-shadow:0 -6px 22px rgba(0,0,0,.07);}
.rv-bar.show{transform:none}
.rv-bar .c{flex:1;min-width:0}
.rv-bar .n{font:600 14.5px/1.2 inherit;color:var(--ink)}
.rv-bar .s{font:400 12.5px/1.2 inherit;color:var(--ink-faint);margin-top:2px}
.rv-bar button{flex:0 0 auto;font:600 14.5px/1 inherit;color:#fff;background:var(--ink);
  border:0;border-radius:10px;padding:13px 18px;cursor:pointer;}

/* ---- order sheet --------------------------------------------------------- */
.rv-line{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px 0;
  border-bottom:1px solid var(--hair);}
.rv-line .nm{font:500 14.5px/1.3 inherit;color:var(--ink)}
.rv-line .amt{font:600 14.5px/1.3 inherit;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.rv-step{display:flex;align-items:center;gap:2px;margin-top:5px}
.rv-step button{width:34px;height:34px;border:1px solid var(--hair);background:var(--card);
  border-radius:9px;font:600 17px/1 inherit;color:var(--ink);cursor:pointer;}
.rv-step button:disabled{opacity:.35;cursor:default}
.rv-step .q{min-width:34px;text-align:center;font:600 14.5px/1 inherit;font-variant-numeric:tabular-nums}
.rv-step .del{margin-left:6px;width:auto;padding:0 10px;font-size:12.5px;color:var(--ink-faint)}

.rv-tot{margin-top:14px;display:grid;gap:7px}
.rv-tot .r{display:flex;justify-content:space-between;font:400 14px/1 inherit;color:var(--ink-soft)}
.rv-tot .r.g{font:700 19px/1 inherit;color:var(--ink);padding-top:9px;border-top:1px solid var(--hair)}
.rv-tot .r span:last-child{font-variant-numeric:tabular-nums}

.rv-tips{display:flex;gap:6px;margin:12px 0 2px;flex-wrap:wrap}
.rv-tip{flex:1 1 auto;min-width:58px;font:500 13.5px/1 inherit;color:var(--ink-soft);
  background:var(--card);border:1px solid var(--hair);border-radius:9px;padding:10px 6px;cursor:pointer;}
.rv-tip[aria-pressed="true"]{background:var(--accent);color:#fff;border-color:var(--accent-d)}

.rv-pay{width:100%;margin-top:16px;font:600 16px/1 inherit;color:#fff;background:var(--ink);
  border:0;border-radius:12px;padding:16px;cursor:pointer;}
.rv-pay:disabled{opacity:.4;cursor:default}

/* ---- payment + comanda --------------------------------------------------- */

.rv-methods{display:grid;gap:9px}
.rv-m{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--card);
  border:1px solid var(--hair);border-radius:12px;padding:14px;cursor:pointer;
  font:500 15px/1 inherit;color:var(--ink);}
.rv-m:hover{border-color:var(--accent)}
.rv-m .logo{flex:0 0 46px;height:30px;display:flex;align-items:center;justify-content:center}
.rv-m .logo svg,.rv-m .logo img{max-width:46px;max-height:30px;display:block}

.rv-field{width:100%;font:400 17px/1.2 inherit;color:var(--ink);background:var(--card);
  border:1px solid var(--hair);border-radius:11px;padding:14px;margin-top:6px;
  -webkit-appearance:none;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.rv-field:focus{outline:2px solid var(--accent);outline-offset:1px}
.rv-lbl{display:block;font:500 13px/1 inherit;color:var(--ink-soft);margin-top:12px}
.rv-go{width:100%;margin-top:14px;font:600 15.5px/1 inherit;color:#fff;background:var(--ink);
  border:0;border-radius:11px;padding:15px;cursor:pointer}

.rv-spin{display:flex;flex-direction:column;align-items:center;gap:14px;padding:34px 10px}
.rv-spin .ring{width:34px;height:34px;border:2.5px solid var(--hair);border-top-color:var(--accent);
  border-radius:50%;animation:rvspin .8s linear infinite}
@keyframes rvspin{to{transform:rotate(360deg)}}
.rv-spin p{font:400 14.5px/1.4 inherit;color:var(--ink-soft);text-align:center;margin:0}

/* the paid screen. NOT a receipt: no CIF, no IVA line, no sequential number. */
.rv-paid .tick{width:46px;height:46px;border-radius:50%;background:#2F6B45;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:24px;margin:2px auto 12px}
.rv-paid h2{text-align:center;letter-spacing:.06em}
.rv-meta{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;font:400 13.5px/1.4 inherit;
  color:var(--ink-soft);margin:12px 0 4px}
.rv-meta b{font-weight:600;color:var(--ink);text-align:right}
.rv-note{font:400 12px/1.5 inherit;color:var(--ink-faint);margin-top:14px;
  padding-top:12px;border-top:1px solid var(--hair)}
.rv-demo{display:block;text-align:center;font:600 11px/1 inherit;letter-spacing:.09em;
  text-transform:uppercase;color:#8A6D1F;background:#F7EDD2;border:1px solid #E6D6A8;
  border-radius:6px;padding:7px;margin-bottom:14px}

@media (prefers-reduced-motion:reduce){
  .rv-bar{transition:none}.rv-spin .ring{animation-duration:2.4s}
}

/* ---- ⓘ allergen legend --------------------------------------------------- */

/* icon-only badges: the word moved to title/aria-label and the ⓘ legend */

/* the key, sitting with the icons on the dish itself */

.rv-txtmark{font:600 14px/1 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:var(--ink)}
