/* ==========================================================================
   LuxDesign B2B — Claims / Returns / Warranty
   Gold #b8860b, dark #1a1a1a, 12px cards, prefix luxb2b-
   ========================================================================== */

/* ---- Header row ---- */
.luxb2b-claims-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 14px; flex-wrap: wrap; margin-bottom: 18px;
}
.luxb2b-claims-head h3 { margin: 0; color: #1a1a1a; }
.luxb2b-claims-ref { color: #9a9a9a; font-weight: 400; font-size: .8em; }
.luxb2b-claims-new {
  background: #1a1a1a !important; color: #fff !important; border: 0 !important;
  padding: 10px 20px !important; border-radius: 8px !important; font-weight: 600 !important;
  text-decoration: none;
}
.luxb2b-claims-new:hover { background: #b8860b !important; }
.luxb2b-claims-back { color: #b8860b; text-decoration: none; font-weight: 600; font-size: .9rem; }
.luxb2b-claims-back:hover { text-decoration: underline; }
.luxb2b-claims-empty {
  border: 1px dashed #d8d3c9; border-radius: 12px; padding: 22px;
  color: #7a7a7a; text-align: center; background: #faf8f4;
}

/* ---- Claims list table ---- */
.luxb2b-claims-table { width: 100%; border-collapse: collapse; }
.luxb2b-claims-table th {
  text-align: left; padding: 10px 12px; font-size: .72rem; text-transform: uppercase;
  letter-spacing: .05em; color: #9a9a9a; border-bottom: 2px solid #efece5;
}
.luxb2b-claims-table td { padding: 12px; border-bottom: 1px solid #efece5; vertical-align: middle; }
.luxb2b-claims-table tr:hover td { background: #faf8f4; }
.luxb2b-claims-table a { color: #b8860b; font-weight: 600; text-decoration: none; }
.luxb2b-claims-table a:hover { text-decoration: underline; }

/* ---- Status badges ---- */
.luxb2b-badge {
  display: inline-block; padding: 3px 10px; border-radius: 999px;
  font-size: .72rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase;
  border: 1px solid transparent; line-height: 1.5;
}
.luxb2b-badge--open      { background: #fff8e6; color: #a06a00; border-color: #f0dca0; }
.luxb2b-badge--in_review { background: #eef3fb; color: #2f5b9c; border-color: #c3d6f0; }
.luxb2b-badge--approved  { background: #eef8ef; color: #1e6e2e; border-color: #b6e0bd; }
.luxb2b-badge--rejected  { background: #fdecea; color: #a12a1e; border-color: #f2b8b0; }
.luxb2b-badge--resolved  { background: #1a1a1a; color: #fff; border-color: #1a1a1a; }

/* ---- Single claim ---- */
.luxb2b-claim-status { margin: 0 0 16px; }
.luxb2b-sku { color: #9a9a9a; font-size: .85em; }

.luxb2b-claim-media { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 22px; }
.luxb2b-claim-thumb { border-radius: 8px; border: 1px solid #e6e2da; display: block; }
.luxb2b-claim-vid { max-width: 260px; border-radius: 8px; border: 1px solid #e6e2da; background: #000; }

/* ---- Message thread ---- */
.luxb2b-thread-title { margin: 22px 0 10px; color: #1a1a1a; }
.luxb2b-thread-empty { color: #9a9a9a; }
.luxb2b-thread { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; }
.luxb2b-msg {
  border: 1px solid #e6e2da; border-radius: 12px; padding: 12px 14px; background: #fff; max-width: 82%;
}
.luxb2b-msg--customer { align-self: flex-end; border-color: #e6dcc2; background: #fffdf6; }
.luxb2b-msg--staff { align-self: flex-start; border-left: 3px solid #b8860b; }
.luxb2b-msg__meta { font-size: .72rem; color: #9a9a9a; margin-bottom: 5px; }
.luxb2b-msg__meta strong { color: #1a1a1a; }
.luxb2b-msg__text { color: #333; line-height: 1.45; }

.luxb2b-thread-form { display: flex; flex-direction: column; gap: 8px; max-width: 640px; }
.luxb2b-thread-form label { font-weight: 600; color: #444; font-size: .86rem; display: flex; flex-direction: column; gap: 6px; }
.luxb2b-thread-form textarea {
  padding: 10px 12px; border: 1px solid #d8d3c9; border-radius: 8px; font-size: .95rem;
  background: #fff; color: #1a1a1a; width: 100%;
}
.luxb2b-thread-form .luxb2b-submit { align-self: flex-start; }

/* ---- Claim form file input tidy ---- */
.luxb2b-claim-form input[type="file"] {
  padding: 10px; border: 1px dashed #d8d3c9; border-radius: 8px; background: #faf8f4; width: 100%;
}

/* ---- Admin thread reuse ---- */
.luxb2b-admin-thread .luxb2b-thread { max-width: 820px; }
.luxb2b-admin-thread .luxb2b-msg { max-width: 100%; }

@media (max-width: 640px) {
  .luxb2b-claims-table thead { display: none; }
  .luxb2b-claims-table, .luxb2b-claims-table tbody, .luxb2b-claims-table tr, .luxb2b-claims-table td { display: block; width: 100%; }
  .luxb2b-claims-table tr { border: 1px solid #efece5; border-radius: 12px; margin-bottom: 12px; padding: 6px 4px; }
  .luxb2b-claims-table td { border: 0; padding: 6px 12px; }
  .luxb2b-msg { max-width: 100%; }
}
