/* Robomatis Vendor Portal (WP) */
:root {
    --bg: #fff;
    --muted: #f6f7fb;
    --border: #e7e9ee;
    --text: #0f172a;
    --sub: #475569;
    --shadow: 0 2px 10px rgba(0, 0, 0, .04);
    --radius: 14px;
    --cta-blue: #0ea5e9;
    --cta-black: #0b0f19;
    --ok: #16a34a;
    --bad: #ef4444;
}
.white-f{
    color:#fff !important;
}
.rmvp-card h2 {
    margin: 0 0 12px;
    font-size: 18px;
    font-weight: bold;
}

.rmvp-card h3 {
    margin: 18px 0 8px;
    font-size: 15px;
     font-weight: bold;
}

.rmvp-wrap {
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    color: var(--text);
}

.rmvp-top {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.rmvp-top h1 {
    margin: 0;
    font-size: 22px;
    letter-spacing: -.02em;
}

.rmvp-top p {
    margin: 6px 0 0;
    color: var(--sub);
    font-size: 13px;
}

.rmvp-badges {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
}

.rmvp-badge {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    padding: 7px 10px;
    border: 1px solid var(--border);
    background: #fff;
    border-radius: 999px;
    font-size: 12px;
    color: var(--sub);
    box-shadow: 0 1px 6px rgba(0, 0, 0, .03);
}

.rmvp-badge.ok {
    border-color: rgba(22, 163, 74, .25);
    background: rgba(22, 163, 74, .06);
    color: #065f46;
}

.rmvp-badge.warn {
    border-color: rgba(245, 158, 11, .25);
    background: rgba(245, 158, 11, .08);
    color: #7c2d12;
}

.rmvp-badge.rmvp-info {
    border-color: rgba(14, 165, 233, .25);
    background: rgba(14, 165, 233, .08);
    color: #075985;
}

.rmvp-grid {
    display: grid;
    grid-template-columns: 1.65fr 1fr;
    gap: 18px;
}

.rmvp-row.rmvp-row3{
  grid-template-columns: 1fr 1fr 1fr;
}

.rmvp-note.warn {
  background: rgba(245,158,11,.10);
  color: #7c2d12;
  border-color: rgba(245,158,11,.25);
}
@media(max-width:900px){
  .rmvp-row.rmvp-row3{
    grid-template-columns: 1fr;
  }
}

@media(max-width:980px) {
    .rmvp-grid {
        grid-template-columns: 1fr;
    }
}

.rmvp-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 18px;
    box-shadow: var(--shadow);
}

.rmvp-card.muted {
    background: var(--muted);
}

.rmvp-card h2 {
    margin: 0 0 10px;
    font-size: 16px;
    letter-spacing: -.01em;
    display: block;
    margin-block-start: 0.83em;
    margin-block-end: 0.83em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
    unicode-bidi: isolate;
}

.rmvp-desc {
    margin: 0 0 14px;
    color: var(--sub);
    font-size: 13px;
    line-height: 1.45;
}

.rmvp-stepper {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.rmvp-step {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    user-select: none;
}

.rmvp-step .n {
    width: 26px;
    height: 26px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 12px;
    background: #f1f5f9;
    color: #0f172a;
    border: 1px solid rgba(15, 23, 42, .08);
}

.rmvp-step .t {
    font-size: 12px;
    color: var(--sub);
    font-weight: 650;
}

.rmvp-step.active {
    border-color: rgba(14, 165, 233, .35);
    box-shadow: 0 0 0 3px rgba(14, 165, 233, .12);
}

.rmvp-step.done .n {
    background: rgba(22, 163, 74, .10);
    border-color: rgba(22, 163, 74, .25);
    color: #166534;
}

.rmvp-hr {
    height: 1px;
    background: var(--border);
    margin: 14px 0;
}

.rmvp-form {
    display: grid;
    gap: 12px;
}

.rmvp-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

@media(max-width:640px) {
    .rmvp-row {
        grid-template-columns: 1fr;
    }
}

.rmvp-field label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: var(--text);
    margin: 0 0 6px;
}

.rmvp-req {
    color: var(--bad);
    margin-left: 3px;
    font-weight: 900;
}

.rmvp-help {
    margin: 6px 0 0;
    font-size: 12px;
    color: var(--sub);
    line-height: 1.35;
}

.rmvp-input,
.rmvp-select,
.rmvp-textarea {
    width: 100% !important;
    padding: 12px 12px !important;
    border: 1px solid #d7dbe6 !important;
    border-radius: 12px !important;
    background: #fff !important;
    outline: none !important;
    font: inherit !important;
    font-size: 14px;
}

.rmvp-input.number-small{
    width: 60px !important;
}
#bsvp-processes-input-items-tbody .rmvp-select{
    width: auto !important;
}
.rmvp-field .select2-container--default .select2-selection--single {
    width: 100% !important;
    padding: 12px 12px !important;
    border: 1px solid #d7dbe6 !important;
    border-radius: 12px !important;
    background: #fff !important;
    outline: none !important;
    font: inherit !important;
    font-size: 14px;
    height: 50px !important;
}

.rmvp-field .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #444;
    
}

