/* Timberulove Variation Matrix (v1.0.8)
   - Compact matrix with ex/inc VAT in one line
   - Remove Read More / Sample Order buttons
   - Restore proper styled order summary panel
*/
:root{
  --tlvm-primary: #b48a5a;
  --tlvm-primary-dark: #8e6a43;
  --tlvm-surface: #ffffff;
  --tlvm-alt: #fbf7f1;
  --tlvm-highlight: #efe3d3;
  --tlvm-text: #141414;
  --tlvm-border: rgba(0,0,0,.10);
  --tlvm-pill: rgba(0,0,0,.06);
  --tlvm-danger: #c7362f;
}

.tlvm-grid{ display:grid; grid-template-columns: 1fr; gap: 10px; }

/* Matrix */
.tlvm-matrix{
  border: 1px solid var(--tlvm-border);
  border-radius: 10px;
  overflow: hidden;
  background: var(--tlvm-surface);
}

.tlvm-matrix-head{
  display:grid;
  grid-template-columns: 1.45fr 1fr 128px;
  padding: 7px 10px;
  background: var(--tlvm-primary);
  font-weight: 800;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: .25px;
}

.tlvm-matrix-body .tlvm-row{
  display:grid;
  grid-template-columns: 1.45fr 1fr 128px;
  padding: 6px 10px;
  border-top: 1px solid rgba(0,0,0,.06);
  background: var(--tlvm-surface);
  align-items: center;
}
.tlvm-matrix-body .tlvm-row:nth-child(even){ background: var(--tlvm-alt); }

.tlvm-col-label{ min-width: 0; }
.tlvm-label{
  font-weight: 800;
  font-size: 13px;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tlvm-col-price{ min-width: 0; display:flex; flex-direction: column; justify-content: center; }
.tlvm-price-line{ display:flex; align-items: baseline; gap: 6px; flex-wrap: wrap; line-height: 1.05; }
.tlvm-vat-tag{ font-size: 10px; opacity: .75; }
.tlvm-sep{ opacity:.45; }
.tlvm-stock{ margin-top: 2px; font-size: 10px; opacity: .7; }

.tlvm-meta, .tlvm-discount{ display:none; }

/* Qty */
.tlvm-col-qty{ display:flex !important; align-items:center !important; justify-content:center !important; }
.tlvm-qty{ display:flex !important; align-items:center !important; justify-content:center !important; gap: 6px; height: 100%; }
.tlvm-btn{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.18);
  background: #fff;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding: 0 !important;
  line-height: 1 !important;
  font-size: 16px;
}
.tlvm-qty-input{
  width: 40px;
  height: 28px;
  border-radius: 8px;
  border: 1px solid rgba(0,0,0,.18);
  text-align:center;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 28px !important;
  font-size: 12px;
  background: var(--tlvm-pill);
}

/* Remove any leftover summary-top in case cached markup */
.tlvm-summary-top{ display:none !important; }

/* Order Summary – restore card styling */
.tlvm-summary-card{
  border: 1px solid var(--tlvm-border);
  border-radius: 10px;
  background: var(--tlvm-surface);
  overflow: hidden;
}

.tlvm-summary-title{
  padding: 10px 12px 8px;
  font-weight: 900;
  font-size: 14px;
}

.tlvm-summary-head{
  display:grid;
  grid-template-columns: 70px 1fr 110px 30px;
  gap: 8px;
  padding: 8px 12px;
  background: var(--tlvm-primary);
  font-weight: 900;
  text-transform: uppercase;
  font-size: 10px;
}

.tlvm-summary-lines{ padding: 4px 0; }

.tlvm-summary-row{
  display:grid;
  grid-template-columns: 70px 1fr 110px 30px;
  gap: 8px;
  padding: 8px 12px;
  border-top: 1px solid rgba(0,0,0,.06);
  align-items: start;
  font-size: 12px;
}

.tlvm-sex{ text-align:right; font-weight: 900; }
.tlvm-sqty{ font-weight: 900; }

.tlvm-remove{
  width: 24px; height: 24px;
  border-radius: 999px;
  border: none;
  background: var(--tlvm-danger);
  color: #fff;
  cursor: pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}

.tlvm-summary-totals{
  border-top: 1px solid rgba(0,0,0,.08);
  padding: 8px 12px 6px;
  background: var(--tlvm-highlight);
}

.tlvm-line{
  display:flex;
  justify-content: space-between;
  padding: 6px 0;
  border-top: 1px solid rgba(0,0,0,.08);
  font-size: 12px;
}
.tlvm-line:first-child{ border-top:none; }

.tlvm-line-inc{
  background: var(--tlvm-primary);
  margin: 8px -12px 0;
  padding: 10px 12px;
  font-weight: 900;
}

.tlvm-actions{
  padding: 10px 12px 12px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  align-items:center;
}

.tlvm-actions .button,
.tlvm-actions a.button{
  border-radius: 8px;
  font-weight: 800;
}

.tlvm-note{
  grid-column: 1 / -1;
  font-size: 11px;
  opacity: .7;
}

/* Mobile */
@media (max-width: 520px){
  .tlvm-matrix-head, .tlvm-matrix-body .tlvm-row{
    grid-template-columns: 1fr;
    gap: 6px;
    align-items: flex-start;
  }
  .tlvm-col-qty{ justify-content:flex-start !important; }
  .tlvm-label{ white-space: normal; }
  .tlvm-summary-head, .tlvm-summary-row{
    grid-template-columns: 60px 1fr 100px 28px;
  }
}


/* v1.1.0 – widen price column to prevent VAT wrapping */
.tlvm-matrix-head{
  grid-template-columns: 1.45fr 1.25fr 128px;
}

.tlvm-matrix-body .tlvm-row{
  grid-template-columns: 1.45fr 1.25fr 128px;
}

.tlvm-price-line{
  white-space: nowrap;
}
