/*
 * BEGIN Registration wizard - scoped styles.
 * Everything is namespaced under .begin-reg with reg-* class names so it
 * cannot collide with the active theme. Royal-blue palette matches the landing.
 */

.begin-reg{
  --navy-950:#0b1c66;
  --navy-900:#14267a;
  --blue-800:#1e39a8;
  --blue-700:#2749c9;
  --blue-600:#2f56e6;
  --blue-400:#5f82f0;
  --blue-200:#b9caf7;
  --blue-100:#e4ebfd;
  --blue-50:#f3f6fe;
  --ink:#0e1a2e;
  --ink-soft:#4a5a72;
  --red:#c9432f;
  --radius:14px;

  font-family:'Inter',sans-serif;color:var(--ink);line-height:1.55;
  -webkit-font-smoothing:antialiased;
  display:flex;align-items:flex-start;justify-content:center;
  padding:40px 20px;background:var(--blue-50);max-width:100%;
}
.begin-reg *{box-sizing:border-box;min-width:0;}
.begin-reg h2,.begin-reg h3,.begin-reg .reg-eyebrow,.begin-reg .reg-fill{font-family:'Space Grotesk',sans-serif;}
.begin-reg a{color:inherit;text-decoration:none;}
.begin-reg ul{list-style:none;margin:0;padding:0;}
.begin-reg p{margin:0;}

/* ---------- CARD ---------- */
.begin-reg .reg-card{
  background:#fff;border-radius:20px;width:100%;max-width:640px;
  display:flex;flex-direction:column;
  box-shadow:0 40px 90px -40px rgba(11,28,102,.45);border:1px solid #e6ecf6;overflow:hidden;
}
.begin-reg .reg-head{padding:26px 30px 0;position:relative;}
.begin-reg .reg-close{
  position:absolute;top:20px;right:22px;width:32px;height:32px;border-radius:50%;
  background:var(--blue-50);color:var(--ink-soft);border:none;font-size:15px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;line-height:1;
}
.begin-reg .reg-close:hover{background:var(--blue-100);color:var(--navy-900);}
.begin-reg .reg-eyebrow{color:var(--blue-600);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;display:block;}
.begin-reg .reg-title{font-size:24px;font-weight:600;color:var(--navy-900);margin:8px 0 20px;}