/* Country multiselect only (select.bsvp-country-select): Select2 puts empty ul + search as siblings; width:100% on ul made a full-width row + huge second row for the textarea */
.rmvp-field .select2-container {
    width: 100% !important;
}
select.bsvp-country-select + .select2-container {
    vertical-align: top;
}
select.bsvp-country-select + .select2-container .select2-selection--multiple {
    /* display: flex !important;
    flex-wrap: wrap !important; */
    align-items: center !important;
    gap: 4px 6px !important;
    border: 1px solid #d7dbe6 !important;
    border-radius: 12px !important;
    background: #fff !important;
    padding: 4px 6px !important;
    cursor: text;
    box-sizing: border-box;
}
/* Do not give the ul width:100% — that stacks the search on a second full-width line (looks “huge”) */
select.bsvp-country-select + .select2-container .select2-selection--multiple .select2-selection__rendered {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 4px 6px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
select.bsvp-country-select + .select2-container .select2-selection--multiple .select2-search--inline {
    float: none !important;
    display: block !important;
    width: auto !important;
    min-width: 7em !important;
    max-width: min(100%, 18em) !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}
/* Override Select2 inline width:100% on the search textarea (single short line) */
select.bsvp-country-select + .select2-container .select2-selection--multiple .select2-search__field {
    width: min(100%, 16em) !important;
    min-width: 7em !important;
    max-width: 100% !important;
    height: 26px !important;
    min-height: 26px !important;
    max-height: 28px !important;
    line-height: 24px !important;
    margin: 0 !important;
    padding: 2px 6px !important;
    resize: none !important;
    overflow: hidden !important;
    font: inherit !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
}
select.bsvp-country-select + .select2-container .select2-selection--multiple .select2-selection__choice {
    margin: 0 !important;
    max-width: 100% !important;
    background: #eef2f7 !important;
    border: 1px solid #d1d9e6 !important;
    border-radius: 8px !important;
    color: #0f172a !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding-top: 3px !important;
    padding-bottom: 3px !important;
}
select.bsvp-country-select + .select2-container .select2-selection--multiple .select2-selection__choice__display {
    padding-left: 4px !important;
    padding-right: 6px !important;
}

/* Country dropdown: drop 200px cap — tall list; scoped via dropdownCssClass in countries-init.js */
.bsvp-country-select2-dropdown .select2-results > .select2-results__options {
    max-height: none !important;
    overflow-y: visible !important;
}
.bsvp-country-select2-dropdown.select2-dropdown {
    max-height: min(85vh, 800px);
    overflow-y: auto;
}

.rmvp-textarea {
    min-height: 110px;
    resize: vertical;
}

.rmvp-input:focus,
.rmvp-select:focus,
.rmvp-textarea:focus {
    border-color: rgba(14, 165, 233, .65);
    box-shadow: 0 0 0 3px rgba(14, 165, 233, .14);
}

/* Marketing step: core wp_editor() (TinyMCE + Quicktags) — frontend + admin product screen */
.rmvp-field--wp-editor .wp-editor-wrap {
    max-width: 100%;
}
.rmvp-field--wp-editor .wp-editor-container {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #d7dbe6;
    background: #fff;
}
/* Text tab: match Visual ~400px editor height */
.rmvp-field--wp-editor textarea.wp-editor-area {
    min-height: 400px !important;
}
.rmvp-field--wp-editor .wp-editor-tabs {
    padding: 0 8px;
}
.rmvp-field--wp-editor .mce-toolbar-grp,
.rmvp-field--wp-editor .quicktags-toolbar {
    border-bottom-color: #e2e8f0 !important;
}

.rmvp-check {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #fff;
}

.rmvp-check input {
    margin-top: 3px;
}

/* Step 12 — submit declarations */
.bsvp-submit-declarations {
    margin-top: 8px;
    margin-bottom: 4px;
}
.bsvp-submit-declarations__title {
    font-size: 1.05rem;
    font-weight: 800;
    margin: 0 0 4px;
    color: var(--text, #0f172a);
}
.bsvp-submit-declarations__label {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    cursor: pointer;
    margin: 0;
    font-weight: 500;
    line-height: 1.45;
}
.bsvp-submit-declarations__text {
    flex: 1;
    min-width: 0;
}
.bsvp-submit-declarations .rmvp-field {
    margin-bottom: 10px;
}
.rmvp-field.rmvp-error .rmvp-check {
    border-color: #dc3545;
    background: rgba(239, 68, 68, .06);
}

.rmvp-btnbar {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 12px;
}

.rmvp-btns {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.rmvp-btn {
    border: none;
    border-radius: 12px;
    padding: 11px 14px;
    font-weight: 800;
    cursor: pointer;
    font-size: 14px;
}

.rmvp-btn:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.rmvp-btn.ghost {
    background: transparent;
    border: 1px solid var(--border);
    color: var(--text);
    /* width: 120px; */
}

#bsvp-modal-btn-variable{
  color:#0ea5e9;
  border: 1px solid #0ea5e9;
  background: #e0f2fe; /* lighter blue fill (matches request) */
  font-weight: 600;
  font-size: 14px;
  padding: 10px 12px;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  &:hover {
    background: #0ea5e9;
    color: #fff;
  }
  &:active {
    background: #0ea5e9;
    color: #fff;
  }
  &:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(14, 165, 233, .14);
  }
  &:disabled {
    opacity: 0.55;
    cursor: not-allowed;
  }
  &:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(14, 165, 233, .14);
  }
  &:focus-within {
    outline: none;
    box-shadow: 0 0 0 3px rgba(14, 165, 233, .14);
  }
  &:focus-within {
    outline: none;
    box-shadow: 0 0 0 3px rgba(14, 165, 233, .14);
  }
}
.rmvp-btn.blue {
    background: var(--cta-blue);
    color: #fff;
}

.rmvp-btn.black {
    background: var(--cta-black);
    color: #fff;
}

.rmvp-btn.rmvp-btn-light, .rmvp-btn.ghost.bsvp-remove-input, .rmvp-btn.ghost.bsvp-remove-output, .rmvp-btn.rmvp-btn-light.rmvp-file-remove, .rmvp-btn.ghost.bsvp-svc-attachment-clear
 {
  margin-top: 10px;
  background: #fff;
  border: 1px solid #b91c1c;
  color: #b91c1c;
  font-weight: 600;
  
}

.rmvp-btn.ghost.bsvp-svc-attachment-clear{
  padding: 4px 9px;
  font-size: 11px;
  border-radius: 7px;
}
/* × row removes: same element also has .rmvp-btn-light — need equal-or-higher specificity than rule above */
.rmvp-btn.rmvp-btn-light.rmvp-btn-remove-ic.rmvp-btn-danger,
.rmvp-btn.rmvp-btn-light.rmvp-btn-remove-ic.rmvp-btn-outline-danger {
  background: transparent;
  color: #dc2626;
  border: 1px solid #dc2626;
}

.rmvp-btn.rmvp-btn-light.rmvp-btn-remove-ic.rmvp-btn-danger:hover,
.rmvp-btn.rmvp-btn-light.rmvp-btn-remove-ic.rmvp-btn-outline-danger:hover {
  background: rgba(254, 242, 242, 0.95);
  color: #b91c1c;
  border-color: #b91c1c;
}

.rmvp-btn.rmvp-btn-ghost {
  margin-top: 10px;
  background: #fff;
  border: 1px solid #b91c1c;
  color: #b91c1c;
  font-weight: 600;
}

.rmvp-btn.rmvp-btn-ghost:hover {
  background: #f1f5f9;
  color: #0f172a;
}

/* Smaller text buttons in product wizard */
.bsvp-product-form .rmvp-btn.btn-sm {
  padding: 5px 10px;
  font-size: 12px;
  border-radius: 8px;
  font-weight: 600;
}

