/* ==========================================================================
   AMMUCCAMU — Configuratore ordine (sezione della pagina Delivery)
   Statico: nessun database, nessun pagamento online. Genera un messaggio WhatsApp.
   ========================================================================== */

.cfg{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;margin-top:20px}
.cfg-head{padding:20px 18px;border-bottom:1px solid var(--line);
  background:radial-gradient(600px 180px at 110% -20%,rgba(213,31,42,.3),transparent 70%)}
.cfg-head h2{margin-bottom:6px}
.cfg-head p{margin:0;color:var(--muted);font-size:14px}

/* Tab categorie ------------------------------------------------------------ */
.cfg-tabs{display:flex;gap:8px;overflow-x:auto;padding:12px 14px;
  border-bottom:1px solid var(--line);background:var(--bg-3);scrollbar-width:none}
.cfg-tabs::-webkit-scrollbar{display:none}
.cfg-tabs button{flex:none;background:var(--bg-2);border:1.5px solid var(--line);
  color:var(--muted);border-radius:20px;padding:10px 15px;font-family:inherit;
  font-weight:700;font-size:13.5px;cursor:pointer;white-space:nowrap;min-height:42px}
.cfg-tabs button[aria-selected="true"]{background:var(--red);border-color:var(--red);color:#fff}

.cfg-panel{padding:18px 16px;display:none}
.cfg-panel.active{display:block}
.cfg-step{margin-bottom:22px}
.cfg-step > h3{font-size:17px;margin-bottom:4px;display:flex;align-items:center;gap:9px}
.cfg-step > h3 .n{width:26px;height:26px;border-radius:50%;background:var(--gold);color:#2a1d00;
  font-family:'Anton',sans-serif;font-size:15px;display:grid;place-items:center;flex:none}
.cfg-hint{color:var(--muted);font-size:13px;margin:0 0 12px 35px}

/* Selettori segmentati ----------------------------------------------------- */
.seg{display:flex;background:var(--bg);border:1px solid var(--line);border-radius:12px;
  padding:4px;gap:4px;flex-wrap:wrap}
.seg button{flex:1 1 auto;min-width:110px;min-height:44px;border:0;background:transparent;
  color:var(--muted);font-family:inherit;font-weight:700;font-size:14px;padding:11px 8px;
  border-radius:9px;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--red);color:#fff}
.seg.gold button[aria-pressed="true"]{background:var(--gold);color:#2a1d00}

/* Lista opzioni radio ------------------------------------------------------ */
.opts{display:flex;flex-direction:column;gap:8px;margin-top:12px;
  max-height:none}
.opt{display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;
  cursor:pointer;width:100%;text-align:left;font-family:inherit;color:var(--cream);min-height:52px}
.opt[aria-pressed="true"]{border-color:var(--red);background:#2c1e1c}
.opt .l{display:flex;align-items:center;gap:11px;min-width:0}
.opt .radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--muted);flex:none;
  display:grid;place-items:center}
.opt[aria-pressed="true"] .radio{border-color:var(--red)}
.opt[aria-pressed="true"] .radio::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--red)}
.opt .nm{font-weight:600;font-size:14.5px}
.opt .pr{font-weight:800;font-size:14px;color:var(--gold);white-space:nowrap}
.opt .en{display:block;font-size:11.5px;color:var(--muted);font-style:italic;font-weight:400}

/* Apri modale (condimenti / salse) ---------------------------------------- */
.picker{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:15px 14px;
  cursor:pointer;color:var(--cream);font-family:inherit;margin-top:6px;min-height:54px}
.picker .pl{display:flex;align-items:center;gap:11px;font-weight:700;font-size:15px;text-align:left}
.picker .plus{width:28px;height:28px;border-radius:8px;background:var(--red);color:#fff;
  font-family:'Anton',sans-serif;font-size:19px;display:grid;place-items:center;flex:none}
.picker.has .plus{background:var(--ok);color:#04310f}
.picker .arrow{color:var(--muted);font-size:18px}
.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.chip{background:#2c1e1c;border:1px solid var(--red-dark);color:var(--cream);font-size:12.5px;
  font-weight:600;padding:7px 11px;border-radius:20px;display:flex;align-items:center;gap:7px}
.chip.free{border-color:var(--line);background:var(--bg-3)}
.chip button{background:none;border:0;color:var(--muted);font-weight:800;cursor:pointer;
  font-size:15px;line-height:1;padding:0 2px}

/* Campi -------------------------------------------------------------------- */
.field{margin-top:14px}
.field label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:6px;font-weight:700}
.field input,.field select,.field textarea{width:100%;background:var(--bg);
  border:1.5px solid var(--line);border-radius:10px;color:var(--cream);font-family:inherit;
  font-size:16px;padding:13px 13px;min-height:50px}
