.partner-wizard {
    --partner-wizard-sidebar: 296px;
    background: #fff;
    color: #25313c;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 3.5rem);
    overflow: hidden;
}

.partner-wizard .modal-header {
    min-height: 58px;
    padding: 1rem 1.35rem;
}

.partner-wizard-shell {
    display: grid;
    grid-template-columns: var(--partner-wizard-sidebar) minmax(0, 1fr);
    min-height: 0;
    overflow: hidden;
}

.partner-wizard-sidebar {
    background: #f5f8fc;
    border-right: 1px solid #dde6f0;
    display: flex;
    flex-direction: column;
    gap: 1.65rem;
    max-height: calc(100vh - 7.2rem);
    overflow-y: auto;
    padding: 1.25rem;
}

.partner-wizard-main {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 7.2rem);
    min-width: 0;
    overflow-y: auto;
}

.partner-wizard-step {
    flex: 1;
    padding: 1.65rem 2rem;
}

.partner-wizard-step-header {
    align-items: flex-start;
    border-bottom: 1px solid #e5edf5;
    display: flex;
    gap: .8rem;
    margin: -1.65rem -2rem 1.6rem;
    padding: 1.65rem 2rem 1.35rem;
}

.partner-wizard-step-header h3 {
    font-size: 1.65rem;
    font-weight: 700;
    margin: 0;
}

.partner-wizard-step-header p {
    color: #506579;
    margin: .25rem 0 0;
}

.partner-wizard-step-icon {
    color: #48c47a;
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.4;
}

.partner-wizard-card {
    background: #fff;
    border: 1px solid #dbe5ef;
    border-radius: .8rem;
    padding: 1rem;
}

.partner-wizard-progress {
    display: flex;
    flex-direction: column;
    gap: .85rem;
}

.partner-wizard-progress-title {
    color: #506579;
    font-size: .8rem;
    font-weight: 700;
    margin-bottom: .35rem;
    text-transform: uppercase;
}

.partner-wizard-project-card,
.partner-wizard-progress-card,
.partner-wizard-selected-card {
    background: #fff;
    border: 1px solid #dbe5ef;
    border-radius: .8rem;
    padding: 1rem;
}

.partner-wizard-project-logo {
    border-radius: .6rem;
    height: 44px;
    object-fit: contain;
    width: 44px;
}

.partner-wizard-selected-inner {
    border: 1px solid #dbe5ef;
    border-radius: .75rem;
    padding: .75rem;
}

.partner-wizard-progress-item {
    align-items: center;
    color: #465c70;
    display: flex;
    gap: .65rem;
}