.bsvp-product-form .rmvp-file-current .rmvp-btn.btn-sm {
  padding: 4px 9px;
  font-size: 11px;
  border-radius: 7px;
}

/* Compact icon-style × removes (spare row, consumable row, etc.) */
.bsvp-product-form .rmvp-btn.rmvp-btn-remove-ic {
  padding: 2px 7px;
  font-size: 14px;
  line-height: 1.15;
  min-width: auto;
  font-weight: 700;
}

.rmvp-note {
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: var(--muted);
    color: var(--sub);
    font-size: 13px;
    line-height: 1.45;
}

.rmvp-note.ok {
    border-color: rgba(22, 163, 74, .25);
    background: rgba(22, 163, 74, .06);
    color: #065f46;
}

.rmvp-note.bad {
    border-color: rgba(239, 68, 68, .25);
    background: rgba(239, 68, 68, .06);
    color: #7f1d1d;
}

.rmvp-note.rmvp-info {
    border-color: rgba(14, 165, 233, .25);
    background: rgba(14, 165, 233, .08);
    color: #075985;
}

.bsvp-cat-open {
    background-color: transparent !important;
    border: none;
}

.list-group-item{
    padding: 0px !important;
}
.list-group-item:not(.bsvp-cat-row) button{
    padding: 5px;
    margin: 0px;
}
/* Category picker: row layout + subcategory count pill */
.bsvp-cat-row-inner {
    display: flex;
    align-items: center;
    gap: 10px;
}
.bsvp-cat-row .bsvp-cat-open {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    text-align: left;
    cursor: pointer;
    font: inherit;
    color: inherit;
}
.bsvp-cat-name {
    font-weight: 500;
}
.bsvp-cat-subcount {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
    background: rgba(14, 165, 233, 0.12);
    color: #0369a1;
}
.bsvp-cat-subcount-chevron {
    margin-left: 1px;
    font-weight: 600;
}
.bsvp-cat-add {
    flex-shrink: 0;
    padding: 5px 12px;
    border-radius: 8px;
    border: 1px solid rgba(15, 23, 42, 0.22);
    background: transparent;
    color: #0f172a;
    font-size: 13px;
    cursor: pointer;
}
.bsvp-cat-add--added {
    border-color: rgba(22, 163, 74, 0.45);
    background: rgba(22, 163, 74, 0.08);
    color: #15803d;
}
.list-group-item.bsvp-cat-row.is-selected {
    border-color: #28a745;
    background: #eaf7ee;
}

/* Main column: which root category is open for drill-down (Add still uses .is-selected) */
.list-group-item.bsvp-cat-row.is-clicked:not(.is-selected) {
    border-color: rgba(14, 165, 233, 0.55);
    background: rgba(14, 165, 233, 0.09);
}
.list-group-item.bsvp-cat-row.is-selected.is-clicked {
    box-shadow: inset 3px 0 0 #0ea5e9;
}

/* Step 2 product categories — white panel, dark text */
.bsvp-cat-picker--step2 .bsvp-cat-col .list-group {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--border);
    background: #fff;
}

.bsvp-cat-picker--step2 .bsvp-cat-open {
    color: #0f172a;
}
.bsvp-cat-picker--step2 .bsvp-cat-subcount {
    background: rgba(14, 165, 233, 0.12);
    color: #0369a1;
}
.bsvp-cat-picker--step2 .bsvp-cat-add {
    border-color: rgba(15, 23, 42, 0.25);
    color: #0f172a;
}
.bsvp-cat-picker--step2 .bsvp-cat-add--added {
    border-color: rgba(22, 163, 74, 0.55);
    background: rgba(22, 163, 74, 0.12);
    color: #15803d;
}
.bsvp-cat-picker--step2 .list-group-item.bsvp-cat-row {
    border-color: rgba(15, 23, 42, 0.08);
    background: #fff;
}
.bsvp-cat-picker--step2 .list-group-item.bsvp-cat-row + .list-group-item.bsvp-cat-row {
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}
.bsvp-cat-picker--step2 .list-group-item.bsvp-cat-row.is-selected {
    background: #d1fae5;
    border-color: rgba(22, 163, 74, 0.35);
}
.bsvp-cat-picker--step2 .list-group-item.bsvp-cat-row.is-clicked:not(.is-selected) {
    background: rgba(14, 165, 233, 0.1);
    border-color: rgba(14, 165, 233, 0.45);
}
.bsvp-cat-picker--step2 .list-group-item.bsvp-cat-row.is-selected.is-clicked {
    box-shadow: inset 3px 0 0 #0ea5e9;
}
.bsvp-cat-picker--step2 .list-group-item.bsvp-cat-row.is-selected .bsvp-cat-open {
    color: #065f46;
}
.bsvp-cat-picker--step2 .list-group-item.bsvp-cat-row.is-selected .bsvp-cat-name {
    font-weight: 600;
}
.bsvp-cat-picker--step2 .list-group-item.bsvp-cat-row.is-selected .bsvp-cat-subcount {
    background: rgba(14, 165, 233, 0.22);
    color: #0e7490;
}
.bsvp-cat-picker--step2 .list-group-item.bsvp-cat-row.is-selected .bsvp-cat-add--added {
    border-color: rgba(22, 101, 52, 0.45);
    background: rgba(22, 163, 74, 0.15);
    color: #166534;
}
.bsvp-cat-picker--step2 #bsvp-selected-cats .badge {
    border-radius: 10px;
    padding: 8px 12px;
    font-weight: 500;
    border: 1px solid rgba(22, 163, 74, 0.35);
    background: #d1fae5 !important;
    color: #065f46 !important;
}
.bsvp-cat-picker--step2 #bsvp-selected-cats .badge .bsvp-chip-remove {
    color: #065f46;
}

.rmvp-step.vat-ok {
    border-color: #198754;
    color: #198754;
}

.rmvp-step.vat-bad {
    border-color: #dc3545;
    color: #dc3545;
}

.rmvp-step.vat-warn {
    border-color: #ffc107;
    color: #b58100;
}
.ai-field-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap; /* keeps it responsive */
}

.ai-field-row .rmvp-field {
  flex: 1 1 0;
  margin-bottom: 0; /* remove vertical stacking gap */
}

.ai-field-row .rmvp-field:last-child {
  flex: 0 0 auto; /* remove button does not stretch */
}

.rmvp-disabled {
  opacity: 0.6;
  pointer-events: none;
}

