/* LeadFlow – Smart Pre-Order & Quotation */
.leadflow-btn-wrap { margin: 10px 0; }
.leadflow-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 20px; border: 0; border-radius: 6px; cursor: pointer;
  background: linear-gradient(135deg,#14b8a6 0%,#0d9488 100%);
  color: #fff; font-weight: 600; font-size: 14px; line-height: 1.2;
  box-shadow: 0 2px 8px rgba(13,148,136,0.25);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.leadflow-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(13,148,136,0.35); filter: brightness(1.05); color: #fff; text-decoration: none; }
.leadflow-btn-replace { display: block; width: 100%; }
.leadflow-btn-quote    { background: linear-gradient(135deg,#0288d1 0%,#01579b 100%); box-shadow: 0 2px 8px rgba(2,136,209,.25); }
.leadflow-btn-ask_price{ background: linear-gradient(135deg,#43a047 0%,#1b5e20 100%); box-shadow: 0 2px 8px rgba(67,160,71,.25); }
.leadflow-btn .lf-hp { display: none !important; }

.leadflow-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,0.45);
  display: flex; align-items: center; justify-content: center;
  z-index: 99999; opacity: 0; transition: opacity .2s ease;
}
.leadflow-overlay.lf-open { opacity: 1; }

.leadflow-panel {
  background: #fff; width: 384px; max-width: 92vw; max-height: 88vh;
  border-radius: 10px; box-shadow: 0 20px 40px rgba(0,0,0,.25);
  display: flex; flex-direction: column; overflow: hidden;
  transform: translateY(10px); transition: transform .25s ease;
}
.leadflow-overlay.lf-open .leadflow-panel { transform: translateY(0); }
.leadflow-overlay.lf-slide .leadflow-panel {
  width: 336px; max-width: 92vw; height: 100vh; max-height: 100vh;
  position: absolute; right: 0; top: 0; border-radius: 0;
  transform: translateX(100%);
}
.leadflow-overlay.lf-slide.lf-open .leadflow-panel { transform: translateX(0); }

.leadflow-header {
  padding: 11px 14px; border-bottom: 1px solid #eee;
  display: flex; justify-content: space-between; align-items: center;
  background: #fafafa;
}
.leadflow-header h4 { margin: 0; font-size: 14px; font-weight: 600; color: #222; }
.leadflow-close {
  background: none; border: 0; font-size: 24px; line-height: 1; color: #888; cursor: pointer;
}
.leadflow-close:hover { color: #222; }
.leadflow-body { padding: 14px; overflow-y: auto; font-size: 13px; }
.leadflow-intro { color: #666; margin: 0 0 11px; font-size: 12px; }

.leadflow-form .lf-group { margin-bottom: 10px; }
.leadflow-form label { display: block; font-size: 12px; font-weight: 600; color: #333; margin-bottom: 3px; }
.leadflow-form .lf-inline { display: inline-flex; align-items: center; gap: 4px; margin-right: 10px; font-weight: 400; }
.leadflow-form .lf-req { color: #e53935; }
.leadflow-form input[type=text],
.leadflow-form input[type=email],
.leadflow-form input[type=tel],
.leadflow-form input[type=date],
.leadflow-form input[type=number],
.leadflow-form input[type=file],
.leadflow-form select,
.leadflow-form textarea {
  width: 100%; padding: 7px 10px; border: 1px solid #dcdcdc; border-radius: 6px;
  font-size: 13px; font-family: inherit; outline: none; background: #fff;
}
.leadflow-form input:focus, .leadflow-form select:focus, .leadflow-form textarea:focus {
  border-color: #ff7b00; box-shadow: 0 0 0 3px rgba(255,123,0,.15);
}
.leadflow-form .lf-err { color: #e53935; font-size: 11px; margin-top: 2px; min-height: 12px; }
.leadflow-form .lf-hp  { display: none !important; position: absolute; left: -9999px; top: -9999px; height: 0 !important; width: 0 !important; }
.leadflow-form .lf-kvkk { display: flex; gap: 6px; font-weight: 400; font-size: 11px; color: #555; }
.leadflow-form input.lf-invalid, .leadflow-form select.lf-invalid, .leadflow-form textarea.lf-invalid { border-color: #e53935; background: #fff5f5; }
.leadflow-submit-row { margin-top: 11px; text-align: right; }
.leadflow-submit {
  background: linear-gradient(135deg,#ff7b00 0%,#ff3d00 100%); color: #fff;
  border: 0; padding: 8px 18px; border-radius: 6px; font-weight: 600; cursor: pointer;
  font-size: 13px;
}
.leadflow-submit:disabled { opacity: .7; cursor: wait; }

.leadflow-ok { padding: 28px 14px; text-align: center; color: #14532d; font-weight: 600; font-size: 14px; background:#f0fdf4; border:1px solid #bbf7d0; border-radius:8px; }
.leadflow-ok .leadflow-ok-icon { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; margin:0 auto 10px; border-radius:50%; background:#16a34a; color:#fff; font-size:24px; line-height:1; }
.leadflow-ok strong { display:block; font-size:15px; line-height:1.45; }
.leadflow-ok small { display:block; margin-top:8px; color:#166534; font-weight:500; }
.leadflow-err { padding: 8px; background: #ffebee; color: #c62828; border-radius: 6px; margin-top: 8px; font-size: 12px; }

@media (max-width: 480px) {
  .leadflow-panel { width: 94vw; max-width: 94vw; max-height: 86vh; border-radius: 10px; }
  .leadflow-btn { width: 100%; justify-content: center; }
  .leadflow-body { padding: 12px; }
  .leadflow-product-card .lf-pc-img img { width: 72px; height: 72px; }
  .leadflow-product-card .lf-pc-img { flex: 0 0 72px; }
  .leadflow-header, .leadflow-inline-header { display: none !important; }
  .leadflow-body, .leadflow-inline-body { padding-top: 14px; }
}

/* Product card in modal */
.leadflow-product-card { display:flex; gap:10px; align-items:center; padding:9px; border:1px solid #e5e7eb; border-radius:8px; background:#f8fafc; margin-bottom:11px; }
.leadflow-product-card .lf-pc-img { flex:0 0 76px; }
.leadflow-product-card .lf-pc-img img { width:76px; height:76px; object-fit:contain; border-radius:6px; background:#fff; border:1px solid #e5e7eb; }
.leadflow-product-card .lf-pc-info { flex:1; min-width:0; }
.leadflow-product-card .lf-pc-name { font-weight:700; color:#111827; font-size:13px; line-height:1.3; margin-bottom:3px; }
.leadflow-product-card .lf-pc-meta { color:#4b5563; font-size:11px; margin-top:2px; }
.leadflow-product-card .lf-pc-meta .lf-pc-k { color:#6b7280; font-weight:600; }
.leadflow-product-card .lf-pc-price { margin-top:5px; font-weight:700; color:#0f766e; font-size:13px; }


/* Inline mode */
.leadflow-inline-box { margin: 14px 0; }
.leadflow-inline-panel { border: 1px solid #e5e7eb; border-radius: 10px; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.04); overflow: hidden; }
.leadflow-inline-header { padding: 11px 14px; border-bottom: 1px solid #eee; background: #fafafa; }
.leadflow-inline-header h4 { margin: 0; font-size: 14px; font-weight: 600; color: #222; }
.leadflow-inline-body { padding: 14px; font-size: 13px; }
