/**
 * Provider signup wizard — full-bleed bordered sections (site login / main-inputs-group pattern).
 * Overrides global .content-detail .main-form .form-floating padding so dividers span edge to edge.
 */
.provider-signup-wizard.ps-wizard-root {
    --ps-w-xs: 6px;
    --ps-w-sm: 10px;
    --ps-w-md: 14px;
    --ps-w-lg: 18px;
    --ps-w-xl: 22px;
    --ps-wizard-gutter: clamp(12px, 3vw, 18px);
    --ps-wizard-form-outer-pad: clamp(12px, 3vw, 24px);
    /* Match global .search-button-main (dashboard.css): primary #4C6CDB, hover accent #F69420 */
    --ps-wizard-brand: #4c6cdb;
    --ps-wizard-brand-hover: #3d5bc8;
    --ps-wizard-brand-mid: #6b85e8;
    --ps-wizard-brand-soft: rgba(76, 108, 219, 0.1);
    --ps-wizard-brand-softer: rgba(76, 108, 219, 0.06);
    --ps-wizard-brand-border: rgba(76, 108, 219, 0.28);
    --ps-wizard-brand-ring: rgba(76, 108, 219, 0.22);
    --ps-wizard-brand-ambient: rgba(76, 108, 219, 0.08);
    --ps-wizard-accent: #f69420;
    --ps-wizard-label: #42597a;
    --ps-wizard-surface-muted: #fafbfd;
    --ps-wizard-line: #b9c9d8;
    --ps-wizard-line-strong: #c7d1d9;
    padding: 0;
    max-width: 100%;
    box-sizing: border-box;
    /* overflow must stay visible: Google Places .pac-container is reparented under the address field;
       overflow:hidden on this root would clip the suggestion list (API still returns predictions). */
    overflow-x: visible;
    overflow-y: visible;
}

/* Chrome / Safari autofill — removes default pale blue/yellow fill so fields match the white card */
.provider-signup-wizard input:-webkit-autofill,
.provider-signup-wizard input:-webkit-autofill:hover,
.provider-signup-wizard input:-webkit-autofill:focus,
.provider-signup-wizard input:-webkit-autofill:active,
.provider-signup-wizard textarea:-webkit-autofill,
.provider-signup-wizard textarea:-webkit-autofill:hover,
.provider-signup-wizard textarea:-webkit-autofill:focus,
.provider-signup-wizard select:-webkit-autofill,
.provider-signup-wizard select:-webkit-autofill:hover,
.provider-signup-wizard select:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
    box-shadow: 0 0 0 1000px #ffffff inset !important;
    -webkit-text-fill-color: #1f2937 !important;
    caret-color: #1f2937;
    transition: background-color 5000s ease-out 0s;
}

/* Firefox and other UAs that support the standard :autofill pseudo-class */
.provider-signup-wizard input:autofill,
.provider-signup-wizard textarea:autofill,
.provider-signup-wizard select:autofill {
    background-color: #ffffff !important;
    color: #1f2937 !important;
}

/* Step progress — bottom rule only under meta (avoids double line with bar frame) */
.ps-wizard-progress {
    margin: 0 0 var(--ps-w-lg);
    border-bottom: none;

    padding-bottom: 20px;
}

.ps-wizard-progress__track {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0;
    width: 100%;
    padding-top: 2px;
}

.ps-wizard-progress__step {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
}

.ps-wizard-progress__step:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 15px;
    left: 50%;
    width: 100%;
    height: 2px;
    background: #e8edf3;
    z-index: 0;
}

.ps-wizard-progress__step.is-done:not(:last-child)::after {
    background: var(--ps-wizard-brand);
}

.ps-wizard-progress__badge {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
    border: 2px solid var(--ps-wizard-line);
    background: #fff;
    color: #94A3B8;
}

.ps-wizard-progress__step.is-current .ps-wizard-progress__badge {
    border-color: var(--ps-wizard-brand);
    background: var(--ps-wizard-brand);
    color: #fff;
    box-shadow: 0 0 0 3px var(--ps-wizard-brand-soft);
}

.ps-wizard-progress__step.is-done .ps-wizard-progress__badge {
    border-color: var(--ps-wizard-brand);
    background: var(--ps-wizard-brand);
    color: #fff;
}

.ps-wizard-progress__label {
    margin-top: 6px;
    font-size: clamp(10px, 2.4vw, 12px);
    font-weight: 600;
    color: #94A3B8;
    line-height: 1.2;
    padding: 0 2px;
}

.ps-wizard-progress__step.is-current .ps-wizard-progress__label {
    color: #1a1a2e;
}

.ps-wizard-progress__step.is-done .ps-wizard-progress__label {
    color: #64748b;
}

.ps-wizard-progress__bar-wrap {
    box-sizing: border-box;
    height: 1px;
    margin-top: var(--ps-w-sm);
    max-width: none;
    background: #e8edf3;
    border-radius: 0;
    overflow: hidden;
}

.ps-wizard-progress__bar {
    height: 100%;
    min-height: 0;
    background: linear-gradient(90deg, var(--ps-wizard-brand), var(--ps-wizard-brand-mid));
    border-radius: 0;
    transition: width 0.35s ease;
}

/*
 * Provider signup: connector lines between step badges; hide duplicate bar under track.
 */
.main-form.main-form-provider-wizard .provider-signup-wizard > .ps-wizard-progress .ps-wizard-progress__step:not(:last-child)::after {
    display: block;
}

.main-form.main-form-provider-wizard .provider-signup-wizard > .ps-wizard-progress .ps-wizard-progress__bar-wrap {
    display: none;
}

.main-form.main-form-provider-wizard .provider-signup-wizard > .ps-wizard-progress::after {
    content: '';
    display: block;
    box-sizing: border-box;
    height: 0;
    border-top: 1px solid var(--filter-border, #e5e7eb);
    margin-top: var(--filter-gap, 12px);
    margin-left: calc(-1 * var(--ps-wizard-actions-bleed, 18px));
    margin-right: calc(-1 * var(--ps-wizard-actions-bleed, 18px));
    width: calc(100% + 2 * var(--ps-wizard-actions-bleed, 18px));
    max-width: none;
}

/* Full-bleed meta + bottom rule (matches progress bar edge-to-edge) */
.ps-wizard-progress__meta {
    box-sizing: border-box;
    font-size: clamp(11px, 2.7vw, 16px);
    color: #64748b;
    text-align: center;
    margin: var(--ps-w-sm) calc(-1 * var(--ps-wizard-gutter)) 0;
    line-height: 1.5;
    width: calc(100% + 2 * var(--ps-wizard-gutter));
    max-width: none;
    margin: 35px 0px 20px 0px !important;
}

.ps-wizard-progress__meta-section {
    color: #1a1a2e;
    font-weight: 600;
}

.ps-wizard-badge-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
}