.field textarea{resize:vertical;min-height:84px;line-height:1.5}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);
  outline-offset:1px;border-color:var(--gold)}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),
  linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:40px}

.qty{display:flex;align-items:center;gap:14px;margin-top:6px}
.qty button{width:46px;height:46px;border-radius:10px;border:1.5px solid var(--line);
  background:var(--bg);color:var(--cream);font-size:22px;font-family:'Anton',sans-serif;cursor:pointer}
.qty .v{font-size:19px;font-weight:800;min-width:28px;text-align:center}

/* Riga "aggiungi al carrello" ---------------------------------------------- */
.add-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  border-top:1px solid var(--line);padding-top:16px;margin-top:6px}
.add-row .price{font-family:'Anton',sans-serif;font-size:28px;color:var(--gold);line-height:1}
.add-row .btn{flex:1 1 200px}

/* Lista semplice (fritti, dolci, bevande) ---------------------------------- */
.simple-list{display:flex;flex-direction:column;gap:8px}
.simple{display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 13px}
.simple .i{min-width:0}
.simple .nm{font-weight:700;font-size:14.5px}
.simple .en{font-size:11.5px;color:var(--muted);font-style:italic}
.simple .r{display:flex;align-items:center;gap:10px;flex:none}
.simple .pr{font-weight:800;color:var(--gold);font-size:14px;white-space:nowrap}
.simple .add{width:40px;height:40px;border-radius:10px;border:0;background:var(--red);color:#fff;
  font-family:'Anton',sans-serif;font-size:21px;cursor:pointer;line-height:1}
.simple .add:active{transform:scale(.94)}
.simple .incart{font-size:11px;font-weight:800;color:var(--ok);white-space:nowrap}

/* Modale ------------------------------------------------------------------- */
.cfg-modal{position:fixed;inset:0;z-index:100;background:var(--bg);display:none;
  flex-direction:column}
.cfg-modal.open{display:flex}
.m-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;
  justify-content:space-between;background:var(--bg-2);flex:none}
.m-head h3{margin:0;font-size:20px}
.m-close{background:none;border:0;color:var(--muted);font-size:30px;cursor:pointer;
  line-height:1;padding:0 8px;min-height:44px;min-width:44px}
.m-body{flex:1;overflow-y:auto;padding:8px 14px 20px;-webkit-overflow-scrolling:touch}
.m-foot{padding:12px 16px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--line);
  background:var(--bg-2);flex:none}
.m-done{width:100%;border:0;border-radius:12px;background:var(--gold);color:#2a1d00;
  font-family:inherit;font-weight:800;font-size:16px;padding:15px;cursor:pointer;min-height:52px}
.cat-h{font-family:'Anton',sans-serif;font-size:14px;color:var(--gold);text-transform:uppercase;
  letter-spacing:1px;padding:18px 6px 6px;position:sticky;top:0;background:var(--bg)}
.chk{display:flex;align-items:center;gap:12px;padding:12px 6px;border-radius:9px;cursor:pointer;
  width:100%;background:none;border:0;color:var(--cream);font-family:inherit;text-align:left;
  min-height:48px}
.chk .box{width:22px;height:22px;border-radius:6px;border:2px solid var(--muted);flex:none;
  display:grid;place-items:center}