/* Validation error state for required fields */
.rmvp-field.rmvp-error input,
.rmvp-field.rmvp-error select,
.rmvp-field.rmvp-error textarea {
  border-color: #dc3545;
  background: rgba(239, 68, 68, .04);
}
.rmvp-field.rmvp-error label {
  color: #7f1d1d;
}

/* File field: current file + remove button */
.rmvp-file-current {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 6px;
}
.rmvp-file-current .rmvp-file-remove {
  flex-shrink: 0;
}

.rmvp-media-existing-wrap .rmvp-media-existing-label {
  display: block;
  margin-bottom: 4px;
}
.rmvp-media-existing-hint {
  font-size: 12px;
  color: #64748b;
  margin: 0 0 10px;
  line-height: 1.35;
}
.rmvp-media-thumb-strip {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
}
.rmvp-media-pending-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
}
.rmvp-media-pending-item {
  margin: 0;
  flex: 0 0 auto;
}
.rmvp-media-thumb-tile--pending {
  border-style: dashed;
}
.rmvp-media-pending-image-inner,
.rmvp-media-pending-video-inner {
  display: block;
  width: 100%;
  height: 100%;
}
.rmvp-media-pending-video-inner .rmvp-media-thumb-img {
  pointer-events: none;
}
.rmvp-media-existing-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
}
.rmvp-media-existing-item {
  margin: 0;
  flex: 0 0 auto;
}
.rmvp-media-thumb-tile {
  position: relative;
  width: 112px;
  height: 112px;
  border-radius: 10px;
  overflow: hidden;
  background: #f1f5f9;
  border: 1px solid var(--border, #e2e8f0);
  box-sizing: border-box;
}
.rmvp-media-existing-sortable .rmvp-media-existing-item {
  cursor: grab;
}
.rmvp-media-existing-sortable .rmvp-media-existing-item.ui-sortable-helper {
  cursor: grabbing;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18);
  z-index: 100;
}
.rmvp-media-existing-placeholder {
  width: 112px;
  height: 112px;
  border-radius: 10px;
  border: 2px dashed #94a3b8;
  background: rgba(148, 163, 184, 0.12);
  box-sizing: border-box;
  flex: 0 0 auto;
}
.rmvp-media-thumb-tile > .rmvp-btn.rmvp-media-thumb-remove {
  position: absolute;
  top: 5px;
  right: 5px;
  z-index: 3;
  width: 22px;
  height: 22px;
  min-width: 22px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(15, 23, 42, 0.62);
  color: #fff;
  font-size: 15px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-weight: 700;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12);
  transition: background 0.15s ease, color 0.15s ease;
}
.rmvp-media-thumb-tile > .rmvp-btn.rmvp-media-thumb-remove:hover {
  background: rgba(220, 38, 38, 0.92);
  color: #fff;
}
.rmvp-media-thumb-tile > .rmvp-btn.rmvp-media-thumb-remove span {
  position: relative;
  top: -1px;
}
.rmvp-media-thumb-link {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.rmvp-media-thumb-link--video {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px;
  text-align: center;
  box-sizing: border-box;
}
.rmvp-media-thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.rmvp-media-thumb-video-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #475569;
}
.rmvp-media-thumb-video-fallback .dashicons {
  width: 40px;
  height: 40px;
  font-size: 40px;
}
.rmvp-media-thumb-videolabel {
  font-size: 11px;
  line-height: 1.25;
  color: #334155;
  word-break: break-word;
  max-width: 100%;
}
.rmvp-media-thumb-nofile {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 8px;
  font-size: 11px;
  text-align: center;
  color: #64748b;
}

/* shared grid for header + rows */
.bsvp-s7-row-grid{
  display:grid;
  grid-template-columns:
    1fr     /* group */
    1.3fr   /* field */
    0.8fr   /* type */
    0.6fr   /* unit */
    1fr     /* value */
    0.8fr   /* visibility */
    0.9fr   /* source */
    44px;   /* delete button */
  gap:10px;
  align-items:center;
}

/* row card */
.bsvp-s7-spec-row{
  padding:10px;
  background:#f9fafb;
  border-radius:12px;
  margin-bottom:10px;
}

/* header styling */
.bsvp-s7-row-grid--head{
  padding:0 10px;            /* aligns with row padding */
  margin-bottom:8px;
}

.bsvp-s7-h{
  font-size:12px;
  font-weight:700;
  color:#111827;
  opacity:.8;
  text-transform:uppercase;
  letter-spacing:.02em;
}

/* mobile: hide header and stack fields */
@media (max-width: 900px){
  .bsvp-s7-spec-head{ display:none; }
  .bsvp-s7-row-grid{
    grid-template-columns: 1fr 1fr;
  }
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
    border-radius: 12px !important;
    border: 1px solid rgba(14, 165, 233, 0.65) !important;
    box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.14);
}

.tabpane .bsvp-bank-row.rmvp-form{
    border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
  overflow: hidden;
  padding: 16px 16px 10px;
}

[data-tab="bank"] .card,
[data-tab="service"] .card{
    padding: 16px 16px 10px;
}

/* vednor list table */

