/* Componente mobile: hamburger, panou de meniu, butoane flotante, drawer de comandă.
   Construite pe variabilele din style.css. */

body.blocat{overflow:hidden}

/* ---------- hamburger ---------- */
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;margin-left:.2rem;background:none;border:0;cursor:pointer;border-radius:10px}
.nav-burger span{display:block;height:2px;border-radius:2px;background:var(--green-800);transition:transform .25s var(--ease,ease),opacity .2s}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:980px){
  .nav-burger{display:flex}
  .nav .wrap{gap:.8rem}
  .nav .nav-cta{margin-left:auto}
}

/* ---------- suprapunere comună ---------- */
.suprapunere{position:fixed;inset:0;background:rgba(15,43,32,.5);backdrop-filter:blur(2px);z-index:80;opacity:1;animation:sup-in .2s ease}
@keyframes sup-in{from{opacity:0}to{opacity:1}}

/* ---------- panoul de meniu mobil ---------- */
.panou-mobil{position:fixed;top:0;right:0;bottom:0;width:min(320px,86vw);background:var(--white);z-index:90;display:flex;flex-direction:column;box-shadow:-18px 0 50px rgba(15,43,32,.25);transform:translateX(105%);transition:transform .28s var(--ease,ease);visibility:hidden}
.panou-mobil.deschis{transform:translateX(0);visibility:visible}
.pm-cap{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid var(--line)}
.pm-inchide,.dc-inchide{width:40px;height:40px;border:0;background:var(--green-050);color:var(--green-800);font-size:1.5rem;line-height:1;border-radius:50%;cursor:pointer}
.pm-linkuri{display:flex;flex-direction:column;padding:.6rem 0;overflow-y:auto}
.pm-linkuri a{padding:.85rem 1.4rem;font-size:1.05rem;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.pm-linkuri a:active,.pm-linkuri a:hover{background:var(--green-050);color:var(--green-800)}
.pm-actiuni{margin-top:auto;padding:1.2rem 1.4rem 1.6rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.9rem}
.pm-actiuni .btn{text-align:center}
.pm-canal{display:flex;align-items:center;gap:.7rem;font-size:.95rem;font-weight:600;color:var(--green-800);text-decoration:none}
.pm-canal svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* sigla WhatsApp e un glif plin, nu un contur */
.icon-wa{fill:currentColor !important;stroke:none !important}
.pm-canal .icon-wa{color:#25d366}

/* ---------- butoanele flotante ---------- */
.fab-stiva{position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:70;display:none;flex-direction:column;align-items:flex-end;gap:.7rem}
@media (max-width:980px){.fab-stiva{display:flex}}
body.drawer-deschis .fab-stiva{display:none}
.fab{display:flex;align-items:center;gap:.55rem;border:0;cursor:pointer;text-decoration:none;box-shadow:0 10px 26px rgba(15,43,32,.35)}
.fab svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.fab-wa{width:52px;height:52px;border-radius:50%;justify-content:center;background:#25d366;color:#fff}
.fab-wa:active{transform:scale(.96)}
.fab-comanda{padding:.85rem 1.25rem;border-radius:999px;background:var(--green-700);color:var(--white);font:600 .95rem/1 var(--sans)}
.fab-comanda:active{transform:scale(.97)}
.fab-stiva.fara-comanda .fab-comanda{display:none}
/* pe paginile de articol (Read), pill-ul de comandă tace până când cititorul
   a primit valoare: apare abia după ~50% din articol */
.pe-articol .fab-comanda{opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .3s var(--ease,ease),transform .3s var(--ease,ease)}
.pe-articol .fab-comanda.vizibil{opacity:1;transform:none;pointer-events:auto}
@media (prefers-reduced-motion:reduce){.pe-articol .fab-comanda{transition:none}}

/* ---------- drawerul de comandă ---------- */
.drawer-comanda{position:fixed;left:0;right:0;bottom:0;margin:0 auto;max-width:560px;max-height:92dvh;background:var(--white);z-index:95;border-radius:18px 18px 0 0;box-shadow:0 -20px 60px rgba(15,43,32,.35);display:flex;flex-direction:column;transform:translateY(105%);transition:transform .3s var(--ease,ease);visibility:hidden}
.drawer-comanda.deschis{transform:translateY(0);visibility:visible}
.dc-cap{display:flex;align-items:center;gap:.9rem;padding:1rem 1.2rem;border-bottom:1px solid var(--line);background:var(--green-050);border-radius:18px 18px 0 0}
.dc-cap img{filter:drop-shadow(0 6px 10px rgba(15,43,32,.3))}
.dc-titlu{font-family:var(--serif);font-weight:600;font-size:1.05rem;margin:0;color:var(--green-900)}
.dc-pret{margin:.15rem 0 0;font-size:.92rem;color:var(--green-800);font-weight:700}
.dc-pret small{font-weight:400;color:var(--ink-soft)}
.dc-inchide{margin-left:auto;flex:0 0 auto}
.dc-corp{padding:1.2rem 1.3rem calc(1.4rem + env(safe-area-inset-bottom,0px));overflow-y:auto}
.dc-alternativ{margin:1.1rem 0 0;font-size:.9rem;color:var(--ink-soft);text-align:center}
.dc-alternativ a{color:var(--green-700);font-weight:600}

/* formularul din drawer: o singură coloană, indiferent de grila .comanda */
.comanda-drawer{display:flex;flex-direction:column;gap:.9rem}
.comanda-drawer .field{width:100%}
.comanda-drawer .total-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.comanda-drawer .total-row .btn{flex:1;text-align:center}

/* insigna reCAPTCHA e ascunsă — atribuirea apare în formular, conform regulilor Google */
.grecaptcha-badge{visibility:hidden}
