/* =========================================================
   Provider self-registration page in the website frame
   (site header + banner + footer around the original wizard form).
   ========================================================= */

/* Material Icons served from this site (the provider CSS loads them from Google,
   which shows icon names as text when Google's font server can't be reached). */
@font-face {
    font-family: 'Material Icons'; font-style: normal; font-weight: 400; font-display: block;
    src: url('../fonts/material/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2') format('woff2');
}
@font-face {
    font-family: 'Material Symbols Outlined'; font-style: normal; font-weight: 100 700; font-display: block;
    src: url('../fonts/material/kJEhBvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oFsI.woff2') format('woff2');
}

/* Page background follows the site theme; header is fixed like the website */
body { background: var(--hv2-surface); padding-top: 72px; font-family: 'Poppins', 'Poppins Fallback', Arial, sans-serif; }
.pr-top .hv2-header { position: fixed; top: 0; left: 0; right: 0; z-index: 1030; }
.pr-top, .pr-bottom { background: transparent; }
.pr-top .hv2-page-hero { padding-bottom: 96px; }
@media (max-width: 575px) { body { padding-top: 64px; } }

/* ---------- Layout ---------- */
.pr-main { position: relative; margin-top: -64px; padding-bottom: 60px; background: transparent !important; }
.pr-layout { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 24px; align-items: start; max-width: 1240px; }