.bsvp-admin-shell {
    --bsvp-bg: #f8fafc;
    --bsvp-card-bg: #ffffff;
    --bsvp-border: #e2e8f0;
    --bsvp-text: #0f172a;
    --bsvp-sub: #64748b;
    --bsvp-pill-bg: #0f172a;
    --bsvp-pill-text: #ffffff;
    --bsvp-radius: 14px;
  }
  .bsvp-admin-shell {
    margin-top: 12px;
  }
  .bsvp-admin-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
  }
  .bsvp-admin-title {
    font-size:18px;
    font-weight:700;
    margin:0;
    color:var(--bsvp-text);
  }
  .bsvp-admin-sub {
    margin:4px 0 0;
    font-size:12px;
    color:var(--bsvp-sub);
  }
  .bsvp-admin-pill {
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 10px;
    border-radius:999px;
    background:var(--bsvp-pill-bg);
    color:var(--bsvp-pill-text);
    font-size:11px;
    font-weight:600;
  }
  .bsvp-admin-card {
    background:var(--bsvp-card-bg);
    border:1px solid var(--bsvp-border);
    border-radius:var(--bsvp-radius);
    padding:14px 16px;
    box-shadow:0 1px 2px rgba(15,23,42,.06);
    margin-bottom:14px;
  }
  .bsvp-admin-card h2 {
    font-size:14px;
    margin:0 0 6px;
  }
  .bsvp-admin-card p.description {
    margin:0 0 10px;
    font-size:12px;
    color:var(--bsvp-sub);
  }
  #bsvp-vendors-table {
    margin-top: 6px;
  }
  #bsvp-vendors-table th,
  #bsvp-vendors-table td {
    font-size:12px;
  }
  .bsvp-status-badge {
    display:inline-flex;
    align-items:center;
    padding:3px 8px;
    border-radius:999px;
    font-size:11px;
    font-weight:600;
    border:1px solid var(--bsvp-border);
    background:#f1f5f9;
    color:#475569;
  }
  .bsvp-status-badge--draft { background:#f8fafc; }
  .bsvp-status-badge--submited { background:#fffbeb; color:#92400e; border-color:#fed7aa; }
  .bsvp-status-badge--approved { background:#ecfdf5; color:#166534; border-color:#bbf7d0; }

/* First variable batch: shared steps 1–3 + 8 (service) + 10 until Marketing save unlocks the rest */
.bsvp-product-form.bsvp-group-shared-setup .rmvp-step[data-product-step="4"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-step[data-product-step="5"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-step[data-product-step="6"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-step[data-product-step="7"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-step[data-product-step="9"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-step[data-product-step="11"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-step[data-product-step="12"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-step[data-product-step="75"],
.bsvp-product-stepper-card.bsvp-group-shared-setup .rmvp-step[data-product-step="4"],
.bsvp-product-stepper-card.bsvp-group-shared-setup .rmvp-step[data-product-step="5"],
.bsvp-product-stepper-card.bsvp-group-shared-setup .rmvp-step[data-product-step="6"],
.bsvp-product-stepper-card.bsvp-group-shared-setup .rmvp-step[data-product-step="7"],
.bsvp-product-stepper-card.bsvp-group-shared-setup .rmvp-step[data-product-step="9"],
.bsvp-product-stepper-card.bsvp-group-shared-setup .rmvp-step[data-product-step="11"],
.bsvp-product-stepper-card.bsvp-group-shared-setup .rmvp-step[data-product-step="12"],
.bsvp-product-stepper-card.bsvp-group-shared-setup .rmvp-step[data-product-step="75"] {
  display: none !important;
}

.bsvp-product-form.bsvp-group-shared-setup .rmvp-section[data-product-step="4"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-section[data-product-step="5"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-section[data-product-step="6"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-section[data-product-step="7"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-section[data-product-step="9"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-section[data-product-step="11"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-section[data-product-step="12"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-section[data-product-step="7898"] {
  display: none !important;
}

/* Variable product attribute builder (WooCommerce-style) */
.bsvp-variable-attributes-list .bsvp-variable-attribute-row {
  margin-bottom: 4px;
}
.bsvp-variant-modal-root .bsvp-variant-modal-card {
  max-width: 640px;
}

/* Prominent variable header (above stepper, all steps) — matches vendor dashboard */
.bsvp-product-form > .bsvp-variation-context-banner.bsvp-variation-version-banner {
  margin: 0 0 16px;
  padding: 0;
  border-radius: 12px;
  border: 2px solid var(--blue, #0ea5e9);
  background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
  box-shadow: 0 4px 14px rgba(14, 165, 233, 0.15);
}
.bsvp-variation-version-banner__inner {
  padding: 16px 20px 18px;
}
.bsvp-variation-version-banner__eyebrow {
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #0369a1;
  margin-bottom: 8px;
}
.bsvp-variation-version-banner__value {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.25;
  color: #0c4a6e;
  word-break: break-word;
}
@media (min-width: 768px) {
  .bsvp-variation-version-banner__value {
    font-size: 1.625rem;
  }
}

.bsvp-variation-context-banner__hint {
  margin-top: 10px;
  margin-bottom: 0;
  font-size: 13px;
  color: #475569;
}

/* Stepper card directly under variation banner */
.bsvp-product-form > .bsvp-product-stepper-card.rmvp-card {
  margin-top: 0;
}
.bsvp-product-form > .bsvp-product-main-grid.rmvp-product-grid {
  margin-top: 18px !important;
}

/* Portal buttons — avoid WP/Woo `.button` / `button.button` so theme checkout styles don’t apply */
button.bsvp-btn,
a.bsvp-btn {
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
  font-family: inherit;
  line-height: 1.2;
  cursor: pointer;
  box-sizing: border-box;
  text-decoration: none;
  vertical-align: middle;
}
a.bsvp-btn {
  display: inline-flex !important;
}
button.bsvp-btn {
  border-style: solid;
  border-width: 1px;
}
.bsvp-btn--sm {
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 4px;
  min-height: 28px;
}

/* Vendor dashboard product list: Edit / Start actions (matches admin vendor products) */
/* Product list: variant added by attribute expansion */
.bsvp-badge-new-variant {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 6px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #92400e;
  background: #fef3c7;
  border: 1px solid #fcd34d;
  border-radius: 4px;
  vertical-align: middle;
}
.bsvp-expand-banner {
  border-left: 4px solid #0ea5e9;
}

.bsvp-products-actions {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  align-items: center;
  max-width: 100%;
  overflow-x: auto;
}
.bsvp-products-actions form {
  margin: 0;
}
/* Frontend themes often lack WP core .screen-reader-text — hide the Actions label visually */
.bsvp-products-actions .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}
/* Same as admin.css: admins on /vendor still get the Zoho helper form in markup — hide it off-screen */
.bsvp-push-to-zoho-form--inline {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  opacity: 0;
}
.bsvp-product-actions-select {
  min-width: 11em;
  max-width: 100%;
  font-size: 12px;
  line-height: 1.35;
  padding: 4px 8px;
  min-height: 30px;
  border-radius: 4px;
}
/* Shared layout; colors scoped so Start (green) is not overridden by a.bsvp-btn… */
a.bsvp-btn.bsvp-product-action-link,
.bsvp-product-action-link {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  background: transparent !important;
  line-height: 1.2;
}
/* Edit — blue (unchanged) */
a.bsvp-btn.bsvp-product-action-link--edit,
.bsvp-product-action-link--edit {
  border: 1px solid #0ea5e9 !important;
  color: #0ea5e9 !important;
}
a.bsvp-btn.bsvp-product-action-link--edit:hover,
a.bsvp-btn.bsvp-product-action-link--edit:focus,
.bsvp-product-action-link--edit:hover,
.bsvp-product-action-link--edit:focus {
  background: rgba(14, 165, 233, 0.08) !important;
  border-color: #0284c7 !important;
  color: #0284c7 !important;
}
/* Start — green */
a.bsvp-btn.bsvp-product-action-link--start,
.bsvp-product-action-link--start {
  border: 1px solid #16a34a !important;
  color: #15803d !important;
}
a.bsvp-btn.bsvp-product-action-link--start:hover,
a.bsvp-btn.bsvp-product-action-link--start:focus,
.bsvp-product-action-link--start:hover,
.bsvp-product-action-link--start:focus {
  background: rgba(22, 163, 74, 0.1) !important;
  border-color: #15803d !important;
  color: #166534 !important;
}
.bsvp-product-action-icon {
  width: 16px;
  height: 16px;
  font-size: 16px;
  line-height: 1;
  flex-shrink: 0;
}
.bsvp-product-action-text {
  white-space: nowrap;
}
.bsvp-product-action-icon--danger {
  color: inherit !important;
}
.bsvp-push-to-zoho-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  background: transparent !important;
  border: 1px solid #0ea5e9 !important;
  color: #0ea5e9 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
.bsvp-push-to-zoho-btn:hover,
.bsvp-push-to-zoho-btn:focus {
  background: rgba(14, 165, 233, 0.08) !important;
  border-color: #0284c7 !important;
  color: #0284c7 !important;
  box-shadow: none !important;
}
/* Group header: title + actions on one row */
.bsvp-group-header-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
  width: 100%;
}
.bsvp-group-header-main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.bsvp-group-header-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.bsvp-group-header-main .bsvp-group-count {
  margin-left: 0;
}
.bsvp-group-header-actions .bsvp-delete-group-btn,
.bsvp-group-header-actions .bsvp-add-variation-btn,
.bsvp-group-header-actions .bsvp-edit-group-btn {
  margin-left: 0 !important;
}
.bsvp-group-header .bsvp-delete-group-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  padding: 2px 8px !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  border-radius: 6px;
  background: transparent !important;
  border: 1px solid #fecaca !important;
  color: #b91c1c !important;
  box-shadow: none !important;
  text-shadow: none !important;
  height: auto !important;
  min-height: 0 !important;
}
.bsvp-group-header .bsvp-delete-group-btn:hover,
.bsvp-group-header .bsvp-delete-group-btn:focus {
  background: rgba(185, 28, 28, 0.06) !important;
  border-color: #f87171 !important;
  color: #991b1b !important;
  box-shadow: none !important;
}
.bsvp-group-header .bsvp-delete-group-btn .dashicons {
  color: inherit !important;
}

/* Group header: compact “Add variation” — same outline style as Edit */
.bsvp-group-header td {
  vertical-align: middle;
}
.bsvp-group-header .bsvp-add-variation-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  margin-left: 0 !important;
  padding: 2px 8px !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  border-radius: 6px;
  background: transparent !important;
  border: 1px solid #0ea5e9 !important;
  color: #0ea5e9 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  height: auto !important;
  min-height: 0 !important;
}
.bsvp-group-header .bsvp-add-variation-btn:hover,
.bsvp-group-header .bsvp-add-variation-btn:focus {
  background: rgba(14, 165, 233, 0.08) !important;
  border-color: #0284c7 !important;
  color: #0284c7 !important;
  box-shadow: none !important;
}

/* Group header: Edit group name — same outline/size as Add variation */
.bsvp-group-header .bsvp-edit-group-btn,
.bsvp-group-header .bsvp-edit-group-btn--inline {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-left: 0 !important;
  padding: 2px 8px !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  border-radius: 6px;
  background: transparent !important;
  border: 1px solid #0ea5e9 !important;
  color: #0ea5e9 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  height: auto !important;
  min-height: 0 !important;
}
.bsvp-group-header .bsvp-edit-group-btn:hover,
.bsvp-group-header .bsvp-edit-group-btn:focus,
.bsvp-group-header .bsvp-edit-group-btn--inline:hover,
.bsvp-group-header .bsvp-edit-group-btn--inline:focus {
  background: rgba(14, 165, 233, 0.08) !important;
  border-color: #0284c7 !important;
  color: #0284c7 !important;
  box-shadow: none !important;
}
.bsvp-group-header .bsvp-edit-group-btn .dashicons,
.bsvp-group-header .bsvp-edit-group-btn--inline .dashicons {
  color: inherit !important;
  font-size: 14px !important;
  width: 14px !important;
  height: 14px !important;
}

/* —— Add variation modal (vendor dashboard) —— */
.bsvp-add-variation-modal {
  position: fixed;
  inset: 0;
  z-index: 100050;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
}
.bsvp-add-variation-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
}
.bsvp-add-variation-modal__card {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 520px;
  max-height: calc(100vh - 32px);
  overflow: auto;
  background: #fff;
  border-radius: 16px;
  padding: 22px 20px 18px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.28);
}
.bsvp-add-variation-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid var(--border, #e2e8f0);
  background: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  color: #0f172a;
}
.bsvp-av-title {
  margin: 0 0 8px;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--text, #0f172a);
  padding-right: 40px;
}
.bsvp-av-sub {
  margin: 0 0 16px;
  font-size: 13px;
  color: var(--sub, #475569);
  line-height: 1.45;
}
.bsvp-av-muted {
  margin: 0;
  color: #64748b;
  font-size: 14px;
}
.bsvp-av-scenarios {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 16px;
}
.bsvp-av-scenario {
  text-align: left;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 12px;
  padding: 12px 14px;
  background: #fafafa;
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.bsvp-av-scenario:hover {
  border-color: var(--cta-blue, #0ea5e9);
  box-shadow: 0 2px 10px rgba(14, 165, 233, 0.12);
}
.bsvp-av-scenario--a { border-left: 4px solid #16a34a; }
.bsvp-av-scenario--b { border-left: 4px solid #ea580c; }
.bsvp-av-scenario__badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  color: #64748b;
  margin-right: 8px;
}
.bsvp-av-scenario strong {
  display: block;
  font-size: 14px;
  color: #0f172a;
  margin-bottom: 4px;
}
.bsvp-av-scenario__ex {
  display: block;
  font-size: 12px;
  color: #64748b;
  line-height: 1.35;
}
.bsvp-av-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 16px;
}
.bsvp-av-error {
  color: var(--bad, #ef4444);
  font-size: 13px;
  margin: 8px 0 0;
}
.bsvp-av-hint {
  font-size: 13px;
  color: #0369a1;
  margin: 8px 0 0;
}
.bsvp-av-warn {
  background: #fffbeb;
  border: 1px solid #fde68a;
  color: #92400e;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 13px;
  margin-bottom: 12px;
  line-height: 1.45;
}
.bsvp-av-review-table-wrap {
  max-height: 240px;
  overflow: auto;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 10px;
}
.bsvp-av-review-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.bsvp-av-review-table th,
.bsvp-av-review-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #f1f5f9;
  text-align: left;
}
.bsvp-av-review-table th {
  background: #f8fafc;
  font-weight: 700;
  font-size: 12px;
  color: #475569;
}
.bsvp-av-review-table tr:last-child td {
  border-bottom: none;
}

/* --------------------------------------------------------------------------
   Registration Step 5 — Service builder (matches rmvp / vendor portal tokens)
   -------------------------------------------------------------------------- */


.bsvp-service-builder .rmvp-desc.bsvp-service-intro {
  margin-top: 0;
  margin-bottom: 12px;
}

.bsvp-support-model {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.bsvp-support-model__opt {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 650;
  color: var(--sub);
  user-select: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.bsvp-support-model__opt input {
  margin: 0;
  accent-color: var(--cta-blue);
}

.bsvp-support-model__opt:hover {
  border-color: rgba(14, 165, 233, 0.35);
}

.bsvp-support-model__opt.active {
  border-color: rgba(14, 165, 233, 0.45);
  box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.12);
  color: var(--text);
}

.bsvp-country-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  flex-wrap: wrap;
  gap: 8px;
}

.bsvp-country-toolbar strong {
  font-size: 14px;
  font-weight: 800;
  color: var(--text);
}

#countryList,
#globalProfileList {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

#globalSection strong {
  display: block;
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 8px;
  color: var(--text);
}

.bsvp-service-summary {
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--muted);
}

/* Service SLA snapshot lives in onboarding aside on registration step 5 */
.rmvp-card.muted .bsvp-onboarding-service-summary .bsvp-service-summary--aside {
  margin-top: 0;
  background: #fff;
}

.bsvp-onboarding-service-summary .bsvp-service-summary__stats {
  font-size: 12px;
  gap: 8px 10px;
  line-height: 1.4;
}

.bsvp-service-summary__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  font-size: 13px;
  color: var(--sub);
}

.bsvp-service-summary__stats strong {
  color: var(--text);
  font-weight: 800;
}

.bsvp-service-summary__bar {
  margin-top: 10px;
  height: 8px;
  background: #e2e8f0;
  border-radius: 999px;
  overflow: hidden;
}

.bsvp-service-summary__bar-fill {
  height: 100%;
  width: 0%;
  background: var(--cta-blue);
  transition: width 0.2s ease;
}

.bsvp-service-summary__issues {
  margin: 10px 0 0;
  padding-left: 18px;
  font-size: 12px;
  color: var(--sub);
  line-height: 1.45;
}

#riskBadge.risk {
  display: inline-block;
  margin-top: 10px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

#riskBadge.risk.low {
  border: 1px solid rgba(22, 163, 74, 0.28);
  background: rgba(22, 163, 74, 0.08);
  color: #065f46;
}

#riskBadge.risk.medium {
  border: 1px solid rgba(245, 158, 11, 0.35);
  background: rgba(245, 158, 11, 0.1);
  color: #7c2d12;
}

#riskBadge.risk.high {
  border: 1px solid rgba(239, 68, 68, 0.28);
  background: rgba(239, 68, 68, 0.08);
  color: #7f1d1d;
}

/* Country cards (template clone) — overflow visible so Select2 choice pills aren’t clipped */
.bsvp-service-builder .country-card {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
  overflow: visible;
}

.bsvp-service-builder .country-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
  background: linear-gradient(180deg, #fafbfc 0%, #fff 100%);
}

.bsvp-service-builder .country-head-left {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  flex: 1;
  min-width: 0;
}

.bsvp-service-builder .flag {
  font-size: 22px;
  line-height: 1;
  flex-shrink: 0;
}

/* Multi-select / multi-region: map icon instead of stacking country flags */
.bsvp-service-builder .flag.flag--multi {
  font-size: 24px;
  line-height: 1;
}

.bsvp-service-builder .country-name {
  font-size: 15px;
  font-weight: 800;
  color: var(--text);
  letter-spacing: -0.02em;
}

.bsvp-service-builder .profile-subtitle {
  font-size: 12px;
  color: var(--sub);
  margin-top: 2px;
}

.bsvp-service-builder .status {
  flex-shrink: 0;
  align-self: center;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.bsvp-service-builder .status.complete {
  border: 1px solid rgba(22, 163, 74, 0.28);
  background: rgba(22, 163, 74, 0.08);
  color: #065f46;
}

.bsvp-service-builder .status.partial {
  border: 1px solid rgba(245, 158, 11, 0.35);
  background: rgba(245, 158, 11, 0.1);
  color: #7c2d12;
}

.bsvp-service-builder .status.missing {
  border: 1px solid rgba(239, 68, 68, 0.25);
  background: rgba(239, 68, 68, 0.06);
  color: #7f1d1d;
}

.bsvp-service-builder .country-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.bsvp-service-builder .country-actions .btn {
  border: none;
  border-radius: 12px;
  padding: 8px 12px;
  font-weight: 800;
  font-size: 13px;
  cursor: pointer;
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text);
}

.bsvp-service-builder .country-actions .btn:hover {
  border-color: rgba(14, 165, 233, 0.35);
}

.bsvp-service-builder .country-actions .duplicate-btn {
  border-color: rgba(14, 165, 233, 0.35);
  color: #075985;
  background: rgba(14, 165, 233, 0.08);
}

.bsvp-service-builder .country-body {
  padding: 14px 16px 16px;
}

.bsvp-service-builder .tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
  padding-bottom: 2px;
  border-bottom: 1px solid var(--border);
}

.bsvp-service-builder .tab {
  border: 1px solid var(--border);
  background: #fff;
  color: var(--text);
  border-radius: 999px;
  padding: 9px 13px;
  font-size: 13px;
  cursor: pointer;
  margin-bottom: 14px;
}

.bsvp-service-builder .tab:hover {
  background: var(--muted);
  color: var(--text);
}

.bsvp-service-builder .tab.active {
  border-color: rgba(14, 165, 233, 0.35);
  background: rgba(14, 165, 233, 0.08);
  color: #075985;
  box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.1);
}

.bsvp-service-builder .tab-panel {
  display: none;
}

.bsvp-service-builder .tab-panel.active {
  display: block;
}

.bsvp-service-builder .form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 14px;
}

@media (max-width: 640px) {
  .bsvp-service-builder .form-grid {
    grid-template-columns: 1fr;
  }
}

.bsvp-service-builder .form-grid .field.full {
  grid-column: 1 / -1;
}

.field.full {
  grid-column: 1 / -1;
}

.bsvp-service-builder .form-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap:16px;
  margin-top: 16px;
  margin-bottom: 16px;
}

@media (max-width: 900px) {
  .bsvp-service-builder .form-grid-3 {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .bsvp-service-builder .form-grid-3 {
    grid-template-columns: 1fr;
  }
}

/* Country multiselect: same as product-service.php onsite country (render_country_select + Select2 multiple) */
.bsvp-service-builder .country-only-field .rmvp-field {
  width: 100%;
}

.bsvp-service-builder .country-only-field .select2-container {
  width: 100% !important;
}

.bsvp-service-builder .field label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: var(--text);
  margin: 0 0 6px;
}

.bsvp-service-builder .field input[type="text"],
.bsvp-service-builder .field input[type="email"],
.bsvp-service-builder .field input[type="number"],
.bsvp-service-builder .field select,
.bsvp-service-builder .field textarea {
  width: 100%;
  padding: 12px 12px;
  border: 1px solid #d7dbe6;
  border-radius: 12px;
  background: #fff;
  outline: none;
  font: inherit;
  font-size: 14px;
  color: var(--text);
}

.bsvp-service-builder .field textarea {
  min-height: 96px;
  resize: vertical;
}

.bsvp-service-builder .field input:focus,
.bsvp-service-builder .field select:focus,
.bsvp-service-builder .field textarea:focus {
  border-color: rgba(14, 165, 233, 0.65);
  box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.14);
}

.bsvp-service-builder .inline-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.bsvp-service-builder .inline-options label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-weight: 600;
  font-size: 13px;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
}

.bsvp-service-builder .inline-options input {
  margin-top: 3px;
}

.bsvp-service-builder .checkboxes {
  display: flex;
  flex-wrap: wrap;
    gap: 14px;
    min-height: 44px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #fff;
  }


.bsvp-service-builder .checkboxes label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  margin: 0;
  cursor: pointer;
}

.bsvp-service-builder .group-title {
  font-size: 13px;
  font-weight: 800;
  color: var(--text);
  margin: 12px 0 8px;
}

.bsvp-service-builder .conditional {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed var(--border);
}

/* Multi-select dropdown */
.bsvp-service-builder .multi-select {
  position: relative;
  width: 100%;
}

.bsvp-service-builder .multi-select-trigger {
  width: 100%;
  text-align: left;
  padding: 12px 12px;
  border: 1px solid #d7dbe6;
  border-radius: 12px;
  background: #fff;
  font: inherit;
  font-size: 14px;
  cursor: pointer;
  color: var(--text);
}

.bsvp-service-builder .multi-select-trigger:hover {
  border-color: rgba(14, 165, 233, 0.45);
}

.bsvp-service-builder .multi-select-menu {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  z-index: 20;
  margin-top: 6px;
  padding: 8px;
  max-height: 220px;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--shadow);
}

.bsvp-service-builder .multi-select.open .multi-select-menu {
  display: block;
}

.bsvp-service-builder .multi-select-options label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  margin: 0;
  cursor: pointer;
}

