/* Quick Order Button — Button + Modal */
.qob-btn-wrap{display:block}
.qob-btn{
  display:inline-flex;align-items:center;gap:.5rem;
  background:#ff6a00;color:#fff;border:0;cursor:pointer;
  padding:14px 28px;border-radius:6px;font-weight:600;font-size:16px;
  transition:all .2s ease;line-height:1;
}
.qob-btn:hover{background:#e85d00;transform:translateY(-1px)}
.qob-btn-icon svg,.qob-btn-icon i{width:1em;height:1em}

/* Modal */
.qob-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.55);
  display:flex;align-items:flex-start;justify-content:center;
  z-index:99999;padding:24px 12px;overflow-y:auto;
  opacity:0;transition:opacity .2s ease;
}
.qob-overlay.open{opacity:1}
.qob-modal{
  background:#fff;width:100%;max-width:440px;border-radius:10px;
  overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.3);
  transform:translateY(-20px);transition:transform .25s ease;
  font-family:inherit;
}
.qob-overlay.open .qob-modal{transform:translateY(0)}

.qob-modal-header{
  background:#ff6a00;color:#fff;padding:22px 56px 22px 24px;
  text-align:center;font-weight:700;font-size:18px;line-height:1.4;
  position:relative;
}
.qob-modal-close{
  position:absolute;top:14px;right:14px;width:32px;height:32px;
  border-radius:50%;background:#fff;color:#333;border:0;cursor:pointer;
  font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;
}
.qob-modal-body{padding:20px;color:#222}

.qob-summary{
  border:1px solid #e9e9e9;border-radius:8px;padding:14px 16px;margin-bottom:16px;
}
.qob-summary-title{font-weight:700;margin:0 0 10px;color:#222;display:flex;align-items:center;gap:6px}
.qob-summary-row{display:flex;justify-content:space-between;padding:4px 0;font-size:14px;color:#555}
.qob-total-row{display:flex;justify-content:space-between;padding-top:10px;margin-top:8px;border-top:1px dashed #ddd;font-weight:700;font-size:16px}
.qob-total-row strong{color:#ff6a00}

.qob-field{margin-bottom:14px}
.qob-field label{display:block;font-size:13px;color:#333;margin-bottom:6px}
.qob-field .req{color:#e23}
.qob-field input,.qob-field textarea{
  width:100%;padding:11px 12px;border:1px solid #dcdcdc;border-radius:6px;
  font-size:14px;font-family:inherit;background:#fff;outline:none;
  transition:border-color .15s ease;box-sizing:border-box;
}
.qob-field input:focus,.qob-field textarea:focus{border-color:#ff6a00}
.qob-field.error input,.qob-field.error textarea{border-color:#e23}
.qob-field-error{color:#e23;font-size:12px;margin-top:4px;display:none}
.qob-field.error .qob-field-error{display:block}

.qob-ship{border:1px solid #e9e9e9;border-radius:8px;padding:12px;margin-bottom:16px}
.qob-ship-title{font-size:13px;color:#444;margin:0 0 8px}
.qob-ship-option{
  display:flex;justify-content:space-between;align-items:center;
  padding:11px 14px;border:1px solid #e2e2e2;border-radius:6px;
  margin-bottom:8px;cursor:pointer;background:#fff;font-size:14px;
  transition:all .15s ease;
}
.qob-ship-option:last-child{margin-bottom:0}
.qob-ship-option.active{border-color:#ff6a00;background:rgba(255,106,0,.05)}
.qob-ship-option.active .qob-ship-fee{color:#ff6a00;font-weight:700}
.qob-ship-fee{font-weight:600;color:#444}

.qob-submit{
  width:100%;background:#ff6a00;color:#fff;border:0;border-radius:6px;
  padding:14px 16px;font-weight:700;font-size:15px;cursor:pointer;
  transition:filter .15s ease;
}
.qob-submit:hover{filter:brightness(.95)}
.qob-submit:disabled{opacity:.7;cursor:wait}

.qob-footer-note{font-size:12px;color:#777;text-align:center;margin-top:14px;line-height:1.5}
.qob-error-banner{background:#fde8e8;color:#9b1c1c;padding:10px;border-radius:6px;margin-bottom:12px;font-size:13px;display:none}
.qob-error-banner.show{display:block}

.qob-loading{display:flex;align-items:center;justify-content:center;padding:40px}
.qob-spinner{width:32px;height:32px;border:3px solid #eee;border-top-color:#ff6a00;border-radius:50%;animation:qob-spin .8s linear infinite}
@keyframes qob-spin{to{transform:rotate(360deg)}}

@media (max-width:480px){
  .qob-modal{max-width:100%}
  .qob-modal-header{font-size:16px;padding:18px 50px 18px 18px}
  .qob-modal-body{padding:16px}
}

.qob-summary-product{display:flex;align-items:center;gap:10px;padding:8px 0;margin-bottom:8px;border-bottom:1px solid #e5e7eb}
.qob-summary-thumb{width:48px;height:48px;border-radius:6px;object-fit:cover;border:1px solid #e5e7eb;flex:0 0 48px}
.qob-summary-pname{font-size:14px;font-weight:600;color:#111827;line-height:1.3}
