/* BB_DESIGN_2026 | Sneat V2 — Voucher create modal (receipt / payment) */

body.bb-theme-v2 .bb-sn-voucher-create-modal__dialog {
  width: min(920px, calc(100vw - 2rem));
  max-width: 920px;
}

body.bb-theme-v2 .view_modal .bb-sn-voucher-create-modal .bb-sn-modal__content {
  border-radius: var(--bb-v2-radius-lg, 0.75rem);
  border: 1px solid var(--bb-v2-border, #e7e7ef);
  overflow: hidden;
}

body.bb-theme-v2 .view_modal .bb-sn-voucher-create-modal .bb-sn-modal__header,
body.bb-theme-v2 .view_modal .bb-sn-pay-due-modal.bb-sn-voucher-create-modal--payment .bb-sn-modal__header,
body.bb-theme-v2 .view_modal .bb-sn-pay-due-modal.bb-sn-voucher-create-modal--receipt .bb-sn-modal__header,
body.bb-theme-v2 .pay_contact_due_modal .bb-sn-pay-due-modal.bb-sn-voucher-create-modal--payment .bb-sn-modal__header,
body.bb-theme-v2 .pay_contact_due_modal .bb-sn-pay-due-modal.bb-sn-voucher-create-modal--receipt .bb-sn-modal__header {
  border: none;
  color: #fff;
}

body.bb-theme-v2 .view_modal .bb-sn-voucher-create-modal--receipt .bb-sn-modal__header,
body.bb-theme-v2 .view_modal .bb-sn-pay-due-modal.bb-sn-voucher-create-modal--receipt .bb-sn-modal__header,
body.bb-theme-v2 .pay_contact_due_modal .bb-sn-pay-due-modal.bb-sn-voucher-create-modal--receipt .bb-sn-modal__header {
  background: linear-gradient(135deg, #71dd37 0%, #56ab2f 100%);
}

body.bb-theme-v2 .view_modal .bb-sn-voucher-create-modal--payment .bb-sn-modal__header,
body.bb-theme-v2 .view_modal .bb-sn-pay-due-modal.bb-sn-voucher-create-modal--payment .bb-sn-modal__header,
body.bb-theme-v2 .pay_contact_due_modal .bb-sn-pay-due-modal.bb-sn-voucher-create-modal--payment .bb-sn-modal__header {
  background: linear-gradient(135deg, #696cff 0%, #5a5fd4 100%);
}

body.bb-theme-v2 .view_modal .bb-sn-voucher-create-modal .bb-sn-modal__title,
body.bb-theme-v2 .view_modal .bb-sn-voucher-create-modal .bb-sn-modal__subtitle,
body.bb-theme-v2 .view_modal .bb-sn-pay-due-modal.bb-sn-voucher-create-modal--payment .bb-sn-modal__title,
body.bb-theme-v2 .view_modal .bb-sn-pay-due-modal.bb-sn-voucher-create-modal--receipt .bb-sn-modal__title,
body.bb-theme-v2 .view_modal .bb-sn-pay-due-modal.bb-sn-voucher-create-modal--payment .bb-sn-modal__subtitle,
body.bb-theme-v2 .view_modal .bb-sn-pay-due-modal.bb-sn-voucher-create-modal--receipt .bb-sn-modal__subtitle,
body.bb-theme-v2 .pay_contact_due_modal .bb-sn-pay-due-modal .bb-sn-modal__title,
body.bb-theme-v2 .pay_contact_due_modal .bb-sn-pay-due-modal .bb-sn-modal__subtitle {
  color: #fff;
}

body.bb-theme-v2 .view_modal .bb-sn-voucher-create-modal .bb-sn-modal__subtitle {
  opacity: 0.92;
}

body.bb-theme-v2 .view_modal .bb-sn-voucher-create-modal .bb-sn-modal__close,
body.bb-theme-v2 .pay_contact_due_modal .bb-sn-pay-due-modal .bb-sn-modal__close {
  color: #fff;
  opacity: 0.92;
  text-shadow: none;
}

body.bb-theme-v2 .bb-sn-pay-due .bb-sn-voucher-create__fields-grid {
  margin-top: 0.5rem;
}

body.bb-theme-v2 .bb-sn-pay-due__method-details.bb-sn-voucher-create__type-details {
  margin-top: 0.85rem;
}

body.bb-theme-v2 .bb-sn-voucher-create-modal__body {
  max-height: min(72vh, 640px);
  overflow-y: auto;
  padding: 1rem 1.15rem;
  background: var(--bb-v2-surface-2, #f5f5f9);
}

body.bb-theme-v2 .bb-sn-voucher-create__fields-grid {
  display: grid;
  gap: 0.85rem 1rem;
  align-items: start;
}

body.bb-theme-v2 .bb-sn-voucher-create__fields-grid--modal {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.bb-theme-v2 .bb-sn-voucher-create__fields-grid--extras {
  margin-top: 0.85rem;
}

body.bb-theme-v2 .bb-sn-voucher-create__fields-grid .bb-sn-field--full {
  grid-column: 1 / -1;
}

/* ——— Control wrap (visible box for selects / inputs) ——— */
body.bb-theme-v2 .pay_contact_due_modal .bb-sn-voucher-create .bb-acc-control-wrap,
body.bb-theme-v2 .view_modal .bb-sn-voucher-create .bb-acc-control-wrap,
body.bb-theme-v2 .bb-sn-voucher-create__type-details .bb-acc-control-wrap,
body.bb-theme-v2 .bb-sn-pay-due__method-details .bb-acc-control-wrap,
body.bb-theme-v2 .bb-sn-payment-edit__type-details .bb-acc-control-wrap {
  display: block;
  width: 100%;
  min-height: 2.5rem;
  border: 1px solid var(--bb-v2-border, #e7e7ef);
  border-radius: var(--bb-v2-radius, 0.375rem);
  background: #fff;
  box-sizing: border-box;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.bb-theme-v2 .pay_contact_due_modal .bb-sn-voucher-create .bb-acc-control-wrap:focus-within,
body.bb-theme-v2 .view_modal .bb-sn-voucher-create .bb-acc-control-wrap:focus-within,
body.bb-theme-v2 .bb-sn-voucher-create__type-details .bb-acc-control-wrap:focus-within,
body.bb-theme-v2 .bb-sn-pay-due__method-details .bb-acc-control-wrap:focus-within,
body.bb-theme-v2 .bb-sn-payment-edit__type-details .bb-acc-control-wrap:focus-within {
  border-color: var(--bb-v2-primary, #696cff);
  box-shadow: 0 0 0 0.2rem rgba(105, 108, 255, 0.16);
}

body.bb-theme-v2 .pay_contact_due_modal .bb-sn-voucher-create .bb-acc-control-wrap .form-control,
body.bb-theme-v2 .view_modal .bb-sn-voucher-create .bb-acc-control-wrap .form-control,
body.bb-theme-v2 .pay_contact_due_modal .bb-sn-voucher-create .bb-acc-control-wrap select.form-control,
body.bb-theme-v2 .view_modal .bb-sn-voucher-create .bb-acc-control-wrap select.form-control {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  min-height: 2.45rem;
  width: 100% !important;
}

body.bb-theme-v2 .pay_contact_due_modal .bb-sn-voucher-create .bb-acc-control-wrap .select2-container,
body.bb-theme-v2 .view_modal .bb-sn-voucher-create .bb-acc-control-wrap .select2-container,
body.bb-theme-v2 .bb-sn-voucher-create__type-details .bb-acc-control-wrap .select2-container,
body.bb-theme-v2 .bb-sn-pay-due__method-details .bb-acc-control-wrap .select2-container,
body.bb-theme-v2 .bb-sn-payment-edit__type-details .bb-acc-control-wrap .select2-container {
  display: block !important;
  width: 100% !important;
  max-width: 100%;
}

body.bb-theme-v2 .pay_contact_due_modal .bb-sn-voucher-create .bb-acc-control-wrap .select2-container--default .select2-selection--single,
body.bb-theme-v2 .view_modal .bb-sn-voucher-create .bb-acc-control-wrap .select2-container--default .select2-selection--single,
body.bb-theme-v2 .bb-sn-voucher-create__type-details .bb-acc-control-wrap .select2-container--default .select2-selection--single,
body.bb-theme-v2 .bb-sn-pay-due__method-details .bb-acc-control-wrap .select2-container--default .select2-selection--single,
body.bb-theme-v2 .bb-sn-payment-edit__type-details .bb-acc-control-wrap .select2-container--default .select2-selection--single {
  border: none !important;
  min-height: 2.45rem !important;
  height: auto !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.bb-theme-v2 .pay_contact_due_modal .bb-sn-voucher-create .bb-acc-control-wrap .select2-container--default .select2-selection--single .select2-selection__rendered,
body.bb-theme-v2 .view_modal .bb-sn-voucher-create .bb-acc-control-wrap .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 2.35rem !important;
  padding-inline: 0.65rem !important;
  color: var(--bb-v2-text-strong, #32475c) !important;
}

body.bb-theme-v2 .pay_contact_due_modal .bb-sn-voucher-create .bb-acc-control-wrap .select2-selection__arrow,
body.bb-theme-v2 .view_modal .bb-sn-voucher-create .bb-acc-control-wrap .select2-selection__arrow {
  height: 2.35rem !important;
  top: 0 !important;
}

body.bb-theme-v2 .pay_contact_due_modal .bb-sn-voucher-create select.select2.bb-sn-control:not(.select2-hidden-accessible),
body.bb-theme-v2 .view_modal .bb-sn-voucher-create select.select2.bb-sn-control:not(.select2-hidden-accessible) {
  width: 100% !important;
  min-height: 2.45rem;
  border: 1px solid var(--bb-v2-border, #e7e7ef) !important;
  border-radius: var(--bb-v2-radius, 0.375rem) !important;
  background: #fff !important;
}

body.bb-theme-v2 .pay_contact_due_modal .bb-sn-voucher-create .bb-acc-field,
body.bb-theme-v2 .view_modal .bb-sn-voucher-create .bb-acc-field {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
}

body.bb-theme-v2 .pay_contact_due_modal .bb-sn-voucher-create .bb-acc-label,
body.bb-theme-v2 .pay_contact_due_modal .bb-sn-voucher-create .bb-sn-label,
body.bb-theme-v2 .view_modal .bb-sn-voucher-create .bb-acc-label {
  display: block;
  margin: 0 0 0.4rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bb-v2-text-strong, #32475c);
}

body.bb-theme-v2 .bb-sn-field-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.5rem;
  background: #f5f5f9;
  color: var(--bb-v2-muted, #697a8d);
  border-inline-end: 1px solid var(--bb-v2-border, #e7e7ef);
  font-size: 1.1rem;
}

body.bb-theme-v2 .pay_contact_due_modal .bb-sn-voucher-create .bb-acc-control-wrap--icon,
body.bb-theme-v2 .view_modal .bb-sn-voucher-create .bb-acc-control-wrap--icon {
  display: flex;
  align-items: stretch;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--bb-v2-border, #e7e7ef);
  border-radius: var(--bb-v2-radius, 0.375rem);
  background: #fff;
}

body.bb-theme-v2 .bb-acc-control-wrap--icon .form-control {
  border: none !important;
  box-shadow: none !important;
  min-height: 2.5rem;
}

body.bb-theme-v2 .pay_contact_due_modal .bb-sn-voucher-create .bb-acc-control-wrap--file,
body.bb-theme-v2 .view_modal .bb-sn-voucher-create .bb-acc-control-wrap--file {
  padding: 0.35rem 0.5rem;
  border: 1px solid var(--bb-v2-border, #e7e7ef);
  border-radius: var(--bb-v2-radius, 0.375rem);
  background: #fff;
}

body.bb-theme-v2 .pay_contact_due_modal .bb-sn-pay-due-modal .bb-sn-modal__body {
  padding: 1rem 1.15rem;
  background: var(--bb-v2-surface-2, #f5f5f9);
}

body.bb-theme-v2 .pay_contact_due_modal .bb-sn-pay-due-modal .bb-sn-modal__footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--bb-v2-border, #e7e7ef);
  background: #fafafa;
}

body.bb-theme-v2 .pay_contact_due_modal .select2-container--open .select2-dropdown {
  z-index: 10620 !important;
}

body.bb-theme-v2 .bb-sn-hint {
  margin: 0.35rem 0 0;
  font-size: 0.75rem;
  color: var(--bb-v2-muted, #a1acb8);
}

/* Payment method details (card / cheque / transfer) */
body.bb-theme-v2 .bb-sn-voucher-create__type-details {
  margin-top: 0.85rem;
  padding: 0.85rem;
  border-radius: var(--bb-v2-radius-md, 0.5rem);
  border: 1px dashed var(--bb-v2-border, #e7e7ef);
  background: #fff;
}

body.bb-theme-v2 .bb-sn-voucher-create__type-details .payment_details_div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem 1rem;
  width: 100%;
  margin: 0;
  padding: 0;
}

body.bb-theme-v2 .bb-sn-voucher-create__type-details .payment_details_div.hide {
  display: none !important;
}

body.bb-theme-v2 .bb-sn-voucher-create__type-details .payment_details_div > [class*='col-'],
body.bb-theme-v2 .bb-sn-pay-due__method-details .payment_details_div > [class*='col-'] {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  float: none !important;
  padding: 0 !important;
}

body.bb-theme-v2 .bb-sn-voucher-create__type-details .payment_details_div .bb-acc-field,
body.bb-theme-v2 .bb-sn-pay-due__method-details .payment_details_div .bb-acc-field {
  min-width: 0;
}

body.bb-theme-v2 .bb-sn-voucher-create__type-details .payment_details_div .bb-sn-field--full,
body.bb-theme-v2 .bb-sn-pay-due__method-details .payment_details_div .bb-sn-field--full {
  grid-column: 1 / -1;
}

body.bb-theme-v2 .bb-sn-voucher-create__type-details .payment_details_div .select2-container,
body.bb-theme-v2 .bb-sn-pay-due__method-details .payment_details_div .select2-container,
body.bb-theme-v2 .bb-sn-payment-edit__type-details .payment_details_div .select2-container {
  display: block !important;
  width: 100% !important;
  max-width: 100%;
}

body.bb-theme-v2 .bb-sn-voucher-create__type-details .payment_details_div .bb-acc-control-wrap .select2-container--default .select2-selection--single,
body.bb-theme-v2 .bb-sn-pay-due__method-details .payment_details_div .bb-acc-control-wrap .select2-container--default .select2-selection--single,
body.bb-theme-v2 .bb-sn-payment-edit__type-details .payment_details_div .bb-acc-control-wrap .select2-container--default .select2-selection--single {
  min-height: 2.45rem !important;
  height: auto !important;
  border: 0 !important;
  border-radius: var(--bb-v2-radius, 0.375rem) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.bb-theme-v2 .bb-sn-voucher-create__type-details .payment_details_div select.select2:not(.select2-hidden-accessible),
body.bb-theme-v2 .bb-sn-pay-due__method-details .payment_details_div select.select2:not(.select2-hidden-accessible) {
  display: block !important;
  width: 100% !important;
  min-height: 2.45rem;
}

body.bb-theme-v2 .bb-sn-voucher-create__type-details .form-group {
  margin-bottom: 0;
}

body.bb-theme-v2 .bb-sn-voucher-create__type-details .bb-sn-label,
body.bb-theme-v2 .bb-sn-voucher-create__type-details label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bb-v2-text-strong, #32475c);
}

body.bb-theme-v2 .bb-sn-voucher-create__type-details .form-control,
body.bb-theme-v2 .bb-sn-voucher-create__type-details .select2-container--default .select2-selection--single {
  min-height: 2.45rem;
  border: 1px solid var(--bb-v2-border, #e7e7ef) !important;
  border-radius: var(--bb-v2-radius, 0.375rem) !important;
}

body.bb-theme-v2 .view_modal .bb-sn-voucher-create-modal .bb-sn-modal__footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--bb-v2-border, #e7e7ef);
  background: #fafafa;
}

@media (max-width: 767.98px) {
  body.bb-theme-v2 .bb-sn-voucher-create__fields-grid--modal,
  body.bb-theme-v2 .bb-sn-voucher-create__type-details .payment_details_div {
    grid-template-columns: 1fr;
  }
}