.bsvp-service-builder .multi-select-options label:hover {
  background: var(--muted);
}

/* Service profile builder: attachment uploads (assembly, exploded view) */
.bsvp-service-builder .bsvp-svc-attachment-field .bsvp-svc-attachment-current {
  margin-top: 6px;
  font-size: 13px;
  color: var(--sub);
  word-break: break-all;
}
.bsvp-service-builder .bsvp-svc-attachment-field .bsvp-svc-attachment-file {
  margin-top: 6px;
}
.bsvp-service-builder .bsvp-svc-attachment-field .bsvp-svc-attachment-remove {
  margin-top: 6px;
}

/* --------------------------------------------------------------------------
   Auth card (login/register) — styled to match OptiB2B login card
   -------------------------------------------------------------------------- */
.bsvp-auth-shell.is-register-only,
.bsvp-auth-shell.is-login-only {
  min-height: 78vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bsvp-auth-shell.is-register-only #customer_login,
.bsvp-auth-shell.is-login-only #customer_login {
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
}

.bsvp-auth-shell.is-register-only .bsvp-auth-card-wrap,
.bsvp-auth-shell.is-login-only .bsvp-auth-card-wrap {
  width: 100%;
}

.bsvp-auth-shell.is-register-only .bsvp-auth-card,
.bsvp-auth-shell.is-login-only .bsvp-auth-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.12);
  padding: 28px;
  border: 1px solid #e5e7eb;
}

