/* ============================================================
   FIRST PIZZA 95 — addons.css
   Styles des nouveautés : configurateur de menus, promos
   pizzas dans le panier/checkout, toast. Chargé après style.css.
   ============================================================ */

/* ---------- Configurateur de menus ---------- */
.menu-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.62);opacity:0;pointer-events:none;
  transition:.25s;z-index:1050
}
.menu-overlay.show{opacity:1;pointer-events:auto}
.menu-modal{
  position:fixed;left:50%;top:50%;transform:translate(-50%,-46%);width:min(520px,calc(100vw - 32px));
  max-height:min(86vh,720px);overflow:auto;background:#fff;color:#191919;border-radius:16px;
  padding:22px 22px 24px;opacity:0;pointer-events:none;transition:.25s;z-index:1100;
  font-family:'Poppins',sans-serif;box-shadow:0 24px 60px rgba(0,0,0,.4)
}
.menu-modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}
.menu-modal .mm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.menu-modal h3{font-size:1.25rem;font-weight:800;line-height:1.2;margin:0}
.menu-modal .mm-price{color:var(--red,#d21f2c);white-space:nowrap}
.menu-modal .mm-close{
  border:0;background:#f1f1f1;width:34px;height:34px;border-radius:50%;font-size:1.3rem;
  line-height:1;cursor:pointer;flex:none;color:#191919
}
.menu-modal .mm-close:hover{background:#e5e5e5}
.menu-modal .mm-sub{margin:6px 0 16px;font-size:.85rem;color:#666}
.menu-modal .mm-step{margin-bottom:14px}
.menu-modal .mm-label{display:block;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.menu-modal .mm-select{
  display:block;width:100%;margin-bottom:8px;padding:11px 12px;border:1.5px solid #ddd;border-radius:10px;
  font-family:inherit;font-size:.9rem;background:#fff;color:#191919
}
.menu-modal .mm-select:focus{outline:none;border-color:var(--red,#d21f2c)}
.menu-modal .mm-select.mm-missing{border-color:var(--red,#d21f2c);background:#fff5f5}
.menu-modal .mm-inclus{
  font-size:.83rem;font-weight:600;background:#f6f6f6;border-radius:10px;padding:10px 12px;margin:4px 0 12px
}
.menu-modal .mm-error{color:var(--red,#d21f2c);font-size:.82rem;font-weight:600;margin:0 0 10px}
.menu-modal .btn-block{width:100%;justify-content:center;text-align:center}

/* ---------- Promos dans le panier / checkout ---------- */
.cart-promo-hint{
  font-size:.75rem;color:var(--grey,#8a8a8a);padding:10px 2px 0;line-height:1.45
}
.promo-line{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 12px;margin-top:8px;border-radius:10px;
  background:rgba(46,160,67,.12);border:1px dashed rgba(46,160,67,.55);
  font-size:.83rem
}
.promo-line .pl-name{font-weight:600;color:#2ea043}
.promo-line .pl-amount{font-weight:800;color:#2ea043;white-space:nowrap}
.promo-rule{
  font-size:.75rem;color:#2ea043;font-weight:700;text-transform:uppercase;
  letter-spacing:.04em;margin-top:14px
}
.order-subtotal{
  display:flex;justify-content:space-between;font-size:.9rem;color:#8a8a8a;
  padding:10px 0 0;border-top:1px solid var(--line,#e5e5e5);margin-top:14px
}

/* utilitaire */
