    body.modal-open { overflow: hidden; }
    .order-modal {
      position: fixed;
      inset: 0;
      z-index: 3000;
      display: grid;
      place-items: center;
      padding: 18px;
      background: rgba(3,4,12,.72);
      backdrop-filter: blur(18px);
    }
    .order-dialog {
      position: relative;
      width: min(100%, 540px);
      padding: 30px;
      border-radius: 28px;
      border: 1px solid rgba(255,255,255,.18);
      background:
        radial-gradient(circle at top left, rgba(25,217,143,.18), transparent 38%),
        radial-gradient(circle at bottom right, rgba(79,107,255,.18), transparent 42%),
        linear-gradient(180deg, rgba(13,17,56,.96), rgba(5,7,21,.98));
      box-shadow: 0 34px 100px rgba(0,0,0,.48);
    }
    .order-close {
      position: absolute;
      top: 14px;
      right: 14px;
      width: 38px;
      height: 38px;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 13px;
      color: #fff;
      background: rgba(255,255,255,.075);
      cursor: pointer;
      font-size: 1.25rem;
      line-height: 1;
    }
    .order-dialog h3 { padding-right: 42px; font-size: 1.55rem; letter-spacing: -.04em; }
    .order-dialog p { margin-top: 9px; color: var(--soft); font-size: .96rem; }
    .order-dialog { max-height: calc(100dvh - 36px); overflow-y: auto; }
    body.modal-open #wabutton { visibility: hidden; }
    .discount-field { margin-top: 20px; }
    .discount-field label { display: block; margin-bottom: 8px; font-weight: 700; }
    .discount-field input { width: 100%; padding: 13px 15px; border: 1px solid var(--border); border-radius: 12px; background: rgba(255,255,255,.07); color: #fff; font: inherit; font-size: 16px; }
    .discount-field input:focus { outline: 2px solid var(--mint); outline-offset: 2px; }
    .discount-field input[aria-invalid="true"] { border-color: var(--danger); }
    .discount-field .discount-status { font-size: .88rem; }
    .discount-status[data-state="error"] { color: var(--danger); }
    .discount-status[data-state="success"] { color: var(--mint-2); }
    button.whatsapp-hero-card { width: 100%; color: inherit; font: inherit; text-align: left; cursor: pointer; }
    .order-actions { display: grid; gap: 12px; margin-top: 22px; }
    .whatsapp-hero-card {
      position: relative;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 18px;
      align-items: center;
      padding: 22px;
      min-height: 126px;
      border-radius: 24px;
      border: 1px solid rgba(25,217,143,.38);
      background: linear-gradient(135deg, rgba(25,217,143,.20), rgba(79,107,255,.10), rgba(255,255,255,.075));
      box-shadow: 0 20px 55px rgba(25,217,143,.14), inset 0 0 28px rgba(255,255,255,.035);
      overflow: hidden;
    }
    .whatsapp-hero-card::after {
      content: "";
      position: absolute;
      left: 22px;
      right: 22px;
      bottom: 0;
      height: 4px;
      border-radius: 999px 999px 0 0;
      background: linear-gradient(90deg, var(--mint), var(--blue-3));
    }
    .whatsapp-hero-icon {
      width: 64px;
      height: 64px;
      display: grid;
      place-items: center;
      border-radius: 20px;
      color: #061022;
      background: linear-gradient(135deg, #fff, var(--mint));
      font-family: Montserrat, sans-serif;
      font-size: 1.05rem;
      font-weight: 900;
      box-shadow: 0 18px 42px rgba(25,217,143,.22);
    }
    .whatsapp-hero-icon svg { width: 35px; height: 35px; display: block; }
    .whatsapp-hero-copy strong {
      display: block;
      color: #fff;
      font-family: Montserrat, sans-serif;
      font-size: 1.1rem;
      line-height: 1.15;
      letter-spacing: -.03em;
      margin-bottom: 5px;
    }
    .whatsapp-hero-copy span {
      display: block;
      color: var(--soft);
      font-size: .9rem;
      line-height: 1.45;
    }
    .order-mini-points {
      display: grid;
      gap: 8px;
      margin-top: 14px;
      padding: 0;
      list-style: none;
    }
    .order-mini-points li { color: var(--soft); font-size: .88rem; }
    .order-mini-points li::before { content: "✓"; color: var(--mint); font-weight: 900; margin-right: 8px; }