.bsvp-auth-logo-wrap {
  text-align: center;
  margin-bottom: 10px;
}

.bsvp-auth-logo {
  width: 130px;
  height: auto;
  display: inline-block;
}

.bsvp-auth-title {
  margin: 6px 0 16px;
  text-align: center;
  color: #111827;
  font-size: 38px;
  line-height: 1.1;
  font-weight: 400;
}

.bsvp-auth-form .form-row {
  margin: 0 0 10px;
}

.bsvp-auth-form .form-row label {
  margin-bottom: 6px;
  display: block;
}

.bsvp-auth-form .input-text {
  width: 100%;
  border-radius: 8px !important;
  border: 1px solid #cfd3da !important;
  padding: 12px 14px !important;
  box-sizing: border-box;
}

.bsvp-auth-form button.bsvp-btn {
  width: 100%;
  border-radius: 8px;
  min-height: 46px;
  border: none;
  background: #2b6cb0;
  color: #fff;
  font-weight: 700;
}

.bsvp-auth-form button.bsvp-btn:hover,
.bsvp-auth-form button.bsvp-btn:focus {
  background: #1e4f8a;
}

.bsvp-auth-shell .bsvp-auth-switch {
  text-align: center;
  margin-top: 14px;
}

.bsvp-auth-shell .bsvp-auth-switch-link {
  margin-left: 4px;
}

/* Vendor registration step 1 (?bsvp_register=1): hide theme primary navigation */
body.bsvp-register-view #site-navigation,
body.bsvp-register-view .main-navigation,
body.bsvp-register-view .optib2b-main-nav {
  display: none !important;
}