/* ===== Base ===== */
.hryp-bp{max-width:980px;margin:32px auto;padding:0 16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#0f172a}
.hryp-bp h2{font-size:34px;line-height:1.2;margin:0 0 6px;font-weight:800}
.hryp-bp .subtitle{color:#475569;margin:0 0 20px}

/* ===== Card ===== */
.bp-form,.bp-preview .card{background:#fff;border:1px solid #e5e7eb;box-shadow:0 8px 24px rgba(15,23,42,.06);border-radius:16px;padding:20px}

/* ===== Grid ===== */
.bp-form .grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}

/* ===== Fields ===== */
.bp-form .field label{display:block;font-size:13px;font-weight:600;color:#334155;margin-bottom:6px}
.bp-form input[type=text],
.bp-form input[type=email],
.bp-form input[type=number]{width:100%;height:42px;padding:0 12px;border:1px solid #d1d5db;border-radius:10px;background:#fff;outline:none;transition:box-shadow .2s,border-color .2s;font-size:14px}
.bp-form input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.15)}

/* ===== Table ===== */
.table-wrap{width:100%;overflow:auto;margin-top:8px}
.bp-table{width:100%;border-collapse:collapse;font-size:14px}
.bp-table th,.bp-table td{border:1px solid #e5e7eb;padding:10px;white-space:nowrap;background:#ffffff;color:#0f172a}
.bp-table thead th{background:#f8fafc;color:#0f172a;font-weight:700}
.bp-table tbody tr:nth-child(odd) td{background:#fcfdff}
.bp-table td strong{color:#0f172a;background:transparent}

/* ===== Buttons ===== */
.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 16px;border-radius:10px;text-decoration:none;font-weight:600;font-size:14px;cursor:pointer;transition:transform .05s,box-shadow .2s,background .2s,border .2s;border:1px solid transparent}
.btn-primary{background:#2563eb;color:#fff;box-shadow:0 6px 16px rgba(37,99,235,.25)}
.btn-primary:hover{background:#1d4ed8}
.btn-secondary{background:#fff;color:#0f172a;border-color:#e5e7eb}
.btn-secondary:hover{background:#f8fafc}
.actions{display:flex;gap:10px;margin-top:12px}

/* ===== Preview ===== */
.bp-preview{margin-top:18px}
.bp-preview h3{font-size:18px;margin:0 0 8px;font-weight:700}
.totals{font-size:18px;font-weight:700}

/* ===== Paywall ===== */
.paywall{margin-top:14px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:14px}
.hint{color:#64748b;font-weight:400}
.req{color:#dc2626;margin-left:2px}
.field-error{margin-top:6px;font-size:12px;color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 10px}

/* ===== Responsive ===== */
@media (max-width:860px){
  .bp-form .grid{grid-template-columns:1fr}
  .actions{flex-direction:column}
  .btn-primary,.btn-secondary{width:100%}
  .bp-table thead{display:none}
  .bp-table, .bp-table tbody, .bp-table tr, .bp-table td{display:block;width:100%}
  .bp-table tr{margin-bottom:12px;border:1px solid #e5e7eb;border-radius:10px}
  .bp-table td{border:none;border-bottom:1px solid #eef2f7}
  .bp-table td:last-child{border-bottom:none}
  .bp-table td::before{content:attr(data-label);display:block;font-weight:700;color:#374151;margin-bottom:2px}
}

/* PayPal container full width on mobile */
@media (max-width:640px){ #bp_paypal{width:100% !important} }

/* Widen input columns on the entry table */
.bp-table td input { width: 100%; }

/* Department and Role columns larger on desktop */
.bp-table thead th:nth-child(1),
.bp-table tbody td:nth-child(1) { min-width: 180px; }

.bp-table thead th:nth-child(2),
.bp-table tbody td:nth-child(2) { min-width: 220px; }

/* Keep the table scrollable if it overflows */
.table-wrap { overflow-x: auto; }

/* On mobile it goes stacked anyway */
@media (max-width: 860px){
  .bp-table thead th:nth-child(1),
  .bp-table tbody td:nth-child(1),
  .bp-table thead th:nth-child(2),
  .bp-table tbody td:nth-child(2){ min-width: 0; }
}

.price-note { font-weight:600; margin: 0 0 8px; color:#0f172a; }