.ps-wizard-badge-num {
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

.ps-wizard-badge-check {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
}

@media (min-width: 576px) {
    .ps-wizard-progress__step.is-done .ps-wizard-badge-num {
        display: none;
    }
}

@media (max-width: 575.98px) {
    .ps-wizard-progress__track {
        display: flex;
        align-items: flex-start;
        justify-content: center;
        width: 100%;
        gap: 0;
        padding-bottom: 6px;
        overflow-x: visible;
    }

    .ps-wizard-progress__step {
        flex: 1 1 0;
        min-width: 0;
        max-width: none;
    }

    .ps-wizard-progress__step:not(:last-child)::after {
        top: 17px;
    }

    .ps-wizard-progress__badge {
        width: 34px;
        height: 34px;
        font-size: 13px;
    }

    .ps-wizard-progress__label {
        font-size: 9px;
        font-weight: 700;
        word-break: break-word;
        hyphens: auto;
        max-width: 100%;
    }

    .ps-wizard-badge-check {
        width: 10px;
        height: 10px;
    }

    .ps-wizard-progress {
        margin-bottom: var(--ps-w-md);
        padding-bottom: var(--ps-w-sm);
    }

    .ps-wizard-progress__meta {
        margin-top: var(--ps-w-xs);
        margin-left: calc(-1 * var(--ps-wizard-gutter));
        margin-right: calc(-1 * var(--ps-wizard-gutter));
        width: calc(100% + 2 * var(--ps-wizard-gutter));
        line-height: 1.45;
    }
}

/* -------------------------------------------------------------------------
   Outer shell: transparent, padding *outside* the bordered inner card (all steps)
   ------------------------------------------------------------------------- */
.provider-signup-wizard .ps-wizard-form-box-outer {
    box-sizing: border-box;
    background: transparent;
    padding-left: var(--ps-wizard-form-outer-pad);
    padding-right: var(--ps-wizard-form-outer-pad);
    padding-bottom: var(--ps-w-sm);
    margin-top: var(--ps-w-md);
}

.provider-signup-wizard .ps-wizard-form-box-outer .ps-wizard-form-box.auth-filter-form,
.provider-signup-wizard .ps-wizard-form-box-outer .ps-wizard-form-box {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    background-color: #fff !important;
    padding: 0;
    /* Do not clip: office address Google Places dropdown is positioned inside this card */
    /* overflow: visible; */
    border-radius: 0 !important;
    margin-bottom: 20px !important;
}

/* No outer card stroke on step sections (dashboard.css .main-inputs-group border overridden below). */
.provider-signup-wizard .ps-wizard-form-box-outer .ps-wizard-form-box:only-of-type,
.provider-signup-wizard .ps-wizard-form-box-outer .ps-wizard-form-box:not(:first-of-type):not(:last-of-type),
.provider-signup-wizard .ps-wizard-form-box-outer .ps-wizard-form-box:last-of-type:not(:first-of-type) {
    border-radius: 0 !important;
    border: none !important;
}

.provider-signup-wizard .ps-wizard-form-box-outer .ps-wizard-form-box:not(:last-of-type) {
    margin-bottom: 0 !important;
}

/* Step 1: single section card — no outer border; spacing only */
.provider-signup-wizard .ps-wizard-form-box-outer.ps-wizard-form-box-outer--split-cards .ps-wizard-form-box {
    border-radius: 0 !important;
    border: none !important;
    margin-bottom: 16px !important;
}

.provider-signup-wizard .ps-wizard-form-box-outer.ps-wizard-form-box-outer--split-cards .ps-wizard-form-box:last-of-type {
    margin-bottom: 0 !important;
}

.provider-signup-wizard .ps-wizard-form-box-outer.ps-wizard-form-box-outer--split-cards .ps-wizard-form-box:first-of-type:not(:last-of-type),
.provider-signup-wizard .ps-wizard-form-box-outer.ps-wizard-form-box-outer--split-cards .ps-wizard-form-box:not(:first-of-type):not(:last-of-type),
.provider-signup-wizard .ps-wizard-form-box-outer.ps-wizard-form-box-outer--split-cards .ps-wizard-form-box:last-of-type:not(:first-of-type) {
    border-radius: 0 !important;
}

/* Insurance card: titled section + select */
.provider-signup-wizard .ps-wizard-insurances-card .ps-wizard-form-row--section-head .ps-wizard-form-cell {
    padding-top: var(--ps-w-md);
    padding-bottom: var(--ps-w-sm);
}

.provider-signup-wizard .ps-wizard-insurances-card .ps-wizard-subheading--card-head {
    padding-left: 12px;
    padding-right: 12px;
}

/* Licenses card: one rule under intro; stacked licenses — single hairline, no gap (divider on next header only) */
.provider-signup-wizard .ps-wizard-licenses-box .ps-wizard-form-row--license-intro {
    border-bottom: none !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    z-index: 1 !important;
    margin-bottom: 0 !important;
}

.provider-signup-wizard .ps-wizard-licenses-box .invalid-feedback {
    margin-bottom: 0 !important;
}

/* One separator between license panels: top edge of header row only (flush under previous body) */
.provider-signup-wizard .ps-wizard-licenses-box .ps-wizard-license-group:not(.ps-wizard-office-group--first) .ps-wizard-office-group__accordion-head {
    border-top: 1px solid var(--ps-wizard-line);
}

.provider-signup-wizard .ps-wizard-licenses-box .ps-wizard-office-group__body.is-open {
    border-top: 1px solid var(--ps-wizard-line);
}

.provider-signup-wizard .ps-wizard-licenses-box .ps-wizard-office-group__body {
    padding-bottom: 0;
    border-bottom: none !important;
}

.provider-signup-wizard .ps-wizard-licenses-box {
    border-radius: 8px !important;
    overflow: hidden;
}

/* .provider-signup-wizard .ps-wizard-licenses-box .ps-wizard-office-group__body .ps-wizard-office-group__row {
    border-bottom: 1px solid var(--ps-wizard-line);
} */

.provider-signup-wizard .ps-wizard-licenses-box .ps-wizard-office-group__body .ps-wizard-office-group__row:last-child {
    border-bottom: none !important;
}

.provider-signup-wizard .ps-wizard-licenses-box .ps-wizard-license-group:last-child .ps-wizard-office-group__accordion-head {
    border-bottom: none;
}

.provider-signup-wizard .ps-wizard-licenses-box .ps-wizard-license-group:last-child .ps-wizard-office-group__body.is-open {
    border-bottom: 1px solid var(--ps-wizard-line);
}

.provider-signup-wizard .ps-wizard-form-box-outer .ps-wizard-form-box:not(:last-of-type) {
    margin-bottom: 20px !important;
}

.provider-signup-wizard .ps-wizard-form-box-outer.ps-wizard-form-box-outer--split-cards .ps-wizard-form-box:not(:last-of-type) {
    margin-bottom: 16px !important;
}

/* -------------------------------------------------------------------------
   Field rows: no grid dividers (matches user-signup); spacing via gutters
   ------------------------------------------------------------------------- */
.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-row {
    --ps-form-cell-border: #c7d1d9;
    margin-left: 0;
    margin-right: 0;
    border-bottom: none;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-row:last-child {
    border-bottom: none;
}

/* When multiple stacked cards sit in one outer (e.g. Step 2 practice + offices), keep a light bottom
 * line on the last row of every card except the final card — avoids a “missing” divider and
 * matches the internal row rhythm without doubling the outer card edge. */
.provider-signup-wizard .ps-wizard-form-box-outer .ps-wizard-form-box:not(:last-of-type) .ps-wizard-form-row:last-child {
    /* border-bottom: 1px solid var(--ps-wizard-line); */
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-cell {
    min-height: 0;
}

@media (min-width: 768px) {
    .provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-row > [class*='col-md-6']:first-child {
        border-right: none;
    }
}

/* Extra vertical rhythm for photo / hospital block (horizontal gutter from .ps-wizard-form-cell) */
.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-cell--padded {
    padding-top: var(--ps-w-md);
    padding-bottom: var(--ps-w-md);
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-cell--padded .ps-wizard-photo-row {
    margin: 0;
    padding: 0 10px;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-cell--stack > .ps-wizard-subheading + .ps-wizard-add-row,
.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-cell--stack > .ps-wizard-subheading + .ps-wizard-lang-panel {
    border-top: 1px solid var(--ps-wizard-line);
    padding-top: var(--ps-w-sm);
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-cell--stack > .form-floating + .form-floating,
.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-cell--stack > .ps-wizard-subheading + .form-floating,
.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-cell--stack > .form-floating + .ps-wizard-insurance-list {
    border-top: 1px solid var(--ps-wizard-line);
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-insurance-list {
    margin: 0;
    border: none;
    border-top: 1px solid var(--ps-wizard-line);
    border-radius: 0;
    max-height: 240px;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-lang-panel {
    border: none;
    border-top: 1px solid var(--ps-wizard-line);
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-cell .ps-wizard-subheading {
    margin: 0 0 var(--ps-w-sm);
    padding: var(--ps-w-sm) 12px 0;
    font-size: 13px;
    font-weight: 700;
    color: #1a1a2e;
    text-transform: none;
    letter-spacing: normal;
}

/* Hospital system prompt — align with floating field labels (not section subheading weight) */
.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-cell .ps-wizard-subheading--hospital {
    font-size: 14px;
    font-weight: 400;
    color: #42597A;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-cell--toolbar {
    padding-top: var(--ps-w-sm);
    padding-bottom: var(--ps-w-sm);
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-card-row {
    margin-bottom: 6px;
    border-color: var(--ps-wizard-line);
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-card-row:last-child {
    margin-bottom: 0;
}

/* Step 2: office locations — accordion panels; one rule between stacked offices (licenses use header-only dividers) */
.provider-signup-wizard .ps-wizard-office-group:not(.ps-wizard-office-group--first):not(.ps-wizard-license-group) {
    border-top: 1px solid var(--ps-wizard-line);
}

.provider-signup-wizard .ps-wizard-office-group__accordion-head {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 6px;
    min-height: 48px;
    padding: 0 4px 0 0;
    border-bottom: none;
    background: #fff;
}

.provider-signup-wizard .ps-wizard-office-group__accordion-head--primary {
    /* border-left: 4px solid var(--ps-wizard-brand); */
    padding-left: 0;
    /* background: linear-gradient(90deg, var(--ps-wizard-brand-soft) 0%, #fff min(100%, 220px)); */
}

.provider-signup-wizard .ps-wizard-office-group__toggle {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    padding: 10px 12px 10px 12px;
    border: none;
    background: transparent;
    text-align: left;
    font: inherit;
    color: #1a1a2e;
    cursor: pointer;
    border-radius: 0;
}

.provider-signup-wizard .ps-wizard-office-group__toggle--primary {
    align-items: center;
    padding-top: 12px;
    padding-bottom: 12px;
}

.provider-signup-wizard .ps-wizard-office-group__toggle--primary .ps-wizard-office-group__title-stack {
    align-self: center;
}

.provider-signup-wizard .ps-wizard-office-group__toggle--primary .ps-wizard-office-group__chevron {
    align-self: center;
    margin-top: 0;
}

.provider-signup-wizard .ps-wizard-office-group__toggle:focus-visible {
    outline: 2px solid var(--ps-wizard-brand);
    outline-offset: -2px;
}

.provider-signup-wizard .ps-wizard-office-group__chevron {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--ps-wizard-brand);
    transition: transform 0.2s ease;
}

.provider-signup-wizard .ps-wizard-office-group__chevron svg {
    display: block;
}

.provider-signup-wizard .ps-wizard-office-group__chevron:not(.is-open) {
    transform: rotate(-90deg);
}

.provider-signup-wizard .ps-wizard-office-group__title-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    min-width: 0;
    flex: 1;
}

.provider-signup-wizard .ps-wizard-office-group__title-eyebrow {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--ps-wizard-label);
}

.provider-signup-wizard .ps-wizard-office-group__title-stack .ps-wizard-office-group__title {
    font-size: 13px;
    font-weight: 700;
    color: #1a1a2e;
    letter-spacing: normal;
}

.provider-signup-wizard .ps-wizard-office-group__icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    height: 44px;
    margin: 4px 4px 4px 0;
    padding: 0;
    border: 1px solid var(--ps-wizard-line-strong, #c7d1d9);
    border-radius: 6px;
    background: #fff;
    color: var(--ps-wizard-label);
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.provider-signup-wizard .ps-wizard-office-group__icon-btn:hover {
    background: #f1f5f9;
    border-color: #94a3b8;
}

.provider-signup-wizard .ps-wizard-office-group__icon-btn:focus-visible {
    outline: 2px solid var(--ps-wizard-brand);
    outline-offset: 2px;
}

.provider-signup-wizard .ps-wizard-office-group__icon-btn--danger {
    color: var(--ps-wizard-label);
    border-color: var(--ps-wizard-line-strong);
    background: #fff;
}

.provider-signup-wizard .ps-wizard-office-group__icon-btn--danger:hover {
    background: var(--ps-wizard-brand-softer);
    border-color: var(--ps-wizard-brand-border);
    color: var(--ps-wizard-brand);
}

.provider-signup-wizard .ps-wizard-office-group__icon-btn--primary {
    color: #fff;
    background: var(--ps-wizard-brand);
    border-color: var(--ps-wizard-brand);
}

.provider-signup-wizard .ps-wizard-office-group__icon-btn--primary:hover {
    background: var(--ps-wizard-brand-hover);
    border-color: var(--ps-wizard-brand-hover);
    color: #fff;
}

.provider-signup-wizard .ps-wizard-form-cell--toolbar-icons {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-right: 12px;
}

.provider-signup-wizard .ps-wizard-office-group__body {
    background: #fff;
    /* border-top: 1px solid var(--ps-wizard-line); */
    /* Keeps content inside the outer card's rounded bottom edge (nested weekly no longer uses bottom margin). */
    padding-bottom: 12px;
}

.provider-signup-wizard .ps-address-ac-shell {
    overflow: visible;
    min-width: 0;
}

.provider-signup-wizard .office-location-ac-wrap .pac-container {
    z-index: 100002;
}

.provider-signup-wizard .ps-wizard-office-group__body .ps-wizard-form-cell {
    overflow: visible;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .text-muted {
    color: var(--ps-wizard-label) !important;
}

.provider-signup-wizard .ps-wizard-office-group__row {
    margin-left: 0;
    margin-right: 0;
    /* border-bottom: 1px solid var(--ps-wizard-line); */
}

.provider-signup-wizard .ps-wizard-office-group__row:last-child {
    border-bottom: none;
}

.provider-signup-wizard .ps-wizard-office-group__row--flush .ps-wizard-form-cell {
    padding-bottom: 8px;
}

.provider-signup-wizard .ps-wizard-office-group__row--flush .ps-wizard-form-cell--nested-weekly {
    padding-top: 6px;
}

@media (min-width: 768px) {
    .provider-signup-wizard .ps-wizard-office-group__row > [class*='col-md-6']:first-child {
        border-right: none;
    }
}

.provider-signup-wizard .ps-wizard-form-row--office-intro .ps-wizard-form-cell {
    padding-top: var(--ps-w-md);
    padding-bottom: var(--ps-w-sm);
}

.provider-signup-wizard .ps-wizard-office-intro__text {
    min-width: 0;
}

/* Add-office control: centered in col-2 */
.provider-signup-wizard .ps-wizard-form-row--office-intro .ps-wizard-office-intro__btn-col {
    padding-left: 6px;
    padding-right: 12px;
}

.provider-signup-wizard .ps-wizard-office-intro__add.ps-wizard-office-group__icon-btn {
    margin: 0;
    flex-shrink: 0;
}

.provider-signup-wizard .ps-wizard-form-row--office-intro .ps-wizard-muted {
    margin-top: 6px;
    line-height: 1.45;
    color: var(--ps-wizard-label);
}

.provider-signup-wizard .ps-wizard-office-group__accordion-head--primary .ps-wizard-office-group__icon-btn {
    align-self: center;
    margin-top: 0;
    margin-bottom: 0;
    margin-right: 8px;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office {
    padding: 0 !important;
    margin: 0;
    background: #fff !important;
    border-top: 1px solid var(--ps-wizard-line);
    border-radius: 0 0 8px 8px;
    color-scheme: light;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__head {
    border-bottom: 1px solid var(--ps-wizard-line);
    margin-bottom: 0;
    padding-bottom: 0;
    gap: 0;
    column-gap: 0;
    align-items: stretch;
    background: #fff;
    /* Fixed Open column so vertical rules line up with body rows (not `auto`) */
    grid-template-columns: minmax(96px, 1.15fr) 76px minmax(0, 1fr) minmax(0, 1fr);
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__row {
    gap: 0;
    column-gap: 0;
    padding: 0;
    align-items: stretch;
    border-bottom: 1px solid var(--ps-wizard-line);
    grid-template-columns: minmax(96px, 1.15fr) 76px minmax(0, 1fr) minmax(0, 1fr);
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__row:last-of-type {
    border-bottom: none;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__head > span,
.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__row > * {
    box-sizing: border-box;
}

/* Column guides: Open | From | To */
.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__head > span:nth-child(2),
.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__head > span:nth-child(3),
.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__head > span:nth-child(4) {
    border-left: 1px solid var(--ps-wizard-line);
    padding: 10px 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.04em;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__head > span:first-child {
    padding: 10px 12px;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__row > .ps-wizard-hours__day {
    padding: 10px 12px;
    align-self: center;
    color: var(--ps-wizard-label);
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__row > .ps-wizard-hours__open {
    border-left: 1px solid var(--ps-wizard-line);
    padding: 10px 8px;
    min-height: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__row > .ps-wizard-hours__time {
    border-left: 1px solid var(--ps-wizard-line);
    padding: 10px 8px;
    min-height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Weekly "Open" checkboxes: override global style.css (.form-check-input { border !important; 15px }) — square, centered, neutral when off */
.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__open .form-check-input {
    flex: 0 0 auto;
    align-self: center;
    width: 1.125rem !important;
    height: 1.125rem !important;
    min-width: 1.125rem !important;
    min-height: 1.125rem !important;
    max-width: 1.125rem !important;
    max-height: 1.125rem !important;
    margin: 0 !important;
    margin-top: 0 !important;
    border-radius: 0.2em !important;
    background-size: 70% 70% !important;
    box-sizing: border-box;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .form-check-input:not(:checked) {
    background-color: #fff !important;
    border: 1px solid var(--ps-wizard-line-strong) !important;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .form-check-input:checked {
    background-color: var(--ps-wizard-brand) !important;
    border: 1px solid var(--ps-wizard-brand) !important;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .form-check-input:focus {
    border-color: var(--ps-wizard-brand) !important;
    box-shadow: 0 0 0 0.15rem var(--ps-wizard-brand-ring) !important;
    outline: none !important;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__row-error {
    display: block;
    width: 100%;
    margin: 0;
    padding: 8px 12px;
    border-top: 1px solid var(--ps-wizard-line);
    box-sizing: border-box;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__time .form-control-sm {
    background-color: #fff !important;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__time input:disabled {
    background-color: #fff !important;
    color: #64748b !important;
    border-color: var(--ps-wizard-line) !important;
    opacity: 1;
}

/* Office weekly grid: no gray panel, no extra box border (avoids double lines with row borders) */
.provider-signup-wizard .ps-wizard-hours.ps-wizard-hours--office {
    border: none;
    border-radius: 0;
    padding: 4px 12px 12px;
    background: #fff;
}

.provider-signup-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__head {
    border-bottom-color: var(--ps-wizard-line);
}

.provider-signup-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__row {
    border-bottom-color: var(--ps-wizard-line);
}

.provider-signup-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__time .form-control-sm {
    background-color: #fff !important;
    color: #1a1a2e;
    border: 1px solid var(--ps-wizard-line-strong) !important;
    box-shadow: none !important;
}

.provider-signup-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__time input:disabled {
    background-color: #f8fafc !important;
    color: #94a3b8;
    border-color: var(--ps-wizard-line-strong) !important;
    opacity: 1;
}

.provider-signup-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__time .form-control-sm:focus:not(:disabled) {
    border-color: var(--ps-wizard-brand) !important;
    box-shadow: none !important;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-hours.ps-wizard-hours--office {
    border: none !important;
    border-radius: 0 !important;
    background: #fff !important;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office {
    padding: 0 !important;
    border-radius: 0 0 8px 8px !important;
    border-top: 1px solid var(--ps-wizard-line) !important;
    background: #fff !important;
}

.provider-signup-wizard .ps-wizard-form-cell--nested-weekly {
    padding-left: 0;
    padding-right: 0;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion__head {
    border-top: 1px solid var(--ps-wizard-line);
    background: #fff;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 10px 12px;
    border: none;
    background: transparent;
    text-align: left;
    font: inherit;
    color: #1a1a2e;
    cursor: pointer;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion__toggle:focus-visible {
    outline: 2px solid var(--ps-wizard-brand);
    outline-offset: -2px;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion__chevron {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #64748b;
    transition: transform 0.2s ease;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion__chevron svg {
    display: block;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion__chevron:not(.is-open) {
    transform: rotate(-90deg);
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion__title {
    font-size: 13px;
    font-weight: 600;
    color: #1a1a2e;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion__title-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 0;
    flex: 1;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion__kicker {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ps-wizard-label);
    opacity: 0.88;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested {
    margin: 12px 16px 0;
    border: 1px solid var(--ps-wizard-line-strong);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 3px var(--ps-wizard-brand-ambient);
    overflow: hidden;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-office-weekly-accordion__head {
    border-top: none;
    /* border-bottom: 1px solid var(--ps-wizard-line); */
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-office-weekly-accordion__toggle {
    align-items: center;
    padding: 12px 14px;
    gap: 12px;
}


.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-office-weekly-accordion__chevron {
    color: var(--ps-wizard-brand);
    opacity: 0.9;
    margin-top: 0;
    align-self: center;
}


.provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-office-weekly-accordion__title {
    font-size: 13px;
    font-weight: 600;
    color: #1a1a2e;
}

.provider-signup-wizard .ps-wizard-office-weekly-accordion__body {
    background: #fff;
}

.provider-signup-wizard:not(.modern-filter-form-wizard) .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    padding: 0 5px 0 0 !important;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-subheading--nested {
    margin: 0 0 6px;
    padding: 8px 12px 0;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    text-transform: none;
    letter-spacing: normal;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-field-group {
    margin-bottom: 0;
    padding: var(--ps-w-sm) 0 var(--ps-w-md);
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-field-group__label {
    padding-left: 0;
    padding-right: 0;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-terms-wrap {
    margin: 0;
    padding: 0;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-cell:has(.ps-wizard-terms-wrap) {
    padding: 0;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-terms-wrap .ps-wizard-terms-row {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start;
    gap: 12px !important;
    margin: 0 !important;
    margin-top: 0 !important;
    padding: 16px 12px !important;
    min-height: 52px;
    border: none !important;
    border-radius: 0;
    font-size: 14px;
    line-height: 1.5;
    color: #021229;
    cursor: pointer;
    width: 100%;
    box-sizing: border-box;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-terms-wrap .ps-wizard-terms-row__text {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    line-height: 1.5;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-terms-wrap .ps-wizard-terms-row__text .text-danger {
    line-height: 1.45;
}

.provider-signup-wizard .ps-wizard-form-box--no-recaptcha .ps-wizard-form-row--recaptcha,
.provider-signup-wizard .ps-wizard-form-box--no-recaptcha .ps-wizard-recaptcha-wrap {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
}

.provider-signup-wizard .ps-wizard-form-box--no-recaptcha .ps-wizard-form-row:last-child {
    border-bottom: none;
}

.provider-signup-wizard .ps-wizard-form-row--recaptcha .ps-wizard-form-cell {
    padding: 0;
}

.provider-signup-wizard .ps-wizard-recaptcha-wrap {
    margin: 0;
    padding: 12px 12px 16px;
    overflow: visible;
}

.provider-signup-wizard .ps-wizard-recaptcha-wrap:empty {
    display: none;
    padding: 0;
}

/* Insurance rows: cell already has horizontal gutter */
.provider-signup-wizard .ps-wizard-form-box .ps-wizard-check-inline {
    padding-left: 0;
    padding-right: 0;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-lang-panel__head {
    padding-left: 0;
    padding-right: 0;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-lang-panel__row {
    padding-left: 0;
    padding-right: 0;
}

/* Bootstrap grid — all steps: col-12 / col-md-6 / col-lg-6 */
.ps-wizard-step-grid,
.ps-wizard-step1-grid {
    margin-top: var(--ps-w-sm);
}

.ps-wizard-step-grid > [class*='col-'] > .main-inputs-group,
.ps-wizard-step1-grid > [class*='col-'] > .main-inputs-group {
    margin-bottom: 0;
}

.ps-wizard-step-grid .ps-wizard-photo-row,
.ps-wizard-step1-grid .ps-wizard-photo-row {
    margin-top: 0;
}

.ps-wizard-step-grid .ps-wizard-subsection--in-grid {
    margin-top: var(--ps-w-xl);
    padding-top: var(--ps-w-md);
    border-top: 1px solid var(--ps-wizard-line);
}

.ps-wizard-step-grid .ps-wizard-subsection--in-grid .main-inputs-group {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    max-width: 100%;
}

.ps-wizard-step-grid .ps-wizard-insurance-list {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    max-width: 100%;
}

.ps-wizard-step-grid > [class*='col-'] > .ps-wizard-field-group {
    margin-bottom: 0;
}

.ps-wizard-step-grid > [class*='col-'] > .ps-wizard-subheading {
    margin-bottom: var(--ps-w-sm);
}

.ps-wizard-step-grid > [class*='col-'] .ps-wizard-field-group__label {
    padding-left: 0;
    padding-right: 0;
}

.ps-wizard-btn-add {
    background: var(--ps-wizard-brand);
    color: #fff;
    border: none;
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    margin: 0 12px 12px 0;
}

.ps-wizard-btn-add:hover {
    background: var(--ps-wizard-brand-hover);
    color: #fff;
}

/* Photo upload row — separator only under progress block; no extra bottom rule */
.ps-wizard-photo-row {
    display: flex;
    align-items: center;
    gap: clamp(12px, 3vw, 20px);
    margin: 0 0 var(--ps-w-lg);
    padding: var(--ps-w-md) 0;
}

.ps-wizard-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #eef2ff;
    border: 2px dashed #c7d1d9;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
    cursor: pointer;
    padding: 0 !important;
    margin: 0;
}

.ps-wizard-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ps-wizard-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    opacity: 0;
}

.ps-wizard-upload-btn {
    background: var(--ps-wizard-brand-softer);
    border: 1px solid #c7d1d9;
    color: var(--ps-wizard-brand);
    padding: 8px 16px !important;
    margin: 8px 0 0 !important;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    line-height: 1.35 !important;
    min-height: 36px;
    cursor: pointer;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    overflow: visible;
    vertical-align: middle;
    white-space: nowrap;
    user-select: none;
}

/* Override global .pad-design-form label padding (was clipping upload control text) */
.provider-signup-wizard label.ps-wizard-upload-btn,
.login-popup-form .provider-signup-wizard label.ps-wizard-upload-btn {
    padding: 8px 16px !important;
    margin: 8px 0 0 !important;
    line-height: 1.35 !important;
    min-height: 36px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-weight: 600 !important;
    color: var(--ps-wizard-brand) !important;
}

.ps-wizard-upload-btn:hover {
    background: #e0e7ff;
    border-color: #a5b4fc;
    color: var(--ps-wizard-brand);
}

.ps-wizard-muted {
    font-size: 12px;
    color: #94a3b8;
    margin-bottom: 8px;
}

.ps-wizard-field-title {
    font-size: 13px;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 4px;
}

/* Two columns — gutter for headings; bordered groups bleed to card edges */
.ps-wizard-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(14px, 2.5vw, 20px);
    margin-bottom: var(--ps-w-lg);
    padding: 0 var(--ps-wizard-gutter);
}

.ps-wizard-two-col .main-inputs-group {
    margin-left: calc(-1 * var(--ps-wizard-gutter));
    margin-right: calc(-1 * var(--ps-wizard-gutter));
    width: calc(100% + 2 * var(--ps-wizard-gutter));
    max-width: none;
}

.ps-wizard-subsection {
    margin-top: var(--ps-w-xl);
    padding: var(--ps-w-md) var(--ps-wizard-gutter) 0;
    border-top: 1px solid var(--ps-wizard-line);
}

.ps-wizard-subheading {
    font-size: clamp(12px, 2.8vw, 13px);
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 var(--ps-w-sm);
}

.ps-wizard-field-group {
    margin-bottom: var(--ps-w-md);
    padding: 0;
}

.ps-wizard-field-group__label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 6px;
    color: #1a1a2e;
    padding: 0 var(--ps-wizard-gutter);
}

.ps-wizard-add-row {
    display: flex;
    gap: 8px;
    margin-bottom: var(--ps-w-sm);
    align-items: stretch;
}

/* Step 4 tag rows: Step 1-like label and inline Add button */
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-row--tag .ps-wizard-form-cell,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-row--tag > .col-12 {
    padding-top: 0;
    padding-bottom: 0;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-row--tag .filter-group {
    margin-bottom: 0;
}

.provider-signup-wizard .ps-wizard-form-row--tag .ps-wizard-specialities-label {
    margin: 0;
}

.provider-signup-wizard .ps-wizard-form-row--tag .ps-wizard-add-row {
    border-top: none !important;
    margin: 0;
    padding: 0 0 12px;
}

.provider-signup-wizard .ps-wizard-tag-entry {
    margin: 0;
    width: 100%;
}

.provider-signup-wizard .ps-wizard-tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
    padding: 0;
}

.provider-signup-wizard .ps-wizard-tag-chip-item {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    max-width: 100%;
    padding: 7px 28px 7px 10px;
    border: 1px solid var(--ps-wizard-line-strong, #c7d1d9);
    border-radius: 8px;
}

.provider-signup-wizard .ps-wizard-tag-chip-item__text {
    font-size: 13px;
    color: #1a1a2e;
    line-height: 1.35;
    word-break: break-word;
}

.provider-signup-wizard .ps-wizard-tag-chip-item__remove {
    position: absolute;
    top: 2px;
    right: 4px;
    border: none;
    background: transparent;
    color: #64748b;
    font-size: 15px;
    line-height: 1;
    width: 18px;
    height: 18px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.provider-signup-wizard .ps-wizard-tag-chip-item__remove:hover {
    color: #dc3545;
}

.ps-wizard-card-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    border: 1px solid #c7d1d9;
    border-radius: 0;
    padding: 10px 12px;
    margin-bottom: 8px;
}

.ps-wizard-card-row--dense {
    padding: 8px;
    border-radius: 6px;
    margin-bottom: 6px;
}

.ps-actions.ps-wizard-actions {
    position: relative;
    margin-top: var(--ps-w-md);
    padding: var(--ps-w-md) 0 0;
    border-top: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    gap: var(--ps-w-sm);
    box-sizing: border-box;
}

/*
 * Full-width divider above Next/Previous (all steps).
 * Line bleeds into .main-form horizontal padding via ::before; buttons stay aligned with form padding.
 */
.main-form.main-form-provider-wizard .provider-signup-wizard > .ps-actions.ps-wizard-actions::before {
    content: '';
    position: absolute;
    top: 0;
    left: calc(-1 * var(--ps-wizard-actions-bleed, 18px));
    right: calc(-1 * var(--ps-wizard-actions-bleed, 18px));
    border-top: 1px solid var(--filter-border, var(--ps-wizard-line, #e5e7eb));
    pointer-events: none;
}

.main-form.main-form-provider-wizard .provider-signup-wizard > .ps-actions.ps-wizard-actions {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: var(--ps-wizard-actions-bleed, 18px);
    padding-right: var(--ps-wizard-actions-bleed, 18px);
    padding-top: var(--filter-gap, 12px);
    padding-bottom: 0;
}

.provider-signup-wizard.modern-filter-form-wizard > .ps-actions.ps-wizard-actions {
    padding-top: var(--filter-gap, 12px);
}

.ps-wizard-actions__start {
    display: flex;
    justify-content: flex-start;
    flex: 0 0 auto;
    min-width: 0;
}

.ps-wizard-actions__end {
    display: flex;
    justify-content: flex-end;
    flex: 0 0 auto;
    min-width: 0;
    margin-left: auto;
}

.ps-wizard-nav-btn {
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.32rem 0.95rem;
    line-height: 1.3;
    border-radius: 8px;
}

/* Previous — outline using site primary (matches Next / search-button-main palette) */
.ps-actions.ps-wizard-actions .ps-wizard-nav-btn--previous {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.32rem 0.95rem;
    line-height: 1.3;
    border-radius: 8px;
    border: 1px solid var(--ps-wizard-brand);
    background: #fff;
    color: var(--ps-wizard-brand);
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.ps-actions.ps-wizard-actions .ps-wizard-nav-btn--previous:hover:not(:disabled) {
    background: var(--ps-wizard-brand-soft);
    border-color: var(--ps-wizard-brand);
    color: var(--ps-wizard-brand-hover);
}

.ps-actions.ps-wizard-actions .ps-wizard-nav-btn--previous:focus-visible {
    outline: 2px solid var(--ps-wizard-brand);
    outline-offset: 2px;
}

.ps-actions.ps-wizard-actions .ps-wizard-nav-btn--previous:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

/* Next / submit — same palette as global .search-button-main (style.css), scoped so Bootstrap .btn does not override */
.ps-actions.ps-wizard-actions .search-button-main.ps-wizard-nav-btn--primary {
    width: auto !important;
    height: auto !important;
    min-height: 2.25rem;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.8125rem !important;
    font-weight: 600;
    padding: 0.32rem 0.95rem !important;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease-out;
    background-color: var(--ps-wizard-brand) !important;
    border: 1px solid var(--ps-wizard-brand) !important;
    color: #fff !important;
}

.ps-actions.ps-wizard-actions .search-button-main.ps-wizard-nav-btn--primary:hover:not(:disabled),
.ps-actions.ps-wizard-actions .search-button-main.ps-wizard-nav-btn--primary:focus-visible:not(:disabled) {
    box-shadow: inset 90em 0 var(--ps-wizard-accent) !important;
    cursor: pointer;
    border-color: var(--ps-wizard-accent) !important;
    color: #000 !important;
}

.ps-actions.ps-wizard-actions .search-button-main.ps-wizard-nav-btn--primary:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

/* Specialities panel — one outer stroke; no nested box on search */
.ps-wizard-panel {
    border: 1px solid #c7d1d9;
    border-radius: 0;
    background: #fff;
    margin: 0 0 var(--ps-w-md);
}

.ps-wizard-panel__head {
    padding: 10px var(--ps-wizard-gutter) 4px;
    background: #fff;
}

.ps-wizard-panel__head span {
    font-size: 12px;
    font-weight: 600;
    color: #94a3b8;
}

.ps-wizard-panel__trigger {
    min-height: 36px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    cursor: pointer;
    justify-content: space-between;
    padding: 4px var(--ps-wizard-gutter) 10px;
}

.ps-wizard-panel__chips {
    min-width: 0;
}

.ps-wizard-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: var(--ps-wizard-brand);
    color: #fff;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
}

.ps-wizard-panel__body {
    padding: 0;
    background: #fff;
    border-top: 1px solid var(--ps-wizard-line);
}

.ps-wizard-panel__search {
    width: 100%;
    border: none;
    border-bottom: 1px solid var(--ps-wizard-line);
    outline: none;
    font-size: 13px;
    background: #fff;
    padding: 10px var(--ps-wizard-gutter);
    border-radius: 0;
    box-shadow: none;
}

.ps-wizard-panel__list {
    max-height: 250px;
    overflow-y: auto;
    background: #fff;
}

.ps-wizard-check-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px var(--ps-wizard-gutter);
    cursor: pointer;
    border-bottom: 1px solid var(--ps-wizard-line);
    background: #fff;
    margin: 0;
}

.ps-wizard-check-row:last-child {
    border-bottom: none;
}

.ps-wizard-check-row:hover {
    background: #f8fafc;
}

.ps-wizard-insurance-list {
    max-height: 280px;
    overflow: auto;
    border: 1px solid #c7d1d9;
    border-radius: 0;
    padding: 0;
    margin: var(--ps-w-sm) 0 0;
    background: #fff;
}

.ps-wizard-check-inline {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px var(--ps-wizard-gutter);
    margin: 0;
    cursor: pointer;
    border-bottom: 1px solid var(--ps-wizard-line);
}

.ps-wizard-insurance-list .ps-wizard-check-inline:last-child {
    border-bottom: none;
}

/* Languages (step 4) — same single-frame pattern */
.ps-wizard-lang-panel {
    border: 1px solid #c7d1d9;
    border-radius: 0;
    overflow: hidden;
    background: #fff;
}

.ps-wizard-lang-panel__head {
    padding: 12px var(--ps-wizard-gutter);
    background: #fff;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    user-select: none;
}

.ps-wizard-lang-panel__summary {
    flex: 1;
    min-width: 0;
}

.ps-wizard-lang-panel__summary-text {
    font-size: 13px;
    color: #1a1a2e;
}

.ps-wizard-lang-panel__chevron {
    font-size: 12px;
    color: #64748b;
    transition: transform 0.3s;
    flex-shrink: 0;
}

.ps-wizard-lang-panel__list {
    max-height: 250px;
    overflow-y: auto;
    background: #fff;
    border-top: 1px solid var(--ps-wizard-line);
}

.ps-wizard-lang-panel__row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px var(--ps-wizard-gutter);
    cursor: pointer;
    border-bottom: 1px solid var(--ps-wizard-line);
    background: #fff;
    margin: 0;
}

.ps-wizard-lang-panel__row:hover {
    background: #f8fafc;
}

.ps-wizard-lang-panel__row:last-child {
    border-bottom: none;
}

.ps-wizard-lang-panel__checkbox {
    cursor: pointer;
}

.ps-wizard-lang-panel__row-text {
    font-size: 13px;
}


/* Modal: cancel body side padding so wizard borders match modal edges */
.provider-wizard-modal-body .main-form.main-form-provider-wizard {
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

.provider-wizard-modal-body .provider-signup-wizard.ps-wizard-root {
    margin-left: -40px;
    margin-right: -40px;
    width: calc(100% + 80px);
}

@media (max-width: 575.98px) {
    .provider-wizard-modal-body .provider-signup-wizard.ps-wizard-root {
        margin-left: -20px;
        margin-right: -20px;
        width: calc(100% + 40px);
    }
}

/*
 * Floating textarea — About & Practice description.
 * Bootstrap’s default .form-floating > label { height: 100% } makes the label span the full textarea;
 * typed text then visually runs under the label. Fix: height:auto on label + generous padding-top on textarea.
 * Scrolling: textarea text can paint above the label in some engines — isolate stacking + opaque label band.
 */
.provider-signup-wizard .ps-wizard-floating-textarea.form-floating {
    isolation: isolate;
}

.provider-signup-wizard .ps-wizard-floating-textarea.form-floating > textarea.form-control {
    position: relative;
    z-index: 0;
    height: auto !important;
    min-height: 8rem;
    resize: vertical;
    padding-top: 2.65rem !important;
    padding-bottom: 0.75rem !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    line-height: 1.5;
    box-sizing: border-box;
}

.provider-signup-wizard .ps-wizard-floating-textarea.form-floating > textarea.form-control:focus,
.provider-signup-wizard .ps-wizard-floating-textarea.form-floating > textarea.form-control:not(:placeholder-shown) {
    padding-top: 2.65rem !important;
}

.provider-signup-wizard .ps-wizard-floating-textarea.form-floating > label,
.content-sec .main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-floating-textarea.form-floating > label,
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-floating-textarea.form-floating > label {
    position: absolute;
    z-index: 2;
    pointer-events: none;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    width: calc(100% - 24px);
    display: flex;
    align-items: flex-start;
    padding-top: 1rem !important;
    padding-bottom: 0.35rem !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    color: #64748b;
    font-weight: 600;
}

.provider-signup-wizard .ps-wizard-floating-textarea.form-floating > .form-control:focus ~ label,
.provider-signup-wizard .ps-wizard-floating-textarea.form-floating > .form-control:not(:placeholder-shown) ~ label {
    color: #1e3a5f;
    font-weight: 700;
}

.provider-signup-wizard .ps-wizard-floating-textarea.form-floating > .form-control.is-invalid ~ label {
    color: #dc3545;
    font-weight: 600;
}

/* Error copy in floating labels — match Bootstrap’s floated label position */
.provider-signup-wizard .ps-wizard-form-box .form-floating > .form-control.is-invalid ~ label.text-danger,
.provider-signup-wizard .ps-wizard-form-box .form-floating > select.form-control.is-invalid ~ label.text-danger {
    color: #dc3545 !important;
    font-weight: 600;
    white-space: normal;
    line-height: 1.25;
    font-size: clamp(0.65rem, 0.55rem + 0.35vw, 0.8rem);
    max-width: calc(100% - 0.5rem);
}

/* Inputs / selects only — textarea uses .ps-wizard-floating-textarea rules (full-height label breaks overlap fix) */
.provider-signup-wizard .ps-wizard-form-box .form-floating > input.form-control.is-invalid ~ label,
.provider-signup-wizard .ps-wizard-form-box .form-floating > select.form-control.is-invalid ~ label {
    opacity: 1;
    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
    transform-origin: 0 0;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-floating-textarea.form-floating > textarea.form-control.is-invalid ~ label.text-danger,
.provider-signup-wizard .ps-wizard-form-box .ps-wizard-floating-textarea.form-floating > textarea.form-control.is-invalid ~ label {
    font-size: clamp(0.65rem, 0.55rem + 0.35vw, 0.8rem);
    line-height: 1.25;
    white-space: normal;
    max-width: calc(100% - 1rem);
    opacity: 1;
    transform: scale(0.85) translateY(-0.15rem) translateX(0.12rem);
    transform-origin: 0 0;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-floating-textarea.form-floating > textarea.form-control:focus ~ label,
.provider-signup-wizard .ps-wizard-form-box .ps-wizard-floating-textarea.form-floating > textarea.form-control:not(:placeholder-shown) ~ label {
    opacity: 0.65;
    transform: scale(0.85) translateY(-0.15rem) translateX(0.12rem);
    transform-origin: 0 0;
}

/*
 * Grid dividers live on .ps-wizard-form-row / stack cells — never on inputs (default, focus, filled).
 * Scoped to .main-form-provider-wizard so style.css / custom.css pad-design-form rules do not apply.
 */
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > .form-control,
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > select.form-control,
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > textarea.form-control,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > .form-control,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > input.form-control,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > select.form-control,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > textarea.form-control,
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > .form-control:focus,
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > select.form-control:focus,
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > textarea.form-control:focus,
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > .form-control:not(:placeholder-shown),
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > .form-control:focus,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > input.form-control:focus,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > select.form-control:focus,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > textarea.form-control:focus,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > .form-control:not(:placeholder-shown),
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > input.form-control:not(:placeholder-shown) {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/*
 * Validation: label text only — no red border on controls (overrides pad-design-form / global .is-invalid).
 */
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating .form-control.is-invalid,
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating select.is-invalid,
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating textarea.is-invalid,
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > .form-control.is-invalid,
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > select.form-control.is-invalid,
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > textarea.form-control.is-invalid,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating .form-control.is-invalid,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating select.is-invalid,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating textarea.is-invalid,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > .form-control.is-invalid,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > input.form-control.is-invalid,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > select.form-control.is-invalid,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > textarea.form-control.is-invalid,
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > .form-control.is-invalid:focus,
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > select.form-control.is-invalid:focus,
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > textarea.form-control.is-invalid:focus,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > .form-control.is-invalid:focus,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > input.form-control.is-invalid:focus,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > select.form-control.is-invalid:focus,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating > textarea.form-control.is-invalid:focus,
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating:has(.form-control.is-invalid),
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating:has(select.is-invalid),
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .ps-wizard-form-box .form-floating:has(.form-control.is-invalid) {
    border: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    border-color: transparent !important;
    background-image: none !important;
    padding-right: 12px !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Native .form-select — chevron only; no red border when invalid */
.main-form.main-form-provider-wizard .provider-signup-wizard .ps-wizard-form-box.ps-wizard-form-box select.form-select.is-invalid:not([multiple]),
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard .ps-wizard-form-box.ps-wizard-form-box select.form-select.is-invalid:not([multiple]),
.main-form.main-form-provider-wizard .provider-signup-wizard .ps-wizard-form-box.ps-wizard-form-box select.form-select.is-invalid:focus:not([multiple]),
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard .ps-wizard-form-box.ps-wizard-form-box select.form-select.is-invalid:focus:not([multiple]) {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") !important;
    background-position: right 0.75rem center !important;
    background-repeat: no-repeat !important;
    background-size: 16px 12px !important;
    padding-right: 2.25rem !important;
    border: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Terms checkbox — visible square; not affected by borderless text-input rules */
.provider-signup-wizard .ps-wizard-form-box .ps-wizard-terms-wrap .form-check-input[type='checkbox'],
.provider-signup-wizard .ps-wizard-terms-row .form-check-input[type='checkbox'] {
    appearance: none;
    -webkit-appearance: none;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    float: none !important;
    width: 1.125rem !important;
    height: 1.125rem !important;
    min-width: 1.125rem !important;
    min-height: 1.125rem !important;
    margin: 0 !important;
    flex: 0 0 1.125rem !important;
    align-self: center !important;
    border: 2px solid #42597a !important;
    border-radius: 0.2rem !important;
    background-color: #fff !important;
    background-image: none !important;
    background-size: contain !important;
    box-shadow: none !important;
    cursor: pointer !important;
    accent-color: var(--ps-wizard-brand, #4c6cdb);
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-terms-wrap .form-check-input[type='checkbox']:checked,
.provider-signup-wizard .ps-wizard-terms-row .form-check-input[type='checkbox']:checked {
    background-color: var(--ps-wizard-brand, #4c6cdb) !important;
    border-color: var(--ps-wizard-brand, #4c6cdb) !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: 100% 100% !important;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-terms-wrap .form-check-input[type='checkbox']:focus,
.provider-signup-wizard .ps-wizard-terms-row .form-check-input[type='checkbox']:focus {
    border-color: var(--ps-wizard-brand, #4c6cdb) !important;
    box-shadow: 0 0 0 0.15rem rgba(76, 108, 219, 0.25) !important;
    outline: none !important;
}

.provider-signup-wizard .ps-wizard-terms-row .form-check-input.is-invalid,
.provider-signup-wizard .ps-wizard-form-box .ps-wizard-terms-wrap .form-check-input.is-invalid {
    border-color: #c7d1d9 !important;
    box-shadow: none !important;
}

.provider-signup-wizard .ps-wizard-terms-row .form-check-input.is-invalid:focus,
.provider-signup-wizard .ps-wizard-form-box .ps-wizard-terms-wrap .form-check-input.is-invalid:focus {
    border-color: var(--ps-wizard-brand, #4c6cdb) !important;
    box-shadow: 0 0 0 0.15rem rgba(76, 108, 219, 0.25) !important;
}

/* Select2 multiselect blocks (specialities, insurances): full width inside wizard form cell */
.provider-signup-wizard .ps-wizard-form-box .ps-wizard-specialities-block .select2-container,
.provider-signup-wizard .ps-wizard-form-box .ps-wizard-insurances-block .select2-container {
    width: 100% !important;
    max-width: 100%;
}

.provider-signup-wizard .ps-wizard-panel {
    width: 100%;
    max-width: none;
}


/* Step sections: no outer box border; row/cell dividers remain inside .ps-wizard-form-box */
.provider-signup-wizard .ps-wizard-form-box,
.provider-signup-wizard .ps-wizard-form-box-outer .ps-wizard-form-box.auth-filter-form,
.provider-signup-wizard .ps-wizard-form-box-outer .ps-wizard-form-box {
    border: none !important;
    border-radius: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    overflow: visible;
    box-shadow: none !important;
}

.provider-signup-wizard .ps-wizard-form-box > .form-floating + .form-floating {
    border-top: 1px solid var(--ps-wizard-line);
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-cell > .form-floating + .form-floating {
    border-top: 1px solid var(--ps-wizard-line);
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-cell > .form-floating + .new-mmulti-select,
.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-cell > .form-floating + .ps-wizard-specialities-block,
.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-cell > .form-floating + .ps-wizard-insurances-block {
    border-top: 1px solid var(--ps-wizard-line);
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-cell > .ps-wizard-hospital-affiliation-wrap.form-floating {
    border-bottom: 1px solid var(--ps-form-cell-border, #c7d1d9);
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-cell > .ps-wizard-hospital-affiliation-wrap.form-floating + .form-floating {
    border-top: none !important;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-cell--stack > .d-flex + .form-floating {
    border-top: 1px solid var(--ps-wizard-line);
}

/* (Input borders: see consolidated block above — .ps-wizard-form-box .form-floating > …) */

.content-sec .main-form-provider-wizard .provider-signup-wizard.pad-design-form .form-floating > label,
.content-sec .main-form-provider-wizard .provider-signup-wizard .form-floating label,
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form .form-floating label,
.main-form.main-form-provider-wizard .provider-signup-wizard .form-floating label {
    padding-left: 12px !important;
    padding-right: 12px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

.content-sec .main-form-provider-wizard .provider-signup-wizard .form-floating .form-control,
.content-sec .main-form-provider-wizard .provider-signup-wizard .form-floating input,
.main-form.main-form-provider-wizard .provider-signup-wizard .form-floating input,
.main-form.main-form-provider-wizard .provider-signup-wizard .form-floating select,
.main-form.main-form-provider-wizard .provider-signup-wizard .form-floating textarea {
    padding-left: 12px !important;
    padding-right: 12px !important;
}

.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form input:not([type='checkbox']):not([type='radio']),
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form select,
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form textarea,
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form input:not([type='checkbox']):not([type='radio']):focus,
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form select:focus,
.main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form textarea:focus,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form input:not([type='checkbox']):not([type='radio']),
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form select,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form textarea,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form input:not([type='checkbox']):not([type='radio']):focus,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form select:focus,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.pad-design-form textarea:focus {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.ps-wizard-add-row .form-control {
    border: 1px solid #c7d1d9 !important;
    border-radius: 0;
    box-shadow: none !important;
}

.ps-wizard-add-row .form-control:focus {
    border-color: var(--ps-wizard-brand) !important;
    box-shadow: none !important;
}

.provider-signup-wizard .ps-wizard-form-box > .form-floating + .new-mmulti-select,
.provider-signup-wizard .ps-wizard-form-box > .form-floating + .ps-wizard-specialities-block,
.provider-signup-wizard .ps-wizard-form-box > .form-floating + .ps-wizard-insurances-block {
    border-top: none;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-specialities-block.new-mmulti-select,
.provider-signup-wizard .ps-wizard-form-box .ps-wizard-insurances-block.new-mmulti-select,
.provider-signup-wizard .ps-wizard-form-box .new-mmulti-select {
    border: none !important;
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-top: 6px;
    padding-bottom: 8px;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-specialities-block.new-mmulti-select,
.provider-signup-wizard .ps-wizard-form-box .ps-wizard-insurances-block.new-mmulti-select {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.provider-signup-wizard .ps-wizard-form-box .new-mmulti-select > label:not(.ps-wizard-specialities-label):not(.ps-wizard-insurances-label) {
    /* padding-left: 12px !important; */
    padding-right: 12px !important;
}

.provider-signup-wizard .ps-wizard-form-box .select2-container--default .select2-selection--multiple {
    border: none !important;
    border-radius: 0 !important;
    min-height: 48px;
}

.provider-signup-wizard:not(.modern-filter-form-wizard) .ps-wizard-form-box .ps-wizard-specialities-dropdown .select2-container--default .select2-selection--multiple,
.provider-signup-wizard:not(.modern-filter-form-wizard) .ps-wizard-form-box .ps-wizard-insurances-dropdown .select2-container--default .select2-selection--multiple {
    min-height: 52px !important;
    padding: 8px 10px 8px 0 !important;
    align-items: center;
}

.provider-signup-wizard:not(.modern-filter-form-wizard) .select2-selection--multiple {
    padding: 8px 10px 8px 0 !important;
}

.provider-signup-wizard:not(.modern-filter-form-wizard) .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    padding: 0 5px 0 0;
}

.provider-signup-wizard:not(.modern-filter-form-wizard) .select2-container--default .select2-search--inline .select2-search__field {
    padding-left: 0 !important;
}


.provider-signup-wizard .ps-wizard-form-box .select2-container--default.select2-container--focus .select2-selection--multiple,
.provider-signup-wizard .ps-wizard-form-box .select2-container--default.select2-container--open .select2-selection--multiple {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.ps-wizard-subsection .main-inputs-group {
    margin-left: calc(-1 * var(--ps-wizard-gutter));
    margin-right: calc(-1 * var(--ps-wizard-gutter));
    width: calc(100% + 2 * var(--ps-wizard-gutter));
    max-width: none;
}

.ps-wizard-two-col .ps-wizard-insurance-list {
    margin-left: calc(-1 * var(--ps-wizard-gutter));
    margin-right: calc(-1 * var(--ps-wizard-gutter));
    width: calc(100% + 2 * var(--ps-wizard-gutter));
    max-width: none;
}

/* Step 4: lists span full wizard width inside stack cells */
.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-cell--stack .ps-wizard-lang-panel,
.provider-signup-wizard .ps-wizard-form-box .ps-wizard-terms-wrap {
    max-width: none;
}

.provider-signup-wizard .ps-wizard-specialities-block,
.provider-signup-wizard .ps-wizard-insurances-block {
    border-bottom: none;
    padding-bottom: 0;
}

.provider-signup-wizard .ps-wizard-specialities-block--invalid,
.provider-signup-wizard .ps-wizard-insurances-block--invalid {
    border-bottom-color: transparent;
}

.provider-signup-wizard .ps-wizard-specialities-block .invalid-feedback,
.provider-signup-wizard .ps-wizard-insurances-block .invalid-feedback {
    color: #dc3545;
    font-size: 0.875rem;
    margin-top: 0.35rem;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-cell--stack > .ps-wizard-insurances-block {
    flex: 1 1 auto;
    min-height: 0;
}

.provider-signup-wizard.modern-filter-form-wizard .select2-container--default.is-invalid .select2-selection--multiple,
.provider-signup-wizard.modern-filter-form-wizard .select2-container--default.is-invalid.select2-container--focus .select2-selection--multiple,
.provider-signup-wizard.modern-filter-form-wizard .select2-container--default.is-invalid .select2-selection--multiple:focus {
    border-color: var(--filter-error, #ef4444) !important;
    box-shadow: none !important;
}

.provider-signup-wizard:not(.modern-filter-form-wizard) .select2-container--default.is-invalid .select2-selection--multiple,
.provider-signup-wizard:not(.modern-filter-form-wizard) .select2-container--default.is-invalid.select2-container--focus .select2-selection--multiple,
.provider-signup-wizard:not(.modern-filter-form-wizard) .select2-container--default.is-invalid .select2-selection--multiple:focus {
    border: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

/* Step 2: weekly hours (same schedule for all offices) */
.provider-signup-wizard .ps-wizard-form-box .ps-wizard-inset-x {
    padding-left: 12px;
    padding-right: 12px;
}

.provider-signup-wizard .ps-wizard-form-box .ps-wizard-hours:not(.ps-wizard-hours--office) {
    border: 1px solid var(--ps-wizard-line-strong);
    border-radius: 8px;
    padding: 12px 14px;
    background: #fafbfd;
}

.provider-signup-wizard .ps-wizard-hours__head {
    grid-template-columns: minmax(120px, 1.2fr) auto minmax(110px, 1fr) minmax(110px, 1fr);
    gap: 10px;
    align-items: center;
    padding-bottom: 8px;
    margin-bottom: 8px;
    border-bottom: 1px solid var(--ps-wizard-line);
}

.provider-signup-wizard .ps-wizard-hours__row {
    display: grid;
    grid-template-columns: minmax(120px, 1.2fr) auto minmax(110px, 1fr) minmax(110px, 1fr);
    gap: 10px;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid var(--ps-wizard-line);
}

.provider-signup-wizard .ps-wizard-hours__row:last-of-type {
    border-bottom: none;
}

.provider-signup-wizard .ps-wizard-hours__open {
    display: flex;
    align-items: center;
    justify-content: center;
}

.provider-signup-wizard .ps-wizard-hours__open-label {
    margin-right: 8px;
}

.provider-signup-wizard .ps-wizard-hours__time .form-control-sm {
    min-height: 38px;
}

.provider-signup-wizard .ps-wizard-hours__row-error {
    grid-column: 1 / -1;
    padding-left: 12px;
}

@media (max-width: 767.98px) {
    .provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__row > .ps-wizard-hours__open,
    .provider-signup-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__row > .ps-wizard-hours__time {
        border-left: none;
    }

    .provider-signup-wizard .ps-wizard-hours__row {
        grid-template-columns: 1fr;
        align-items: stretch;
        padding: 14px 0;
    }

    .provider-signup-wizard .ps-wizard-hours__open {
        justify-content: flex-start;
        gap: 8px;
    }

    .provider-signup-wizard .ps-wizard-hours__time {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .ps-wizard-two-col {
        grid-template-columns: 1fr;
    }

    .ps-wizard-photo-row {
        flex-direction: column;
        align-items: flex-start;
        margin-top: var(--ps-w-sm);
    }

    .ps-wizard-subsection {
        margin-top: var(--ps-w-lg);
        padding-top: var(--ps-w-sm);
    }

    .ps-wizard-add-row {
        flex-direction: column;
    }

    .ps-wizard-add-row .btn,
    .ps-wizard-add-row button,
    .ps-wizard-add-row .ps-wizard-btn-add {
        width: 100%;
    }

    .ps-wizard-card-row {
        flex-direction: column;
        align-items: stretch;
    }

    .ps-wizard-card-row > button {
        align-self: flex-end;
    }

    .ps-actions.ps-wizard-actions {
        flex-direction: column-reverse;
        align-items: stretch;
        flex-wrap: wrap;
    }

    .ps-wizard-actions__start,
    .ps-wizard-actions__end {
        width: 100%;
        margin-left: 0;
        justify-content: stretch;
    }

    .ps-wizard-actions__start button,
    .ps-wizard-actions__end button {
        width: 100%;
    }
}


.provider-signup-wizard .ps-wizard-form-box .ps-wizard-form-row[id="25"] .filter-group.ps-wizard-filter-group {
    border-top: none !important;
}

/* Step 2 office stack only (not license accordions): closing hairline on last office header */
.provider-signup-wizard .ps-wizard-form-box:not(.ps-wizard-licenses-box) .ps-wizard-office-group:last-child .ps-wizard-office-group__accordion-head {
    border-bottom: 1px solid #c7d1d9 !important;
}

/* .ps-wizard-form-row--license-intro[id="32"]~.col-12.col-md-6.col-lg-6.ps-wizard-form-cell .form-floating{
    border-bottom: none !important;
} */

/* .ps-wizard-form-row--license-intro[id="32"] 
~ .col-12.col-md-6.col-lg-6.ps-wizard-form-cell 
.form-floating {
    border-bottom: none !important;
} */

/* .ps-wizard-form-row--license-intro#32 
+ .ps-wizard-office-group 
.form-floating {
    border-bottom: none !important;
} */

/* #wizard-license-issue-0.form-control
    ~ label,
#wizard-license-issue-0 {
        border-bottom: none !important;
} */

/* ===== Modern filter form fields (user-signup pattern) ===== */
.provider-signup-wizard.modern-filter-form.modern-filter-form-wizard {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    overflow: visible;
}

/* User-signup spacing: g-3 field rows, no grid hairlines */
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-fields,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-group__row.ps-wizard-fields {
    border-bottom: none !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-fields > [class*='col-'],
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-group__row > [class*='col-'] {
    border-right: none !important;
    border-bottom: none !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-cell {
    padding: 0 !important;
    min-height: 0;
}

.provider-signup-wizard.modern-filter-form-wizard .auth-signup-fields > [class*='col-'] > .filter-group,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-fields > [class*='col-'] > .filter-group,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-group__row > [class*='col-'] > .filter-group {
    margin-bottom: 0;
    padding: 0;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-cell--padded {
    padding: 0 !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-cell--padded .ps-wizard-photo-row {
    padding: 0;
    margin: 0;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-cell > .filter-group + .filter-group,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-cell--stack > .filter-group + .filter-group,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-cell--stack > .ps-wizard-subheading + .filter-group,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-cell > .filter-group + .new-mmulti-select,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-cell > .filter-group + .ps-wizard-specialities-block,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-cell > .filter-group + .ps-wizard-insurances-block,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hospital-affiliation-wrap + .filter-group,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-cell--stack > .d-flex + .filter-group {
    border-top: none !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-box {
    padding: 0;
    box-sizing: border-box;
}

.provider-signup-wizard.modern-filter-form-wizard .filter-group .ps-wizard-photo-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 0;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-progress {
    margin-bottom: var(--filter-gap, 14px);
    padding-bottom: 0;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.provider-signup-wizard.modern-filter-form-wizard > .ps-actions.ps-wizard-actions {
    margin-top: var(--filter-gap, 12px);
}

.main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-box .form-control.is-invalid:not(.form-check-input),
.main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-box input.is-invalid:not([type='checkbox']):not([type='radio']),
.main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-box textarea.is-invalid,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-box .form-control.is-invalid:not(.form-check-input) {
    background-image: none !important;
    padding-right: 12px !important;
}

.main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-box select.modern-input.is-invalid,
.main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-box select.form-select.is-invalid:not([multiple]),
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-box select.modern-input.is-invalid {
    padding-right: 36px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-box .filter-label {
    padding: 0 !important;
    margin-bottom: var(--filter-label-gap, 6px) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--filter-text, #1e293b) !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-specialities-block .multi-select-dropdown,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-insurances-block .multi-select-dropdown {
    width: 100%;
    padding: 0 !important;
    margin: 0;
    border: none !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-specialities-block .filter-label,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-insurances-block .filter-label {
    margin-bottom: var(--filter-label-gap, 6px) !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-box .select2-container--default .select2-selection--multiple,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-box .select2-container--default.select2-container--focus .select2-selection--multiple,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-box .select2-container--default.select2-container--open .select2-selection--multiple {
    border: 1px solid var(--filter-border, #e5e7eb) !important;
    border-radius: 8px !important;
    min-height: 44px !important;
    box-shadow: none !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-box .ps-wizard-form-cell--stack > .ps-wizard-subheading + .ps-wizard-add-row,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-box .ps-wizard-form-cell--stack > .ps-wizard-subheading + .ps-wizard-lang-panel,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-box .ps-wizard-insurance-list,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-box .ps-wizard-lang-panel,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-box .ps-wizard-specialities-dropdown.multi-select-dropdown,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-box .ps-wizard-insurances-dropdown.multi-select-dropdown {
    border-top: none !important;
    border-bottom: none !important;
}

.provider-signup-wizard.modern-filter-form-wizard textarea.modern-input {
    min-height: 100px !important;
    height: auto !important;
    resize: vertical;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-tag-entry .modern-input {
    border-radius: 8px !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-address-ac-shell .office-location-ac-wrap .modern-input,
.provider-signup-wizard.modern-filter-form-wizard .ps-address-ac-shell .office-location-ac-wrap .form-control.modern-input {
    width: 100%;
}

/* Restore bordered inputs over legacy pad-design-form borderless rules */
.main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard .modern-input,
.main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard input.modern-input:not([type='checkbox']):not([type='radio']),
.main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard select.modern-input,
.main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard textarea.modern-input,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard .modern-input,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard input.modern-input:not([type='checkbox']):not([type='radio']),
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard select.modern-input,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard textarea.modern-input {
    border: 1px solid var(--filter-border, #e5e7eb) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

.main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard .modern-input:focus,
.main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard input.modern-input:focus:not([type='checkbox']):not([type='radio']),
.main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard select.modern-input:focus,
.main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard textarea.modern-input:focus,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard .modern-input:focus,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard input.modern-input:focus:not([type='checkbox']):not([type='radio']),
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard select.modern-input:focus,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard textarea.modern-input:focus {
    outline: none !important;
    border: 1px solid var(--filter-border, #e5e7eb) !important;
    box-shadow: none !important;
}

.main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard .modern-input.is-invalid,
.main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard .filter-group.has-field-error .modern-input,
.content-detail .main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard .modern-input.is-invalid {
    border-color: var(--filter-error, #ef4444) !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-terms-wrap .filter-label,
.provider-signup-wizard.modern-filter-form-wizard .filter-group.auth-terms-field > .filter-label {
    margin-bottom: var(--filter-label-gap, 6px) !important;
    padding: 0 !important;
}

.provider-signup-wizard.modern-filter-form-wizard .filter-group.auth-terms-field > .auth-terms-check {
    padding: 0 !important;
    margin: 0 !important;
    width: 100%;
}

.provider-signup-wizard.modern-filter-form-wizard .filter-group.auth-terms-field .auth-terms-check input[type='checkbox'] {
    appearance: none;
    -webkit-appearance: none;
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    margin: 0 !important;
    flex: 0 0 18px !important;
    align-self: center !important;
    border: 2px solid #e5e7eb !important;
    border-radius: 0.2rem !important;
    background-color: #fff !important;
    background-image: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    position: static !important;
    top: auto !important;
    transform: none !important;
    accent-color: var(--filter-primary, #2b63d9);
}

.provider-signup-wizard.modern-filter-form-wizard .filter-group.auth-terms-field .auth-terms-check input[type='checkbox']:checked {
    background-color: var(--filter-primary, #2b63d9) !important;
    border-color: var(--filter-primary, #546895) !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: 100% 100% !important;
}

/* .provider-signup-wizard.modern-filter-form-wizard .filter-group.auth-terms-field .auth-terms-check input[type='checkbox']:focus-visible {
    outline: 2px solid rgba(43, 99, 217, 0.35);
    outline-offset: 2px;
} */

/* .provider-signup-wizard.modern-filter-form-wizard .filter-group.auth-terms-field .auth-terms-check input[type='checkbox'].is-invalid {
    border-color: var(--filter-error, #ef4444) !important;
} */

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-row--recaptcha .filter-group {
    margin-bottom: 0;
}

/* Select2 multiselect (specialities, insurance, languages): modern-input padding + full-width typing line */
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-specialities-block .select2-container,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-insurances-block .select2-container {
    width: 100% !important;
    max-width: 100% !important;
}

.provider-signup-wizard.modern-filter-form-wizard .multi-select-dropdown .select2-selection__rendered {
    margin-left: 0 !important;
}

.provider-signup-wizard.modern-filter-form-wizard .multi-select-dropdown .select2-selection__rendered,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-box .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-specialities-dropdown .select2-container--default .select2-selection--multiple,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-insurances-dropdown .select2-container--default .select2-selection--multiple {
    padding: 10px 12px !important;
    min-height: 44px !important;
    box-sizing: border-box;
}

.provider-signup-wizard.modern-filter-form-wizard .select2-container--default .select2-selection--multiple .select2-selection__choice {
    margin: 0 !important;
    padding: 4px 10px !important;
    line-height: 1.35;
}

.provider-signup-wizard.modern-filter-form-wizard .select2-container--default .select2-selection--multiple .select2-search--inline {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: block !important;
}

.provider-signup-wizard.modern-filter-form-wizard .select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 2px 0 !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: var(--filter-text, #1e293b);
    line-height: 1.4;
    height: 28px !important;
    box-sizing: border-box;
}

/* ===== Steps 1–4 — modern filter form (shared with user-signup field pattern) ===== */

.provider-signup-wizard.modern-filter-form-wizard .filter-group .ps-wizard-photo-row {
    margin-bottom: 0;
    padding: 0;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-muted {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: var(--filter-muted, #9ca3af);
    margin-bottom: 8px;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-upload-btn {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--filter-primary, #2b63d9) !important;
    background: #ffffff !important;
    border: 1px solid var(--filter-border, #e5e7eb) !important;
    border-radius: 8px !important;
    padding: 8px 14px !important;
    margin: 8px 0 0 !important;
    min-height: 40px;
    line-height: 1.35 !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-upload-btn:hover {
    background: var(--filter-inactive-bg, #f1f5f9) !important;
    border-color: var(--filter-primary, #2b63d9) !important;
    color: var(--filter-primary, #2b63d9) !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hospital-segment {
    margin-top: 0;
    max-width: 100%;
}

/* Hospital Yes/No: full-size invisible radios so label clicks always reach Livewire */
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hospital-segment .auth-segment-option {
    position: relative;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hospital-segment .auth-segment-option input[type="radio"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: pointer;
    pointer-events: auto;
    z-index: 2;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hospital-segment .auth-segment-option label {
    position: relative;
    z-index: 1;
    pointer-events: none;
    border: 1px solid var(--filter-border, #e5e7eb) !important;
    background: var(--filter-inactive-bg, #f1f5f9) !important;
    color: #64748b !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hospital-segment .auth-segment-option input[type="radio"]:checked + label {
    background: var(--filter-primary, #2b63d9) !important;
    color: #ffffff !important;
    border-color: var(--filter-primary, #2b63d9) !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hospital-segment .auth-segment-option input[type="radio"]:checked + label:hover {
    background: #2454c4 !important;
    border-color: #2454c4 !important;
    color: #ffffff !important;
}

/*
 * Steps 1–4: bleed past .main-form-provider-wizard padding; sections share horizontal rhythm.
 */
.provider-signup-wizard.modern-filter-form-wizard {
    --ps-w-form-pad-x: var(--ps-wizard-actions-bleed, 18px);
    --bs-gutter-x: 14px;
    --ps-w-field-inset-x: calc(var(--bs-gutter-x) * 0.5);
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-box-outer:has(.ps-wizard-form-bleed) {
    padding-left: 0;
    padding-right: 0;
}

.main-form.main-form-provider-wizard .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-bleed {
    margin-left: calc(-1 * var(--ps-w-form-pad-x));
    margin-right: calc(-1 * var(--ps-w-form-pad-x));
    width: calc(100% + 2 * var(--ps-w-form-pad-x));
    max-width: none;
    box-sizing: border-box;
}

/* Steps 1 & 4: single field block (no bleed sections) */
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-bleed:not(:has(.ps-wizard-form-bleed__section)) {
    padding-left: var(--ps-w-form-pad-x);
    padding-right: var(--ps-w-form-pad-x);
    box-sizing: border-box;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-bleed__section {
    padding-left: var(--ps-w-form-pad-x);
    padding-right: var(--ps-w-form-pad-x);
    box-sizing: border-box;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-bleed__section--divider {
    padding-bottom: 20px;
    border-bottom: 1px solid var(--filter-border, #e5e7eb);
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-bleed__section--after-divider {
    padding-top: 20px;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-section-head {
    margin-bottom: 20px;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-section-head-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-section-intro {
    flex: 1 1 0;
    min-width: 0;
}

/* Address autocomplete: single bordered input (shell is not a field) */
.provider-signup-wizard.modern-filter-form-wizard .ps-address-ac-shell {
    display: block;
    width: 100%;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    min-height: 0 !important;
    box-shadow: none !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-address-ac-shell .office-location-ac-wrap {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-add-btn {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid var(--filter-primary, #2b63d9);
    border-radius: 8px;
    background: var(--filter-primary, #2b63d9);
    color: #ffffff;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-add-btn:hover {
    background: #2454c4;
    border-color: #2454c4;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-add-btn:focus-visible {
    outline: 2px solid rgba(43, 99, 217, 0.35);
    outline-offset: 2px;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-group {
    border: 1px solid var(--filter-border, #e5e7eb);
    border-radius: 8px;
    overflow: hidden;
    margin-top: var(--filter-gap, 14px);
    background: #ffffff;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-group--first {
    margin-top: 0;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-group:not(.ps-wizard-office-group--first) {
    border-top: 1px solid var(--filter-border, #e5e7eb);
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-group__accordion-head--primary {
    background: #ffffff;
    border-bottom: none;
    padding: 0 var(--ps-w-field-inset-x) 0 0;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-group:has(.ps-wizard-office-group__body.is-open) .ps-wizard-office-group__accordion-head--primary {
    border-bottom: 1px solid var(--filter-border, #e5e7eb);
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-group__toggle--primary {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-group__title-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: var(--filter-text, #1e293b);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    opacity: 0.72;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-group__title-stack .ps-wizard-office-group__title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: var(--filter-text, #1e293b);
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-group__icon-btn--primary {
    border-color: var(--filter-primary, #2b63d9);
    background: var(--filter-primary, #2b63d9);
    color: #ffffff;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-group__icon-btn--danger {
    border-color: var(--filter-error, #ef4444);
    color: var(--filter-error, #ef4444);
    background: #ffffff;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-group__body {
    padding: var(--filter-gap, 14px) 0 16px;
    border-bottom: none;
    box-sizing: border-box;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-group__row {
    margin-left: 0;
    margin-right: 0;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-group__accordion-head--primary .ps-wizard-office-group__toggle--primary {
    padding: 12px var(--ps-w-field-inset-x);
}

/* Step 3 license fields — same label/input rhythm as step 1 (user-signup pattern) */
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-license-fields {
    margin-left: 0;
    margin-right: 0;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-license-fields > [class*='col-'] > .filter-group {
    margin-bottom: 0;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-license-group .filter-group .filter-label {
    padding: 0 !important;
    margin-bottom: var(--filter-label-gap, 6px) !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-license-group .ps-wizard-date-input-wrap {
    display: block;
    width: 100%;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-license-group .ps-wizard-date-input-wrap .modern-input {
    width: 100%;
}

/* Step 3 — insurance + medical licenses share one field grid */
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-step3-fields {
    margin-left: 0;
    margin-right: 0;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-step3-licenses-head {
    padding-top: 20px;
    border-top: 1px solid var(--filter-border, #e5e7eb);
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-step3-licenses-head .ps-wizard-office-section-head {
    margin-bottom: 0;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-step3-licenses-head > .filter-error {
    margin-top: 4px;
    margin-bottom: 0;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-license-stack {
    display: flex;
    flex-direction: column;
    gap: var(--filter-gap, 14px);
    width: 100%;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-license-stack .ps-wizard-license-group {
    margin-top: 0 !important;
    border: 1px solid var(--filter-border, #e5e7eb);
}

/* Closed license accordion — single outer border only (no head divider) */
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-license-group.is-collapsed > .ps-wizard-office-group__accordion-head--primary {
    border-bottom: none !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-license-group.is-collapsed > .ps-wizard-office-group__body {
    border-top: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-license-group:not(.is-collapsed) > .ps-wizard-office-group__accordion-head--primary {
    border-bottom: 1px solid var(--filter-border, #e5e7eb);
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-weekly-cell {
    margin-top: var(--filter-gap, 14px);
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-weekly-accordion__body > .filter-error {
    padding: 8px var(--ps-w-field-inset-x) 0;
    margin-bottom: 0 !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-weekly-accordion--nested {
    margin: 0;
    border: 1px solid var(--filter-border, #e5e7eb);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: none;
    overflow: hidden;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-office-weekly-accordion__head {
    border-top: none;
    border-bottom: none;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-office-weekly-accordion__toggle {
    align-items: flex-start;
    gap: 14px;
    padding: 14px var(--ps-w-field-inset-x);
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-office-weekly-accordion__kicker {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--filter-muted, #64748b);
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-office-weekly-accordion__title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: var(--filter-text, #1e293b);
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-weekly-accordion__title-stack {
    flex: 1 1 auto;
    min-width: 0;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-weekly-accordion__summary-col {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 52%;
    margin: 0;
    padding: 0 8px 0 12px;
    list-style: none;
    text-align: right;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-weekly-accordion__summary-col li {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: var(--filter-muted, #64748b);
    line-height: 1.5;
    white-space: nowrap;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-weekly-accordion__summary-col li + li {
    margin-top: 2px;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-office-weekly-accordion__chevron {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--filter-primary, #2b63d9);
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-weekly-accordion__body.is-open {
    border-top: 1px solid var(--filter-border, #e5e7eb);
    padding: 0 0 0;
    box-sizing: border-box;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-weekly-accordion__body .ps-wizard-hours.ps-wizard-hours--office {
    border: none !important;
    border-radius: 0 !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-group__body .ps-wizard-hours.ps-wizard-hours--office {
    padding: 0 !important;
    margin: 0;
    border: 1px solid var(--filter-border, #e5e7eb);
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff !important;
    color-scheme: light;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__head {
    border-bottom: 1px solid var(--filter-border, #e5e7eb);
    margin-bottom: 0;
    padding-bottom: 0;
    gap: 0;
    column-gap: 0;
    align-items: stretch;
    background: #ffffff;
    grid-template-columns: minmax(96px, 1.15fr) 76px minmax(0, 1fr) minmax(0, 1fr);
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__row {
    gap: 0;
    column-gap: 0;
    padding: 0;
    align-items: stretch;
    border-bottom: 1px solid var(--filter-border, #e5e7eb);
    grid-template-columns: minmax(96px, 1.15fr) 76px minmax(0, 1fr) minmax(0, 1fr);
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__row:last-of-type {
    border-bottom: none;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__head > span,
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__row > * {
    box-sizing: border-box;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__head > span:nth-child(2),
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__head > span:nth-child(3),
.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__head > span:nth-child(4) {
    border-left: 1px solid var(--filter-border, #e5e7eb);
    padding: 10px 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 600;
    font-size: 12px;
    color: var(--filter-text, #1e293b);
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__head > span:first-child {
    padding: 10px 12px;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__row > .ps-wizard-hours__day {
    padding: 10px 12px;
    align-self: center;
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: var(--filter-text, #1e293b);
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__row > .ps-wizard-hours__open {
    border-left: 1px solid var(--filter-border, #e5e7eb);
    padding: 10px 8px;
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__row > .ps-wizard-hours__time {
    border-left: 1px solid var(--filter-border, #e5e7eb);
    padding: 10px 8px;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__open .form-check-input {
    flex: 0 0 auto;
    width: 1.125rem !important;
    height: 1.125rem !important;
    min-width: 1.125rem !important;
    min-height: 1.125rem !important;
    max-width: 1.125rem !important;
    max-height: 1.125rem !important;
    margin: 0 !important;
    border-radius: 0.2em !important;
    background-size: 70% 70% !important;
    box-sizing: border-box;
    cursor: pointer;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hours.ps-wizard-hours--office .form-check-input:not(:checked) {
    background-color: #ffffff !important;
    border: 1px solid var(--filter-border, #e5e7eb) !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hours.ps-wizard-hours--office .form-check-input:checked {
    background-color: var(--filter-primary, #2b63d9) !important;
    border: 1px solid var(--filter-primary, #2b63d9) !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hours.ps-wizard-hours--office .form-check-input:focus {
    border-color: var(--filter-primary, #2b63d9) !important;
    box-shadow: 0 0 0 0.15rem rgba(43, 99, 217, 0.25) !important;
    outline: none !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__time .modern-input {
    width: 100%;
    min-height: 40px !important;
    height: 40px !important;
    margin: 0;
    background: #ffffff !important;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__time .modern-input:disabled {
    background: #ffffff !important;
    color: #94a3b8 !important;
    border-color: var(--filter-border, #e5e7eb) !important;
    opacity: 1;
}

.provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__row-error {
    display: block;
    width: 100%;
    margin: 0;
    padding: 8px 12px;
    border-top: 1px solid var(--filter-border, #e5e7eb);
    box-sizing: border-box;
}

@media (max-width: 767.98px) {
    .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__row > .ps-wizard-hours__open,
    .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-hours.ps-wizard-hours--office .ps-wizard-hours__row > .ps-wizard-hours__time {
        border-left: none;
    }
}

/* Steps 1–4 — shared responsive (bleed, offices, licenses, weekly summary) */
@media (max-width: 991.98px) {
    .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-weekly-accordion__summary-col {
        max-width: 46%;
    }
}

@media (max-width: 767.98px) {
    .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-bleed__section--divider {
        padding-bottom: 16px;
    }

    .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-form-bleed__section--after-divider,
    .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-step3-licenses-head {
        padding-top: 16px;
    }

    .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-section-head {
        margin-bottom: 16px;
    }

    .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-step3-licenses-head .ps-wizard-office-section-head {
        margin-bottom: 0;
    }

    .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-section-head-row {
        align-items: flex-start;
    }

    .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-add-btn {
        width: 36px;
        height: 36px;
    }

    .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-office-weekly-accordion__toggle {
        flex-wrap: wrap;
        row-gap: 10px;
    }

    .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-weekly-accordion__summary-col {
        flex: 1 1 100%;
        order: 3;
        max-width: 100%;
        padding: 0;
        margin-top: 4px;
        text-align: left;
    }

    .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-weekly-accordion__summary-col li {
        white-space: normal;
    }

    .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-office-weekly-accordion__chevron {
        margin-left: auto;
    }

}

@media (max-width: 575.98px) {
    .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-group__accordion-head--primary .ps-wizard-office-group__toggle--primary {
        padding: 10px var(--ps-w-field-inset-x);
    }

    .provider-signup-wizard.modern-filter-form-wizard .ps-wizard-office-weekly-accordion--nested .ps-wizard-office-weekly-accordion__toggle {
        padding: 12px var(--ps-w-field-inset-x);
    }
}

/* Step 5 — Free plan (landscape banner) */
.provider-signup-wizard .ps-wizard-free-plan-box .ps-wizard-form-bleed {
    padding-top: 4px;
}

.provider-signup-wizard .ps-wizard-free-plan {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 28px;
    background: linear-gradient(135deg, #ECFDF5 0%, #D1FAE5 45%, #F0F9FF 100%);
    border: 1px solid #BBF7D0;
    border-radius: 12px;
    padding: 28px 32px;
    margin-bottom: 20px;
    text-align: left;
    position: relative;
    overflow: hidden;
}

.provider-signup-wizard .ps-wizard-free-plan::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 15% 50%, rgba(34, 197, 94, 0.08) 0%, transparent 45%),
                      radial-gradient(circle at 85% 30%, rgba(43, 99, 217, 0.06) 0%, transparent 40%);
    pointer-events: none;
}

.provider-signup-wizard .ps-wizard-free-plan__visual,
.provider-signup-wizard .ps-wizard-free-plan__content {
    position: relative;
    z-index: 1;
}

.provider-signup-wizard .ps-wizard-free-plan__visual {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-width: 120px;
    padding-right: 8px;
}

.provider-signup-wizard .ps-wizard-free-plan__gift {
    width: 88px;
    height: 88px;
    border-radius: 18px;
    background: linear-gradient(145deg, #4ADE80, #22C55E);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    color: #fff;
    box-shadow: 0 10px 28px rgba(34, 197, 94, 0.28);
    transform: rotate(-4deg);
    margin-bottom: 12px;
}

.provider-signup-wizard .ps-wizard-free-plan__content {
    flex: 1;
    min-width: 0;
}

.provider-signup-wizard .ps-wizard-free-plan__badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 999px;
    background: #16A34A;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.provider-signup-wizard .ps-wizard-free-plan__title {
    font-size: clamp(1.25rem, 1rem + 0.8vw, 1.65rem);
    font-weight: 700;
    color: #0F172A;
    margin: 0 0 8px;
    line-height: 1.25;
}

.provider-signup-wizard .ps-wizard-free-plan__price {
    font-size: 1.75rem;
    font-weight: 700;
    color: #16A34A;
    margin: 0;
    line-height: 1.2;
}

.provider-signup-wizard .ps-wizard-free-plan__price span {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: #64748B;
    margin-top: 2px;
}

.provider-signup-wizard .ps-wizard-free-plan__desc {
    font-size: 14px;
    color: #475569;
    line-height: 1.55;
    margin: 0 0 16px;
    max-width: none;
}

.provider-signup-wizard .ps-wizard-free-plan__features {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 20px;
}

.provider-signup-wizard .ps-wizard-free-plan__features li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    color: #1E293B;
    line-height: 1.35;
    margin: 0;
}

.provider-signup-wizard .ps-wizard-free-plan__features li i {
    color: #22C55E;
    margin-top: 2px;
    flex-shrink: 0;
    font-size: 12px;
}

.provider-signup-wizard .ps-wizard-free-plan__fields {
    margin-top: 4px;
}

@media (max-width: 767.98px) {
    .provider-signup-wizard .ps-wizard-free-plan {
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
        padding: 22px 20px;
        text-align: center;
    }

    .provider-signup-wizard .ps-wizard-free-plan__visual {
        flex-direction: row;
        justify-content: center;
        gap: 16px;
        min-width: 0;
        padding-right: 0;
    }

    .provider-signup-wizard .ps-wizard-free-plan__gift {
        width: 72px;
        height: 72px;
        font-size: 32px;
        margin-bottom: 0;
    }

    .provider-signup-wizard .ps-wizard-free-plan__content {
        text-align: center;
    }

    .provider-signup-wizard .ps-wizard-free-plan__features {
        grid-template-columns: 1fr;
        text-align: left;
        max-width: 360px;
        margin-left: auto;
        margin-right: auto;
    }

}
