:root{
  --vrpay-font: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --vrpay-bg: #fff;
  --vrpay-fg: #111;
  --vrpay-muted: #666;
  --vrpay-accent: #2271b1; /* WP-Blau */
  --vrpay-border: #e5e7eb;
  --vrpay-radius: 10px;
  --vrpay-pad: 12px;
}

.vrpay-cnp, .vrpay-cart{
  font-family: var(--vrpay-font);
  color: var(--vrpay-fg);
}

.vrpay-cart__title{
  margin: 8px 0 12px;
  font-size: 1.25rem;
  font-weight: 600;
}

.vrpay-cart__hint{
  color: var(--vrpay-muted);
  font-size: .9rem;
  margin-top: 10px;
}

.vrpay-cart__tablewrap{
  background: var(--vrpay-bg);
  border: 1px solid var(--vrpay-border);
  border-radius: var(--vrpay-radius);
  overflow: hidden;
}

.vrpay-cart__table{
  width: 100%;
  border-collapse: collapse;
  font-size: .95rem;
}

.vrpay-cart__table thead th{
  text-align: left;
  background: #f9fafb;
  border-bottom: 1px solid var(--vrpay-border);
  padding: 10px var(--vrpay-pad);
  font-weight: 600;
}

.vrpay-cart__row td{
  border-bottom: 1px solid var(--vrpay-border);
  padding: 10px var(--vrpay-pad);
  vertical-align: middle;
}

.vrpay-col--qty, .vrpay-col--price, .vrpay-col--sum, .vrpay-col--actions{
  width: 120px;
}
.vrpay-col--qty{ width: 160px; }

.vrpay-cart__cell--price,
.vrpay-cart__cell--sum{
  text-align: right;
}

.vrpay-cart__table tfoot th{
  padding: 12px var(--vrpay-pad);
  background: #f9fafb;
  border-top: 1px solid var(--vrpay-border);
}

.vrpay-cart__total-label{
  text-align: right;
  font-weight: 600;
}
.vrpay-cart__total{
  text-align: right;
}

.vrpay-qty{
  display: inline-flex;
  gap: 6px;
  align-items: center;
}
.vrpay-qty .button{
  min-width: 32px;
  height: 30px;
  line-height: 28px;
  padding: 0 8px;
}
.vrpay-qty__value{
  display:inline-block;
  min-width:28px;
  text-align:center;
}

.vrpay-item__note{
  color: var(--vrpay-muted);
  font-size: .85rem;
  margin-top: 2px;
}

/* Fehlerbox und Buttons (Checkout-UI) */
.vrpay-error{
  background:#fdecea;
  color:#b00020;
  border:1px solid #f5c2c7;
  padding:8px 12px;
  border-radius:6px;
}

/* Utility */
.button[disabled]{
  opacity:.6;
  cursor:not-allowed;
}

/* Positionsnotiz */
.vrpay-note{ margin-top:6px; }
.vrpay-note__toggle{ padding:0; margin:0; border:0; background:none; color:var(--vrpay-accent); cursor:pointer; }
.vrpay-note__toggle:hover{ text-decoration:underline; }
.vrpay-note__editor{ margin-top:6px; }
.vrpay-note__textarea{
  width:100%; min-height:70px; resize:vertical;
  border:1px solid var(--vrpay-border); border-radius:8px; padding:8px;
  font-family:inherit; font-size:.95rem;
}
.vrpay-note__hint{ color:var(--vrpay-muted); font-size:.8rem; margin-top:4px; }
.vrpay-note__status{ margin-left:8px; color:var(--vrpay-muted); font-size:.85rem; }
.vrpay-note__preview{ color:var(--vrpay-muted); font-size:.9rem; margin-top:4px; }

.vrpay-hint{
  margin-top:12px;
  padding:10px 14px;
  border:1px solid #ddd;
  border-radius:6px;
  background:#f9fafb;
  color:#333;
  font-size:.95rem;
}

.vrpay-myorders__table{
  width:100%;
  border-collapse:collapse;
  font-size:.95rem;
}
.vrpay-myorders__table th,
.vrpay-myorders__table td{
  border:1px solid #e5e7eb;
  padding:8px 10px;
}
.vrpay-myorders__table thead th{
  background:#f9fafb;
  text-align:left;
}
.vrpay-myorders__pagination ul{
  list-style:none; display:flex; gap:6px; padding:0; margin:12px 0 0;
}
.vrpay-myorders__pagination a,
.vrpay-myorders__pagination span{
  display:inline-block; padding:6px 10px; border:1px solid #e5e7eb; border-radius:6px;
}



#vrpay-cnp-hint{
  background:#e6ffed;
  border:1px solid #34c759;
  color:#065f46;
  padding:10px 12px;
  border-radius:6px;
  margin-top:10px;
}
#vrpay-cnp-hint[role="button"]{
  transition: transform .05s ease-in;
}
#vrpay-cnp-hint[role="button"]:hover{
  transform: translateY(-1px);
}