/* ---------- Why join (left) ---------- */
.pr-aside { position: sticky; top: 92px; background: transparent; }
.pr-aside__card {
    padding: 26px; border-radius: 20px; background: var(--hv2-card); border: 1px solid var(--hv2-border);
    color: var(--hv2-text); box-shadow: 0 20px 50px rgba(0, 0, 0, .22);
}
.pr-aside__card h3 { font-size: 21px; line-height: 1.3; margin: 6px 0 18px !important; }
.pr-benefits { display: grid; gap: 14px; margin-bottom: 20px !important; }
.pr-benefits li { display: flex; gap: 12px; align-items: flex-start; }
.pr-benefits li > span { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; font-size: 20px; flex-shrink: 0; }
.pr-benefits b { display: block; font-size: 14px; font-weight: 600; color: var(--hv2-text); }
.pr-benefits small { display: block; font-size: 12.5px; color: var(--hv2-muted); line-height: 1.45; }
.pr-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding-top: 18px; border-top: 1px solid var(--hv2-border); }
.pr-steps span { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--hv2-text-soft); }
.pr-steps b { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; color: #fff; background: linear-gradient(135deg, #1565ff, var(--hv2-blue-2)); flex-shrink: 0; }
.pr-signin { margin-top: 18px !important; font-size: 13.5px; color: var(--hv2-muted); }
.pr-signin a { color: var(--hv2-blue-2) !important; font-weight: 600; }
html[data-theme="light"] .pr-aside__card { box-shadow: 0 10px 30px rgba(15, 40, 100, .08); }

/* ---------- Form card (always light, so every field stays readable) ---------- */
.pr-card {
    --pr-ink: #0e1a33; --pr-soft: #5a6782; --pr-muted: #8a96ad; --pr-line: #e3e9f3; --pr-field: #f6f8fc;
    --pr-blue: #1f7bff; --pr-blue-2: #2fa8ff;
    background: #fff; color: var(--pr-ink); border-radius: 22px; padding: 30px 34px 26px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .25); border: 1px solid rgba(15, 40, 100, .08); min-width: 0;
}
html[data-theme="light"] .pr-card { box-shadow: 0 14px 40px rgba(15, 40, 100, .10); }
.pr-card .register-right { max-width: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
.pr-card__head { margin-bottom: 22px; }
.pr-card__head h2 { font-family: 'Poppins', Arial, sans-serif; font-size: 24px; font-weight: 700; color: var(--pr-ink); margin: 0 0 4px; }
.pr-card__head p { margin: 0; color: var(--pr-soft); font-size: 14px; }

/* ---------- Horizontal stepper (jQuery Steps) ---------- */
.pr-card .wizard > .steps { position: relative; width: 100% !important; float: none !important; margin: 0 0 26px; padding: 0; }
.pr-card .wizard > .steps ul {
    display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; list-style: none; margin: 0; padding: 0;
    counter-reset: none; position: relative;
}
.pr-card .wizard > .steps li {
    position: relative; float: none !important; width: auto !important; padding: 0 !important; margin: 0 !important; text-align: center;
}
/* connector line between steps */
.pr-card .wizard > .steps li::before {
    content: ''; position: absolute; top: 19px; left: calc(-50% + 24px); right: calc(50% + 24px); height: 3px; border-radius: 3px;
    background: var(--pr-line); z-index: 0;
}
.pr-card .wizard > .steps li:first-child::before { display: none; }
.pr-card .wizard > .steps li.done::before, .pr-card .wizard > .steps li.current::before { background: linear-gradient(90deg, var(--pr-blue), var(--pr-blue-2)); }
.pr-card .wizard > .steps a, .pr-card .wizard > .steps a:hover, .pr-card .wizard > .steps a:active {
    display: flex !important; flex-direction: column; align-items: center; gap: 8px; padding: 0 4px !important; margin: 0 !important;
    background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important;
    color: var(--pr-muted) !important; font-size: 13px !important; font-weight: 500; line-height: 1.3; text-decoration: none;
    cursor: default; position: relative; z-index: 1;
}
.pr-card .wizard > .steps .number {
    width: 40px; height: 40px; border-radius: 50%; display: grid !important; place-items: center; flex-shrink: 0;
    font-size: 0 !important; color: transparent; background: #fff; border: 2px solid var(--pr-line); position: relative;
    transition: all .25s ease;
}
/* show the step number without the trailing dot jQuery Steps adds ("1.") */
.pr-card .wizard > .steps li:nth-child(1) .number::after { content: '1'; }
.pr-card .wizard > .steps li:nth-child(2) .number::after { content: '2'; }
.pr-card .wizard > .steps li:nth-child(3) .number::after { content: '3'; }
.pr-card .wizard > .steps li:nth-child(4) .number::after { content: '4'; }
.pr-card .wizard > .steps .number::after { font-size: 15px; font-weight: 700; color: var(--pr-muted); }
.pr-card .wizard > .steps li.current .number {
    background: linear-gradient(135deg, #1565ff, var(--pr-blue-2)); border-color: transparent; box-shadow: 0 8px 20px rgba(31, 123, 255, .35), 0 0 0 5px rgba(47, 168, 255, .15);
}
.pr-card .wizard > .steps li.current .number::after { color: #fff; }
.pr-card .wizard > .steps li.done .number { background: #e8f2ff; border-color: var(--pr-blue); }
.pr-card .wizard > .steps li.done .number::after { content: '✓'; color: var(--pr-blue); }
.pr-card .wizard > .steps li.current a { color: var(--pr-ink) !important; font-weight: 600; }
.pr-card .wizard > .steps li.done a { color: var(--pr-soft) !important; cursor: pointer; }
.pr-card .wizard > .steps .current-info, .pr-card .wizard > .steps .audible { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* content area full width */
.pr-card .wizard > .content {
    width: 100% !important; float: none !important; margin: 0 !important; min-height: 0 !important; background: none !important;
    border: 0 !important; overflow: visible !important; position: relative;
}
.pr-card .wizard > .content > .body { position: relative !important; width: 100% !important; height: auto !important; padding: 0 !important; float: none !important; }
.pr-card .wizard > .content > .title { display: none; }

/* section headings inside each step */
.pr-card .content h3.border-bottom { display: none; } /* step name is already shown in the stepper */
.pr-card .content h5.border-bottom {
    display: flex; align-items: center; gap: 10px; border: 0 !important; padding: 0 0 0 !important; margin: 6px 0 18px !important;
    font-size: 16px; font-weight: 600; color: var(--pr-ink);
}
.pr-card .content h5.border-bottom::before { content: ''; width: 4px; height: 18px; border-radius: 4px; background: linear-gradient(180deg, var(--pr-blue), var(--pr-blue-2)); }
.pr-card .content h5.border-bottom::after { content: ''; flex: 1; height: 1px; background: var(--pr-line); margin-left: 6px; }

/* ---------- Fields ---------- */
.pr-card .ff-field__label { font-size: 13px; font-weight: 600; color: var(--pr-soft); margin-bottom: 7px; }
.pr-card .ff-field__required { color: #f43f5e; }
.pr-card .ff-field__control { position: relative; }
.pr-card .form-control, .pr-card .form-select, .pr-card .ff-field__input {
    min-height: 48px; border-radius: 12px !important; border: 1px solid var(--pr-line) !important; background: var(--pr-field) !important;
    color: var(--pr-ink) !important; font-size: 14.5px; box-shadow: none !important; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.pr-card textarea.form-control { min-height: 96px; }
.pr-card .form-control::placeholder { color: var(--pr-muted); }
.pr-card .form-control:focus, .pr-card .form-select:focus, .pr-card .ff-field__input:focus {
    border-color: var(--pr-blue-2) !important; background: #fff !important; box-shadow: 0 0 0 4px rgba(47, 168, 255, .16) !important;
}
.pr-card .ff-field--has-icon .ff-field__icon { color: var(--pr-blue); font-size: 20px; }
.pr-card .ff-field__counter { color: var(--pr-muted); font-size: 11.5px; }
.pr-card .mb-30 { margin-bottom: 18px !important; }
.pr-card .form-error-wrap.is-invalid .form-control, .pr-card .form-control.error { border-color: #f43f5e !important; }
.pr-card label.error, .pr-card .ff-field__messages .error { color: #f43f5e; font-size: 12px; }

/* phone input (intl-tel-input) */
.pr-card .iti { width: 100%; }
.pr-card .iti__selected-flag { border-radius: 12px 0 0 12px; background: transparent !important; }

/* checkboxes / switches */
.pr-card input[type="checkbox"], .pr-card input[type="radio"] { accent-color: var(--pr-blue); }

/* upload boxes */
.pr-card .upload-file, .pr-card .upload-file__img, .pr-card [class*="upload"] .card, .pr-card .spartan_item_wrapper {
    border-radius: 16px !important;
}
.pr-card .upload-file__img, .pr-card .upload-file .upload-file__img--placeholder {
    border: 2px dashed #c9d6ea !important; background: var(--pr-field) !important; transition: border-color .2s ease, background .2s ease;
}
.pr-card .upload-file:hover .upload-file__img { border-color: var(--pr-blue-2) !important; background: #eef6ff !important; }
.pr-card .upload-file .material-icons, .pr-card .upload-file__img .material-icons { color: var(--pr-blue); font-size: 26px; }

/* business plan cards */
.pr-card .no-business-plan-box { border-radius: 16px; border-color: #c9d6ea; background: var(--pr-field); }
.pr-card .card, .pr-card .plan-card, .pr-card [class*="business-plan"] { border-radius: 16px; }

/* ---------- Previous / Next / Complete ---------- */
.pr-card .wizard > .actions { position: static !important; width: 100% !important; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--pr-line); }
.pr-card .wizard > .actions ul { display: flex; justify-content: space-between; gap: 10px; float: none !important; list-style: none; margin: 0; padding: 0; }
.pr-card .wizard > .actions li { float: none !important; margin: 0 !important; }
.pr-card .wizard > .actions li[aria-hidden="false"]:not(:first-child), .pr-card .wizard > .actions li:last-child { margin-left: auto !important; }
.pr-card .wizard > .actions a, .pr-card .wizard > .actions a:hover, .pr-card .wizard > .actions a:active {
    display: inline-flex; align-items: center; gap: 8px; padding: 12px 28px !important; border-radius: 999px !important;
    background: linear-gradient(90deg, #1565ff, var(--pr-blue-2)) !important; color: #fff !important; font-weight: 600; font-size: 14.5px;
    box-shadow: 0 10px 24px rgba(31, 123, 255, .32); border: 0; text-decoration: none; transition: transform .2s ease;
}
.pr-card .wizard > .actions a:hover { transform: translateY(-1px); }
.pr-card .wizard > .actions a[href="#previous"] { background: #fff !important; color: var(--pr-soft) !important; border: 1px solid var(--pr-line) !important; box-shadow: none; }
.pr-card .wizard > .actions .disabled a, .pr-card .wizard > .actions .disabled a:hover { opacity: .45; cursor: not-allowed; transform: none; }
.pr-card .wizard > .actions .disabled:first-child { visibility: hidden; }
.pr-card .btn--primary, .pr-card .btn-primary { background: linear-gradient(90deg, #1565ff, var(--pr-blue-2)); border: 0; border-radius: 999px; }

/* Footer spacing */
.pr-bottom .hv2-newsletter { margin-top: 0; }

/* ---------- Responsive ---------- */
@media (max-width: 1199px) {
    .pr-layout { grid-template-columns: 280px minmax(0, 1fr); }
}
@media (max-width: 991px) {
    .pr-layout { grid-template-columns: minmax(0, 1fr); }
    .pr-aside { position: static; order: 2; }
    .pr-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
    .pr-card { padding: 22px 16px 18px; border-radius: 18px; }
    .pr-main { margin-top: -48px; }
    .pr-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pr-aside__card { padding: 20px; }
    .pr-card .wizard > .steps a { font-size: 11px !important; }
    .pr-card .wizard > .steps .number { width: 34px; height: 34px; }
    .pr-card .wizard > .steps li::before { top: 16px; left: calc(-50% + 20px); right: calc(50% + 20px); }
    .pr-card .wizard > .actions a { padding: 11px 20px !important; }
}
/* upcoming steps: readable but clearly not active yet */
.pr-card .wizard > .steps li.disabled a { color: #7b879f !important; }
.pr-card .wizard > .steps li.disabled .number::after { color: #7b879f; }
.pr-card .wizard > .steps { margin-top: -4px; }

/* =========================================================
   Form card follows the site theme: navy in dark mode (default), white in light mode.
   Every colour used above comes from these --pr-* variables.
   ========================================================= */
.pr-card {
    --pr-bg: #0d1b38; --pr-ink: #ffffff; --pr-soft: #c8d4ec; --pr-muted: #8a9bbd;
    --pr-line: rgba(96, 141, 255, .18); --pr-field: #0a1630; --pr-field-focus: #0f2147;
    --pr-upload: rgba(31, 123, 255, .06); --pr-upload-line: rgba(96, 141, 255, .35);
    --pr-num-bg: #0a1630; --pr-done-bg: rgba(31, 123, 255, .18);
    background: var(--pr-bg) !important; color: var(--pr-ink);
    border-color: var(--hv2-border) !important;
}
html[data-theme="light"] .pr-card {
    --pr-bg: #ffffff; --pr-ink: #0e1a33; --pr-soft: #5a6782; --pr-muted: #7b879f;
    --pr-line: #e3e9f3; --pr-field: #f6f8fc; --pr-field-focus: #ffffff;
    --pr-upload: #f6f8fc; --pr-upload-line: #c9d6ea;
    --pr-num-bg: #ffffff; --pr-done-bg: #e8f2ff;
    border-color: rgba(15, 40, 100, .08) !important;
}

/* text */
.pr-card, .pr-card p, .pr-card label, .pr-card .ff-field__label-text, .pr-card .title,
.pr-card h1, .pr-card h2, .pr-card h3, .pr-card h4, .pr-card h5, .pr-card h6, .pr-card .text-dark { color: var(--pr-ink) !important; }
.pr-card .ff-field__label, .pr-card .form-check-label, .pr-card .fs-12, .pr-card small:not(.ff-field__counter) { color: var(--pr-soft) !important; }
.pr-card .text-muted, .pr-card .ff-field__counter, .pr-card .fz-10 { color: var(--pr-muted) !important; }
.pr-card .ff-field__required, .pr-card .text-danger { color: #fb5c7c !important; }
.pr-card .bg-white { background: var(--pr-bg) !important; }
.pr-card__head { border-color: var(--pr-line); }

/* fields */
.pr-card .form-control, .pr-card .form-select, .pr-card .ff-field__input, .pr-card select, .pr-card textarea {
    background: var(--pr-field) !important; color: var(--pr-ink) !important; border-color: var(--pr-line) !important;
}
.pr-card .form-control:focus, .pr-card .form-select:focus, .pr-card .ff-field__input:focus, .pr-card textarea:focus {
    background: var(--pr-field-focus) !important;
}
.pr-card .form-control::placeholder, .pr-card textarea::placeholder { color: var(--pr-muted) !important; opacity: 1; }
.pr-card select option { background: var(--pr-bg); color: var(--pr-ink); }
.pr-card .ff-field__toggle-password, .pr-card .togglePassword { color: var(--pr-muted) !important; background: transparent !important; }
.pr-card input:-webkit-autofill { -webkit-text-fill-color: var(--pr-ink); -webkit-box-shadow: 0 0 0 40px var(--pr-field) inset !important; }

/* phone picker (intl-tel-input) */
.pr-card .iti__selected-dial-code, .pr-card .iti__selected-flag { color: var(--pr-ink) !important; }
.pr-card .iti__country-list, .pr-card .iti__dropdown-content {
    background: var(--pr-bg) !important; color: var(--pr-ink); border: 1px solid var(--pr-line) !important; border-radius: 12px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, .35);
}
.pr-card .iti__country.iti__highlight, .pr-card .iti__country:hover { background: rgba(31, 123, 255, .16) !important; }
.pr-card .iti__dial-code { color: var(--pr-muted) !important; }
.pr-card .iti__search-input { background: var(--pr-field) !important; color: var(--pr-ink) !important; border-color: var(--pr-line) !important; }

/* uploads */
.pr-card .upload-file__img, .pr-card .upload-file .upload-file__img--placeholder,
.pr-card .spartan_item_wrapper, .pr-card .spartan_image_placeholder, .pr-card .upload-content,
.pr-card [style*="dashed"] {
    background: var(--pr-upload) !important; border-color: var(--pr-upload-line) !important;
}
.pr-card .upload-file:hover .upload-file__img { background: rgba(31, 123, 255, .1) !important; }
.pr-card .spartan_item_wrapper img { background: transparent; }

/* business plan + boxes */
.pr-card .card, .pr-card .no-business-plan-box, .pr-card .rounded.border, .pr-card .border:not(.form-control) {
    background: var(--pr-field) !important; border-color: var(--pr-line) !important; color: var(--pr-ink);
}
.pr-card .border-bottom { border-color: var(--pr-line) !important; }

/* stepper colours from variables */
.pr-card .wizard > .steps .number { background: var(--pr-num-bg); border-color: var(--pr-line); }
.pr-card .wizard > .steps li::before { background: var(--pr-line); }
.pr-card .wizard > .steps li.done .number { background: var(--pr-done-bg); }
.pr-card .wizard > .steps li.disabled a, .pr-card .wizard > .steps li.disabled .number::after { color: var(--pr-muted) !important; }
.pr-card .wizard > .actions { border-color: var(--pr-line); }
.pr-card .wizard > .actions a[href="#previous"] { background: transparent !important; color: var(--pr-soft) !important; border-color: var(--pr-line) !important; }

/* dark card shadow */
.pr-card { box-shadow: 0 24px 60px rgba(0, 0, 0, .35); }
html[data-theme="light"] .pr-card { box-shadow: 0 14px 40px rgba(15, 40, 100, .10); }
/* remove leftover borders/separators of the original vertical tabs */
.pr-card .wizard > .steps li, .pr-card .wizard > .steps a { border: 0 !important; box-shadow: none !important; }
.pr-card .wizard > .steps li::after, .pr-card .wizard > .steps a::after, .pr-card .wizard > .steps a::before { display: none !important; content: none !important; }
/* map box */
.pr-card #location_map_canvas, .pr-card [id*="map"] { border-radius: 14px; overflow: hidden; border: 1px solid var(--pr-line); }