.chk[aria-pressed="true"] .box{background:var(--red);border-color:var(--red)}
.chk[aria-pressed="true"] .box::after{content:"✓";color:#fff;font-size:14px;font-weight:800}
.chk .nm{font-size:14.5px;flex:1}
.chk .en{display:block;font-size:11.5px;color:var(--muted);font-style:italic}
.chk .pr{font-size:13px;font-weight:700;color:var(--muted);white-space:nowrap}
.chk[aria-pressed="true"] .pr{color:var(--gold)}
.chk .inc{font-size:10.5px;font-weight:800;color:var(--ok);text-transform:uppercase;letter-spacing:.5px}

/* Carrello ----------------------------------------------------------------- */
.cart{border-top:1px solid var(--line);padding:18px 16px;background:var(--bg-3)}
.cart h3{font-size:19px;margin-bottom:12px;display:flex;align-items:center;gap:9px}
.cart-count{background:var(--red);color:#fff;font-family:inherit;font-size:12px;font-weight:800;
  border-radius:20px;padding:3px 9px;letter-spacing:0}
.cart-empty{color:var(--muted);font-size:14px;margin:0;padding:10px 0}
.cart-list{list-style:none;margin:0 0 14px;padding:0}
.cart-list li{border-bottom:1px solid var(--line);padding:12px 0}
.cart-line{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.cart-line .nm{font-weight:700;font-size:15px}
.cart-line .pr{font-weight:800;color:var(--gold);white-space:nowrap}
.cart-det{font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:4px}
.cart-tools{display:flex;align-items:center;gap:10px;margin-top:9px}
.cart-tools button{background:var(--bg);border:1.5px solid var(--line);color:var(--cream);
  width:36px;height:36px;border-radius:9px;font-size:18px;font-family:'Anton',sans-serif;cursor:pointer}
.cart-tools .v{font-weight:800;min-width:22px;text-align:center}
.cart-tools .del{margin-left:auto;width:auto;padding:0 12px;font-family:inherit;font-size:12.5px;
  font-weight:700;color:var(--muted);border-color:transparent}
.cart-tools .del:hover{color:var(--red);border-color:var(--red)}

.totals{border-top:1px solid var(--line);padding-top:12px}
.totals .row{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:5px 0;
  color:var(--muted)}
.totals .row.big{font-size:17px;color:var(--cream);font-weight:800;padding-top:10px;
  border-top:1px solid var(--line);margin-top:6px}
.totals .row.big span:last-child{font-family:'Anton',sans-serif;font-size:28px;color:var(--gold);
  font-weight:400;line-height:1}

/* Checkout ----------------------------------------------------------------- */
.checkout{border-top:1px solid var(--line);padding:18px 16px}
.checkout h3{font-size:19px;margin-bottom:12px}
.warnbox{background:rgba(246,189,33,.12);border:1px solid var(--gold);border-radius:10px;
  padding:12px 14px;margin-top:12px;font-size:13px;line-height:1.55;color:#efe4d3}
.warnbox b{color:var(--gold)}
.infobox{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:10px;
  padding:12px 14px;margin-top:12px;font-size:13px;line-height:1.55;color:#ddd1c2}
.infobox b{color:var(--gold)}
.cfg-send{padding:16px;border-top:1px solid var(--line);background:var(--bg-2)}
.send-btn{width:100%;border:0;border-radius:13px;background:var(--wa);color:#04310f;
  font-family:inherit;font-weight:800;font-size:17px;padding:17px;display:flex;align-items:center;
  justify-content:center;gap:10px;cursor:pointer;min-height:56px}
.send-btn:disabled{background:var(--bg-3);color:var(--muted);cursor:not-allowed}
.send-btn svg{width:21px;height:21px}
.send-hint{font-size:12px;color:var(--muted);text-align:center;margin:10px 0 0;line-height:1.5}
.send-hint.err{color:var(--red);font-weight:700}

@media (min-width:700px){
  .cfg-panel{padding:24px}
  .cart,.checkout,.cfg-send{padding:24px}
  .opts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
  .simple-list{display:grid;grid-template-columns:repeat(2,1fr)}
  .cfg-modal{max-width:560px;margin:0 auto;border-left:1px solid var(--line);
    border-right:1px solid var(--line)}
}

/* ==========================================================================
   HAMBURGER A PREZZO FISSO (tab Hamburger del configuratore)
   Non si compongono: nome + prezzo + ingredienti descrittivi + quantita.
   ========================================================================== */
.burger-pick{display:grid;gap:12px;margin-top:12px;min-width:0}
.burger-pick > *{min-width:0}
.bp-row{
  display:flex;flex-direction:column;gap:12px;min-width:0;
  background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px 15px;
}
.bp-info{min-width:0}
.bp-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.bp-name{
  font-family:'Anton',Impact,'Arial Narrow',sans-serif;font-weight:400;
  text-transform:uppercase;letter-spacing:.5px;font-size:18px;line-height:1.1;
  min-width:0;overflow-wrap:break-word;
}
.bp-price{
  font-family:'Anton',Impact,'Arial Narrow',sans-serif;font-size:20px;line-height:1;
  color:var(--gold);white-space:nowrap;flex:none;
}
.bp-ing{margin:7px 0 0;font-size:13px;line-height:1.5;color:var(--muted);overflow-wrap:break-word}
.bp-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bp-qty{margin-top:0;flex:none}
.bp-qty button{width:42px;height:42px;font-size:20px}
.bp-add{flex:1 1 130px;min-height:46px;padding:12px 16px;font-size:15px}

@media (min-width:700px){
  .burger-pick{grid-template-columns:repeat(2,1fr)}
}

/* Pulsante "Svuota carrello" (compare solo a carrello pieno) */
.cart-actions{margin-top:14px;display:flex}
.cart-actions[hidden]{display:none}
.cart-actions .btn{flex:1 1 auto;min-height:46px;padding:12px 16px;font-size:15px}