/* ---------- STEPPER ---------- */
.begin-reg .reg-stepper{display:flex;gap:6px;padding:0 30px 22px;}
.begin-reg .reg-track{flex:1;height:4px;border-radius:99px;background:#e6ecf6;overflow:hidden;}
.begin-reg .reg-track .reg-fill{display:block;height:100%;background:var(--blue-600);width:0;transition:width .25s ease;}
.begin-reg .reg-track.reg-done .reg-fill{width:100%;}
.begin-reg .reg-track.reg-current .reg-fill{width:100%;background:var(--blue-400);}
.begin-reg .reg-labels{display:flex;justify-content:space-between;padding:0 30px 6px;font-size:11px;color:var(--ink-soft);font-weight:600;letter-spacing:.02em;gap:6px;}
.begin-reg .reg-labels span{flex:1;text-align:center;}
.begin-reg .reg-labels span.reg-active{color:var(--navy-900);}

/* ---------- BODY / FOOT ---------- */
.begin-reg .reg-body{padding:6px 30px 10px;}
.begin-reg .reg-foot{padding:18px 30px 26px;border-top:1px solid #eef1f6;display:flex;justify-content:space-between;gap:12px;}

/* ---------- FIELDS ---------- */
.begin-reg .reg-field{margin-bottom:18px;}
.begin-reg .reg-field label{display:block;font-size:13.5px;font-weight:600;color:var(--navy-900);margin-bottom:7px;}
.begin-reg .reg-hint{font-size:12px;color:var(--ink-soft);font-weight:400;margin-left:4px;}
.begin-reg .reg-field input[type=text],
.begin-reg .reg-field input[type=email],
.begin-reg .reg-field input[type=tel],
.begin-reg .reg-field input[type=password],
.begin-reg .reg-field input[type=number],
.begin-reg .reg-field select,
.begin-reg .reg-field textarea{
  width:100%;padding:12px 14px;border-radius:10px;border:1.5px solid #dde5f2;
  font-family:inherit;font-size:14.5px;color:var(--ink);background:#fbfcfe;line-height:1.4;
  transition:border-color .15s ease, background .15s ease;
}
.begin-reg .reg-field input:focus,
.begin-reg .reg-field select:focus,
.begin-reg .reg-field textarea:focus{outline:none;border-color:var(--blue-600);background:#fff;}
.begin-reg .reg-field textarea{resize:vertical;min-height:90px;}
.begin-reg .reg-counter{font-size:11px;color:var(--ink-soft);text-align:right;margin-top:4px;}
.begin-reg .reg-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}

/* ---------- CATEGORY CARDS ---------- */
.begin-reg .reg-cat-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:6px;}
.begin-reg .reg-cat{
  border:1.5px solid #dde5f2;border-radius:var(--radius);padding:16px;
  display:flex;align-items:center;gap:14px;cursor:pointer;position:relative;
}
.begin-reg .reg-cat input{position:absolute;opacity:0;pointer-events:none;}
.begin-reg .reg-radio{
  width:20px;height:20px;border-radius:50%;border:2px solid #c7cddb;flex:none;
  display:flex;align-items:center;justify-content:center;
}
.begin-reg .reg-radio::after{content:'';width:10px;height:10px;border-radius:50%;background:var(--blue-600);display:none;}
.begin-reg .reg-cat.reg-selected{border-color:var(--blue-600);background:var(--blue-50);}
.begin-reg .reg-cat.reg-selected .reg-radio{border-color:var(--blue-600);}
.begin-reg .reg-cat.reg-selected .reg-radio::after{display:block;}
.begin-reg .reg-cat-body h4{font-size:15px;font-weight:600;color:var(--navy-900);margin:0;}
.begin-reg .reg-cat-body p{font-size:13px;color:var(--ink-soft);margin-top:2px;}
.begin-reg .reg-fee-tag{margin-left:auto;font-size:13px;font-weight:700;color:var(--blue-600);background:var(--blue-100);padding:5px 11px;border-radius:999px;white-space:nowrap;}

/* ---------- SHAREHOLDERS ---------- */
.begin-reg .reg-sh-table{border:1.5px solid #dde5f2;border-radius:12px;overflow:hidden;margin-top:6px;}
.begin-reg .reg-sh-row{display:grid;grid-template-columns:1.4fr 1fr 40px;border-bottom:1px solid #eef1f6;}
.begin-reg .reg-sh-row:last-child{border-bottom:none;}
.begin-reg .reg-sh-row input{border:none;padding:11px 12px;font-size:13.5px;font-family:inherit;background:transparent;color:var(--ink);}
.begin-reg .reg-sh-row input:focus{outline:none;background:var(--blue-50);}
.begin-reg .reg-sh-row .reg-pct{border-left:1px solid #eef1f6;}
.begin-reg .reg-sh-remove{border:none;background:transparent;color:var(--red);font-size:15px;cursor:pointer;border-left:1px solid #eef1f6;}
.begin-reg .reg-add-row{
  width:100%;padding:10px;text-align:center;font-size:13px;font-weight:600;color:var(--blue-600);
  background:none;border:1.5px dashed #c7cddb;border-radius:10px;cursor:pointer;margin-top:8px;
}
.begin-reg .reg-add-row:hover{border-color:var(--blue-600);background:var(--blue-50);}

/* ---------- SOCIAL MEDIA REPEATER ---------- */
.begin-reg .reg-sm-table{display:flex;flex-direction:column;gap:8px;margin-top:6px;}
.begin-reg .reg-sm-row{display:grid;grid-template-columns:150px 1fr 40px;gap:8px;align-items:center;}
.begin-reg .reg-sm-row select,
.begin-reg .reg-sm-row input{border:1.5px solid #dde5f2;border-radius:10px;padding:10px 12px;font-size:13.5px;font-family:inherit;color:var(--ink);background:#fff;}
.begin-reg .reg-sm-row select:focus,
.begin-reg .reg-sm-row input:focus{outline:none;border-color:var(--blue-600);}
.begin-reg .reg-sm-remove,
.begin-reg .reg-sh-remove{border:none;background:none;color:#b32d2e;font-size:15px;cursor:pointer;padding:6px;line-height:1;}
.begin-reg .reg-add-sm{
  width:100%;padding:10px;text-align:center;font-size:13px;font-weight:600;color:var(--blue-600);
  background:none;border:1.5px dashed #c7cddb;border-radius:10px;cursor:pointer;margin-top:8px;
}
.begin-reg .reg-add-sm:hover{border-color:var(--blue-600);background:var(--blue-50);}
.begin-reg .reg-sm-empty{font-size:12.5px;color:var(--ink-soft);margin-top:8px;}
@media (max-width:520px){ .begin-reg .reg-sm-row{grid-template-columns:1fr 1fr 34px;} }

/* ---------- INFO NOTE ---------- */
.begin-reg .reg-note-top{margin-top:4px;}
.begin-reg .reg-note{
  display:flex;gap:10px;background:var(--blue-50);border:1px solid var(--blue-100);
  border-radius:10px;padding:12px 14px;font-size:12.5px;color:var(--ink-soft);margin-bottom:18px;
}
.begin-reg .reg-note-dot{color:var(--blue-600);font-weight:700;flex:none;}

/* ---------- FEE SUMMARY ---------- */
.begin-reg .reg-fee{border:1.5px solid #e6ecf6;border-radius:var(--radius);overflow:hidden;margin-bottom:18px;}
.begin-reg .reg-fee-line{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;font-size:14.5px;border-bottom:1px solid #eef1f6;gap:14px;}
.begin-reg .reg-fee-line:last-child{border-bottom:none;}
.begin-reg .reg-fee-lbl{color:var(--ink-soft);}
.begin-reg .reg-fee-lbl small{display:block;font-size:11.5px;color:#93a0b6;margin-top:2px;}
.begin-reg .reg-fee-val{font-weight:600;color:var(--navy-900);white-space:nowrap;}
.begin-reg .reg-fee-line.reg-total{background:var(--navy-900);color:#fff;}
.begin-reg .reg-fee-line.reg-total .reg-fee-lbl{color:#c3d3ee;}
.begin-reg .reg-fee-line.reg-total .reg-fee-val{color:#fff;font-size:18px;font-family:'Space Grotesk',sans-serif;}

/* ---------- PAYMENT ---------- */
.begin-reg .reg-pay{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:6px;}
.begin-reg .reg-pay-method{border:1.5px solid #dde5f2;border-radius:12px;padding:14px;text-align:center;cursor:pointer;}
.begin-reg .reg-pay-method.reg-selected{border-color:var(--blue-600);background:var(--blue-50);}
.begin-reg .reg-pm-name{font-size:13.5px;font-weight:600;color:var(--navy-900);}
.begin-reg .reg-pm-sub{font-size:11.5px;color:var(--ink-soft);margin-top:3px;}

/* ---------- BUTTONS ---------- */
.begin-reg .reg-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 24px;border-radius:999px;font-weight:600;font-size:14.5px;cursor:pointer;
  border:1.5px solid transparent;font-family:inherit;line-height:1;transition:background .15s ease, border-color .15s ease;
}
.begin-reg .reg-btn-primary{background:var(--blue-600);color:#fff;}
.begin-reg .reg-btn-primary:hover{background:var(--blue-400);}
.begin-reg .reg-btn-outline{background:#fff;color:var(--ink);border-color:#c7cddb;}
.begin-reg .reg-btn-outline:hover{border-color:var(--blue-600);color:var(--blue-600);}
.begin-reg .reg-btn:disabled{opacity:.45;cursor:not-allowed;}

/* ---------- MESSAGE ---------- */
.begin-reg .reg-msg{margin:0 30px 6px;padding:12px 14px;border-radius:10px;font-size:13.5px;font-weight:500;}
.begin-reg .reg-msg.reg-msg-error{background:#fdecea;border:1px solid #f4c7c0;color:#a3271a;}
.begin-reg .reg-msg.reg-msg-info{background:var(--blue-50);border:1px solid var(--blue-100);color:var(--ink-soft);}

/* ---------- STEPS ---------- */
.begin-reg .reg-step{display:none;}
.begin-reg .reg-step.reg-active{display:block;}

/* ---------- CONFIRMATION ---------- */
.begin-reg .reg-confirm{text-align:center;padding:20px 0 8px;}
.begin-reg .reg-confirm-icon{
  width:64px;height:64px;border-radius:50%;background:var(--blue-100);color:var(--blue-600);
  display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;margin:0 auto 20px;
}
.begin-reg .reg-confirm h3{font-size:20px;font-weight:600;color:var(--navy-900);margin-bottom:10px;}
.begin-reg .reg-confirm p{font-size:14.5px;color:var(--ink-soft);max-width:400px;margin:0 auto 6px;}
.begin-reg .reg-next{text-align:left;background:var(--blue-50);border-radius:var(--radius);padding:18px 20px;margin-top:24px;}
.begin-reg .reg-next h5{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-600);margin-bottom:10px;}
.begin-reg .reg-next li{font-size:13.5px;color:var(--ink-soft);padding:5px 0;display:flex;gap:8px;}
.begin-reg .reg-next li b{color:var(--navy-900);font-weight:600;}

/* ---------- COMPLIANCE ---------- */
.begin-reg .reg-cmp-intro{font-size:14px;color:var(--ink-soft);margin:6px 0 16px;}
/* Each section is a clean card. */
.begin-reg .cmp-section{background:#fff;border:1px solid #e6ecf6;border-radius:14px;padding:20px 22px;margin-bottom:16px;box-shadow:0 10px 30px -26px rgba(11,28,102,.45);}
.begin-reg .cmp-section-title{font-size:15px;font-weight:700;color:var(--navy-900);font-family:'Space Grotesk',sans-serif;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #eef1f6;letter-spacing:0;text-transform:none;}
/* A document upload = its own bordered row with the field below the label. */
.begin-reg .cmp-doc{display:block;border:1px solid #e6ecf6;border-radius:11px;padding:14px 16px;margin-bottom:12px;background:#fbfcfe;}
.begin-reg .cmp-doc-label{font-size:14px;font-weight:600;color:var(--navy-900);display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.begin-reg .cmp-req{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--blue-600);background:var(--blue-100);padding:2px 8px;border-radius:999px;}
.begin-reg .cmp-doc-input{display:flex;flex-direction:column;gap:7px;}
.begin-reg .cmp-doc-input input[type=file]{width:100%;font-size:13px;color:var(--ink-soft);border:1.5px dashed #c8d3e8;border-radius:9px;padding:10px 12px;background:#fff;}
.begin-reg .cmp-status{font-size:12px;color:#93a0b6;}
.begin-reg .cmp-status.cmp-done{color:var(--green,#2e9e5b);font-weight:600;}
/* Text fields sit evenly inside the card. */
.begin-reg .cmp-section .reg-field{margin-bottom:16px;}
.begin-reg .cmp-section .reg-field:last-child{margin-bottom:0;}
/* A rejected section is flagged for the applicant. */
.begin-reg .cmp-reject-note{background:#fdeceb;border:1px solid #f5c6c2;color:#a3271a;border-radius:10px;padding:11px 14px;font-size:13px;margin:0 0 14px;line-height:1.5;}
.begin-reg .cmp-section.is-rejected{border-color:#f0b6b0;box-shadow:0 0 0 2px rgba(224,72,61,.12);}
.begin-reg .cmp-section.is-approved .cmp-section-title::after{content:' ✓ approved';color:#1c7a41;font-size:12px;font-weight:600;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:640px){
  .begin-reg{padding:24px 14px;}
  .begin-reg .cmp-doc{align-items:flex-start;}
  .begin-reg .cmp-doc-input{align-items:flex-start;min-width:0;width:100%;}
  .begin-reg .reg-row2{grid-template-columns:1fr;}
  .begin-reg .reg-pay{grid-template-columns:1fr;}
  .begin-reg .reg-head,
  .begin-reg .reg-body,
  .begin-reg .reg-foot,
  .begin-reg .reg-stepper,
  .begin-reg .reg-labels{padding-left:20px;padding-right:20px;}
  .begin-reg .reg-labels{font-size:10px;}
  .begin-reg .reg-cat{flex-wrap:wrap;}
  .begin-reg .reg-fee-tag{margin-left:52px;}
  .begin-reg .reg-title{font-size:21px;}
}

/* Staff check-in scanner */
.begin-checkin .begin-cin-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px;}
.begin-checkin .begin-cin-list li{border:1px solid #e2e9fa;border-radius:10px;padding:11px 14px;}
.begin-checkin .begin-cin-list strong{display:block;color:#14267a;font-size:14px;font-weight:700;}
.begin-checkin .begin-cin-list small{color:#4a5a72;font-size:12.5px;}

/* iOS Safari zooms into inputs under 16px on focus - force 16px on touch screens
   so the page stays stable while typing. */
@media (max-width:1024px){
  .begin-reg input,
  .begin-reg select,
  .begin-reg textarea,
  .begin-cmp input,
  .begin-cmp select,
  .begin-cmp textarea{ font-size:16px; }
}

/* "Already registered? Log in" prompt */
.begin-reg .reg-login-hint{font-size:13.5px;color:var(--ink-soft);margin:10px 0 0;}
.begin-reg .reg-login-hint a{color:var(--blue-600);font-weight:600;text-decoration:none;}
.begin-reg .reg-login-hint a:hover{text-decoration:underline;}

/* ---------- COMPLIANCE: pre-start checklist + per-section save ---------- */
.begin-cmp .cmp-checklist{
  background:var(--blue-50);border:1px solid var(--blue-100);border-radius:14px;
  padding:20px 22px;margin-bottom:22px;
}
.begin-cmp .cmp-checklist h4{margin:0 0 4px;font-size:16px;color:var(--navy-900);font-family:'Space Grotesk',sans-serif;}
.begin-cmp .cmp-checklist-sub{margin:0 0 14px;font-size:13px;color:var(--ink-soft);}
.begin-cmp .cmp-checklist ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;}
.begin-cmp .cmp-checklist li{position:relative;padding-left:26px;font-size:13.5px;color:var(--ink);line-height:1.45;}
.begin-cmp .cmp-checklist li::before{
  content:'\2713';position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;
  background:var(--blue-600);color:#fff;font-size:11px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.begin-cmp .cmp-checklist li span{color:var(--ink-soft);font-size:12px;}
@media (max-width:600px){ .begin-cmp .cmp-checklist ul{grid-template-columns:1fr;} }

.begin-cmp .cmp-section-foot{
  display:flex;justify-content:flex-end;margin-top:14px;padding-top:14px;border-top:1px dashed #dfe5f1;
}
.begin-cmp .cmp-section-save{padding:9px 20px;font-size:13.5px;}

/* ============================================================
   THEME-HARDENING OVERRIDES (must win over the active theme)
   The theme was collapsing the 2-col rows and flattening inputs.
   ============================================================ */
.begin-reg .reg-body{display:block !important;}

/* Two-column rows: minmax(0,1fr) stops a column collapsing to 1 char
   or blowing out; force the grid so the theme cannot override it. */
.begin-reg .reg-row2{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:16px !important;
  align-items:start !important;
  width:100% !important;
}
.begin-reg .reg-field{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  margin-bottom:18px !important;
}
.begin-reg .reg-field > label{display:block !important;white-space:normal !important;}

/* Field boxes: give them clear definition so they don't blend into the card. */
.begin-reg .reg-field input[type=text],
.begin-reg .reg-field input[type=email],
.begin-reg .reg-field input[type=tel],
.begin-reg .reg-field input[type=password],
.begin-reg .reg-field input[type=number],
.begin-reg .reg-field select,
.begin-reg .reg-field textarea{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  height:auto !important;
  min-height:48px !important;
  padding:12px 14px !important;
  border:1.5px solid #c4d0e6 !important;
  border-radius:11px !important;
  background:#f6f8fd !important;
  color:var(--ink) !important;
  font-family:inherit !important;
  font-size:15px !important;
  line-height:1.4 !important;
  box-shadow:inset 0 1px 2px rgba(16,26,46,.05) !important;
  appearance:auto;
}
.begin-reg .reg-field textarea{min-height:96px !important;}
.begin-reg .reg-field input:focus,
.begin-reg .reg-field select:focus,
.begin-reg .reg-field textarea:focus{
  border-color:var(--blue-600) !important;
  background:#fff !important;
  box-shadow:0 0 0 3px rgba(47,86,230,.14) !important;
}
.begin-reg .reg-field input::placeholder,
.begin-reg .reg-field textarea::placeholder{color:#8a95ab !important;}

/* Header + login hint spacing so it isn't crammed against the stepper. */
.begin-reg .reg-head{padding:26px 30px 2px !important;}
.begin-reg .reg-title{margin:8px 0 6px !important;}
.begin-reg .reg-login-hint{margin:0 0 20px !important;font-size:13.5px !important;}
.begin-reg .reg-stepper{padding-top:6px !important;}

/* Card sizing safety. */
.begin-reg .reg-card{width:100% !important;max-width:660px !important;}

@media (max-width:560px){
  .begin-reg .reg-row2{grid-template-columns:1fr !important;}
}

/* ============================================================
   FIX DUPLICATE DROPDOWNS
   The active theme runs a custom-dropdown script that clones every
   native <select> and shows both. Keep OUR styled <select> (the first
   one in each field) and hide the theme's cloned dropdown that follows.
   ============================================================ */
.begin-reg .reg-field select ~ select{ display:none !important; }
.begin-reg .reg-field select + select{ display:none !important; }
/* Named custom-dropdown wrappers some themes/plugins inject. */
.begin-reg .reg-field .nice-select,
.begin-reg .reg-field .select2,
.begin-reg .reg-field .select2-container,
.begin-reg .reg-field .chosen-container,
.begin-reg .reg-field .selectize-control,
.begin-reg .reg-field [class*="-select-styled"],
.begin-reg .reg-field [class*="dropdown-styled"]{ display:none !important; }
/* Give our select a proper chevron and hide the native OS arrow so it
   reads as one intentional control. */
.begin-reg .reg-field select{
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  appearance:none !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%235a6478' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 15px center !important;
  padding-right:40px !important;
}
/* Backup: any second sibling <select> inside the form body is a theme clone. */
.begin-reg select ~ select,
.begin-reg select + select{ display:none !important; }

/* Manual payment: instructions box + merchant account (event + compliance share .begin-reg) */
.begin-reg .reg-pay-box{background:var(--blue-50);border:1px solid var(--blue-100);border-radius:12px;padding:16px 18px;}
.begin-reg .reg-pay-text{font-size:13.5px;color:var(--ink-soft);line-height:1.6;margin:0;}
.begin-reg .reg-merchant{margin-top:12px;background:#eef1f8;border:1px solid #dfe4f0;border-radius:10px;padding:14px 16px;font-family:'Space Grotesk',ui-monospace,monospace;font-size:19px;font-weight:700;letter-spacing:1px;color:var(--blue-600);word-break:break-all;}

/* Merchant box with copy button (event) */
.begin-reg .reg-merchant{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.begin-reg .reg-merchant-name{font-family:'Space Grotesk',ui-monospace,monospace;font-size:19px;font-weight:700;letter-spacing:1px;color:var(--blue-600);word-break:break-all;}
.begin-reg .reg-copy{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #d5ddec;color:var(--blue-600);border-radius:8px;padding:7px 12px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;flex:none;}
.begin-reg .reg-copy:hover{border-color:var(--blue-600);}
.begin-reg .reg-copy.is-copied{background:#e7f5ec;border-color:#bfe6cd;color:#1c7a41;}

/* Compliance: file-type hint on each document label */
.begin-cmp .cmp-doc-type{font-size:12px;color:var(--ink-soft);font-weight:400;margin-left:2px;}

/* ---------- COMPLIANCE: numbered sections + upload dropzones ---------- */
.begin-cmp .reg-body{counter-reset:cmpsec;}
.begin-cmp .cmp-section-title{display:flex;align-items:center;gap:11px;}
.begin-cmp .cmp-section-title::before{counter-increment:cmpsec;content:counter(cmpsec);width:26px;height:26px;flex:none;border-radius:50%;background:var(--blue-600);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;}
.begin-cmp .cmp-section.is-approved .cmp-section-title::before{background:#1c7a41;}
.begin-cmp .cmp-section.is-rejected .cmp-section-title::before{background:#c0392b;}

.begin-reg .cmp-drop{position:relative;display:block;border:1.5px dashed #c4d0e6;border-radius:12px;background:#fff;padding:18px 16px;text-align:center;cursor:pointer;transition:border-color .15s ease, background .15s ease;}
.begin-reg .cmp-drop:hover{border-color:var(--blue-600);background:var(--blue-50);}
.begin-reg .cmp-drop:focus-within{border-color:var(--blue-600);box-shadow:0 0 0 3px rgba(47,86,230,.14);}
.begin-reg .cmp-drop.is-dragover{border-color:var(--blue-600);background:var(--blue-50);}
.begin-reg .cmp-file{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;}
.begin-reg .cmp-drop-inner{display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;}
.begin-reg .cmp-drop-icon{width:38px;height:38px;border-radius:50%;background:var(--blue-100);color:var(--blue-600);display:flex;align-items:center;justify-content:center;}
.begin-reg .cmp-drop-main{font-size:13.5px;color:var(--ink-soft);}
.begin-reg .cmp-drop-main strong{color:var(--blue-600);font-weight:600;}
.begin-reg .cmp-drop-file{display:none;font-size:13px;color:#1c7a41;font-weight:600;word-break:break-word;line-height:1.4;}
.begin-reg .cmp-drop-file.show{display:block;}
.begin-reg .cmp-doc.has-file .cmp-drop,.begin-reg .cmp-drop.has-file{border-style:solid;border-color:#bfe6cd;background:#f2fbf5;}
.begin-reg .cmp-doc.has-file .cmp-drop-icon,.begin-reg .cmp-drop.has-file .cmp-drop-icon{background:#d8f0e0;color:#1c7a41;}