.partner-wizard-progress-item > span {
    align-items: center;
    border: 2px solid #ccd8e5;
    border-radius: 999px;
    color: #8191a2;
    display: inline-flex;
    flex: 0 0 38px;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.partner-wizard-progress-item.is-active > span {
    background: #35699f;
    border-color: #35699f;
    color: #fff;
}

.partner-wizard-progress-item.is-done > span {
    background: #35bd7b;
    border-color: #35bd7b;
    color: #fff;
}

.partner-type-grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.partner-type-card {
    border: 1px solid #dbe5ef;
    border-radius: .9rem;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: .7rem;
    min-height: 360px;
    padding: 2rem;
    text-align: center;
}

.partner-type-card input {
    position: absolute;
    opacity: 0;
}

.partner-type-card:has(input:checked),
.partner-type-card:hover {
    border-color: #4f86ff;
    box-shadow: 0 0 0 .15rem rgba(79, 134, 255, .12);
}

.partner-type-icon {
    align-items: center;
    align-self: center;
    background: #dceaff;
    border-radius: 999px;
    color: #315a88;
    display: inline-flex;
    font-size: 2rem;
    height: 96px;
    justify-content: center;
    width: 96px;
}

.partner-type-icon.is-green {
    background: #cff8df;
    color: #147c72;
}

.partner-type-card strong {
    font-size: 1.7rem;
}

.partner-type-card small {
    color: #77899a;
    display: block;
    text-align: left;
}

.partner-wizard-separator {
    align-items: center;
    color: #486174;
    display: flex;
    gap: .75rem;
    margin: 1.55rem 0;
    text-align: center;
}

.partner-wizard-separator::before,
.partner-wizard-separator::after {
    background: #dde6ef;
    content: "";
    flex: 1;
    height: 1px;
}

.partner-search-results {
    max-height: 236px;
    overflow-y: auto;
}

.partner-search-empty {
    align-items: center;
    border: 1px solid #dbe5ef;
    border-radius: .9rem;
    color: #64798c;
    display: flex;
    justify-content: center;
    min-height: 86px;
    padding: 1rem;
    text-align: center;
}

.partner-search-result {
    align-items: center;
    background: #edf3fa;
    border: 1px solid #dbe5ef;
    border-radius: .8rem;
    display: flex;
    gap: 1rem;
    margin-bottom: .5rem;
    padding: .85rem 1rem;
}

.partner-search-result-icon {
    align-items: center;
    background: #c6d8e3;
    border-radius: .65rem;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.partner-search-result-body {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.partner-logo-drop {
    align-items: center;
    background: #f8fafc;
    border: 2px dashed #c8d7e8;
    border-radius: .9rem;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    min-height: 170px;
    padding: 1.5rem;
    text-align: center;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.partner-logo-drop:hover,
.partner-logo-drop.dz-drag-hover {
    background: #fbfdff;
    border-color: #6b96d8;
    box-shadow: 0 0 0 .2rem rgba(65, 124, 190, .1);
}

.partner-logo-suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.partner-logo-suggestion {
    align-items: center;
    background: #fff;
    border: 1px solid #dbe5ef;
    border-radius: .8rem;
    color: #526579;
    display: flex;
    flex: 0 0 180px;
    flex-direction: column;
    gap: .7rem;
    min-height: 150px;
    padding: .8rem;
    text-align: center;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.partner-logo-suggestion:hover,
.partner-logo-suggestion.is-selected {
    border-color: #4f86ff;
    box-shadow: 0 0 0 .15rem rgba(79, 134, 255, .12);
}

.partner-logo-suggestion-preview {
    align-items: center;
    background: #f8fafc;
    border-radius: .75rem;
    display: flex;
    height: 98px;
    justify-content: center;
    overflow: hidden;
    width: 140px;
}

.partner-logo-suggestion-preview img {
    max-height: 98px;
    max-width: 140px;
    object-fit: contain;
}

.partner-wizard-footer {
    align-items: center;
    background: #fff;
    border-top: 1px solid #dbe5ef;
    bottom: 0;
    display: flex;
    gap: .75rem;
    margin-top: auto;
    padding: 1rem;
    position: sticky;
    z-index: 3;
}

.partnership-wizard-main .partner-wizard-step {
    padding: 2rem 2.4rem;
}

.partnership-formula-card {
    align-items: center;
    background: #fff;
    border: 1px solid #dbe5ef;
    border-radius: 16px;
    color: #101828;
    cursor: pointer;
    display: flex;
    min-height: 150px;
    padding: 1.6rem;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.partnership-formula-card:hover,
.partnership-formula-card.is-selected {
    background: #f3f7ff;
    border-color: #4f86ff;
    box-shadow: 0 0 0 .15rem rgba(79, 134, 255, .12);
}

.partnership-formula-icon {
    align-items: center;
    background: #d4e0e7;
    border-radius: 999px;
    color: #0b4773;
    display: inline-flex;
    flex: 0 0 56px;
    font-size: 1.25rem;
    height: 56px;
    justify-content: center;
    width: 56px;
}

.partnership-custom-card {
    justify-content: center;
    min-height: 150px;
}

.partnership-custom-card .partnership-formula-icon {
    background: #eafaf0;
    color: #42b66f;
}

.text-purple {
    color: #8f42e8 !important;
}

.bg-purple-subtle {
    background: #f0dcff !important;
}

.partnership-selected-formula {
    align-items: center;
    background: #eef5ff;
    border: 1px solid #bcd3ff;
    border-radius: 16px;
    display: flex;
    gap: 1rem;
    padding: 1.2rem 1.6rem;
}

.partnership-choice-card {
    align-items: center;
    background: #fff;
    border: 1px solid #dbe5ef;
    border-radius: 16px;
    cursor: pointer;
    display: flex;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.btn-check:checked + .partnership-choice-card,
.partnership-choice-card:hover {
    background: #f3f7ff;
    border-color: #4f86ff;
    box-shadow: 0 0 0 .15rem rgba(79, 134, 255, .12);
}

@media (max-width: 991.98px) {
    .partner-wizard-shell {
        grid-template-columns: 1fr;
    }

    .partner-wizard-sidebar,
    .partner-wizard-main {
        max-height: none;
    }

    .partner-type-grid {
        grid-template-columns: 1fr;
    }
}
