/* ========================================================================== */
/* Kreator odstąpienia od umowy                                               */
/* ========================================================================== */

.order-return-wizard {
    max-width: 960px;
    margin: 2em auto;
    padding: 0 1em;
}

/* Większe odstępy między krokami w pasku nawigacji */
.order-return-wizard .process-navigator {
    width: 65%;
    margin-bottom: 2em;
}

/* Krok wyboru produktów — pełna szerokość kontenera */
.order-return-wizard--step-products {
    max-width: none;
}

/* Baner kontekstowy: numer zamówienia i dokument */
.order-return-wizard__context {
    margin-bottom: 1.5em;
    padding: 0.6em 1em;
    border-left: 3px solid rgba(225, 7, 19, 1);
    background-color: #f9f9f9;
    font-size: 90%;
    color: #404040;
}

/* ---- Ekran potwierdzenia złożenia zgłoszenia ---- */

.order-return-done {
    text-align: center;
    padding: 2em 1em;
}

.order-return-done__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3em;
    height: 3em;
    margin: 0 auto 1em;
    border-radius: 50%;
    background-color: #2db32d;
    color: #ffffff;
    font-size: 2em;
    font-weight: bold;
}

.order-return-done__ticket {
    margin: 1em 0;
    padding: 1em;
    border: 1px solid #c0c0c0;
    border-radius: 0.5em;
    background-color: #f5f5f5;
}

.order-return-done__ticket-number {
    display: block;
    margin-top: 0.3em;
    font-size: 160%;
    color: rgba(225, 7, 19, 1);
}

.order-return-done__gift-notice {
    margin: 1.5em auto;
    padding: 1.2em 1.5em;
    max-width: 600px;
    border-left: 4px solid rgba(225, 7, 19, 1);
    background-color: #fff8f8;
    border-radius: 0.4em;
    text-align: left;
}

.order-return-done__gift-notice p {
    margin: 0;
    font-size: 130%;
    font-weight: bold;
    color: #2a2a2a;
    line-height: 1.5;
}

.order-return-done__info {
    margin: 1.5em 0;
    text-align: left;
}

.order-return-done__return-address {
    margin: 1em 0;
    text-align: left;
}

/* ---- Wiadomości błędów i informacji ---- */

.order-return-msg {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1em;
    padding: 0.8em 1em;
    border-left: 4px solid #c0c0c0;
    border-radius: 0.3em;
    font-size: 95%;
}

.order-return-msg--error {
    padding: 0;
    color: rgb(225, 7, 19);
    border: none;
}

.order-return-msg--info {
    border-color: #606060;
    background-color: #f5f5f5;
    color: #404040;
}

.order-return-msg--warning {
    border-color: #b08000;
    background-color: #fffbe6;
    color: #604000;
}

/* ---- Pasek narzędzi nad listą produktów ---- */

.order-return-products__toolbar {
    display: flex;
    justify-content: flex-start;
    gap: 0.4em;
    margin-top: 1.2em;
    margin-bottom: 0.8em;
}

.order-return-products__toolbar .action {
    display: inline-flex;
    align-items: center;
    padding: 0.1em 0.8em;
    border: 1px solid #909090;
    border-radius: 0.4em;
    color: #606060;
    background-color: transparent;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 82%;
    line-height: 1.7;
}

.order-return-products__toolbar .action:hover {
    color: #ffffff;
    background-color: #606060;
    border-color: #606060;
}

/* Lista produktów z przewijaniem — przyciski Wróć i Dalej zawsze widoczne */
.order-return-products__list {
    max-height: 55vh;
    overflow-y: auto;
    margin-bottom: 1em;
    padding-right: 0.3em;
}

/* Na kroku potwierdzenia lista nie potrzebuje scrolla */
.order-return-confirm__list {
    max-height: none;
    overflow-y: visible;
}

/* Wizualne wyszarzenie pól niedostępnych (checkbox niezaznaczony) */
.order-return-product__inputs input:disabled,
.order-return-product__inputs select:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

/* Przyciski nawigacji kroku produktów — wyrównane do prawej */
.order-return-products__actions {
    display: flex;
    justify-content: flex-end;
}

.order-return-products__actions .row {
    display: flex;
    gap: 0.5em;
}

/* Przyciski akcji: wspólne właściwości confirm i cancel */
.order-return-products .actions .action[data-uivariant=confirm],
.order-return-products .actions .action[data-uivariant=cancel],
.order-return-confirm .actions .action[data-uivariant=confirm],
.order-return-confirm .actions .action[data-uivariant=cancel] {
    display: inline-flex;
    align-items: center;
    margin: 0.5em 0.5em;
    padding: 0.2em 1.5em;
    border-radius: 0.5em;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    font-size: inherit;
}

.order-return-products .actions .action[data-uivariant=confirm],
.order-return-confirm .actions .action[data-uivariant=confirm] {
    border: 2px solid transparent;
    color: #ffffff;
    background-color: rgba(225, 9, 17, 1);
}

.order-return-products .actions .action[data-uivariant=confirm]:hover:not(:disabled),
.order-return-confirm .actions .action[data-uivariant=confirm]:hover:not(:disabled) {
    background-color: #000000;
}

.order-return-products .actions .action[data-uivariant=confirm]:disabled,
.order-return-confirm .actions .action[data-uivariant=confirm]:disabled {
    background-color: #c0c0c0;
    cursor: not-allowed;
}

.order-return-products .actions .action[data-uivariant=cancel],
.order-return-confirm .actions .action[data-uivariant=cancel] {
    border: 2px solid #606060;
    color: #606060;
    background-color: transparent;
}

.order-return-products .actions .action[data-uivariant=cancel]:hover,
.order-return-confirm .actions .action[data-uivariant=cancel]:hover {
    color: #ffffff;
    background-color: #606060;
}

/* ---- Karta produktu ---- */

.order-return-product {
    border: 1px solid #d0d0d0;
    border-radius: 0.5em;
    margin-bottom: 0.6em;
    padding: 0;
    background-color: #ffffff;
    overflow: hidden;
}

.order-return-product--excluded {
    background-color: #f5f5f5;
    color: #a0a0a0;
}

.order-return-product--excluded .order-return-product__row {
    padding: 0.6em 0.8em;
    opacity: 0.65;
}

.order-return-product__row {
    display: flex;
    align-items: stretch;
}

/* Kolumna z checkboxem — oddzielona pionową ramką */
.order-return-product__check {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 1em;
    border-right: 1px solid #d0d0d0;
    background-color: #f5f5f5;
    flex: 0 0 auto;
}

.order-return-product__check input[type="checkbox"] {
    width: 1.3em;
    height: 1.3em;
    cursor: pointer;
    margin: 0;
}

.order-return-product__thumb {
    flex: 0 0 4.5em;
    width: 4.5em;
    height: 4.5em;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.4em;
    align-self: center;
}

.order-return-product__thumb img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.order-return-product__info {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0.6em 0.8em;
    align-self: center;
}

.order-return-product__name {
    display: block;
    font-weight: bold;
    margin-bottom: 0.3em;
    cursor: pointer;
    white-space: normal;
    word-break: break-word;
}

.order-return-product__name a,
a.order-return-product__name {
    color: #000000;
    text-decoration: none;
}

.order-return-product__name a:hover,
a.order-return-product__name:hover {
    text-decoration: underline;
}

.order-return-product__symbol {
    font-size: 85%;
    color: #606060;
    margin-bottom: 0.1em;
}

.order-return-product__cost {
    flex: 0 0 14em;
    width: 14em;
    text-align: left;
    font-size: 88%;
    white-space: nowrap;
    padding: 0.6em 0.8em;
    align-self: center;
    border-left: 1px solid #f0f0f0;
}

.order-return-product__cost-entry {
    display: flex;
    gap: 0.5em;
    justify-content: flex-start;
    margin-bottom: 0.2em;
}

.order-return-product__cost-label {
    color: #909090;
}

.order-return-product__cost-value {
    font-weight: 500;
    text-align: left;
}

.order-return-product__cost-total .order-return-product__cost-value {
    font-weight: bold;
    color: #404040;
}

/* Pola ilości i powodu zwrotu — w tej samej linii co produkt */
.order-return-product__inputs {
    display: flex;
    gap: 0.6em;
    align-items: flex-end;
    padding: 0.6em 0.8em;
    border-left: 1px solid #d0d0d0;
    flex: 0 0 auto;
}

.order-return-product__input-group {
    display: flex;
    flex-direction: column;
    gap: 0.2em;
}

.order-return-product__input-group label {
    font-size: 80%;
    color: #606060;
    white-space: nowrap;
}

.order-return-product__input-group input[type="number"],
.order-return-product__input-group select {
    padding: 0.5em;
    border: 2px solid #c0c0c0;
    border-radius: 0.5em;
    background: #ffffff;
    font-size: 95%;
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.order-return-product__input-group input[type="number"]:focus,
.order-return-product__input-group select:focus {
    border-color: rgba(225, 9, 17, 1);
    box-shadow: inset 0 0 0.4em rgba(0, 0, 0, 0.2);
}

.order-return-product__input-group input[type="number"] {
    width: 7em;
}

.order-return-product__input-group select {
    min-width: 18em;
}

/* ---- Identyfikacja ---- */

.order-return-identify__logged-hint {
    margin-top: 1.5em;
    padding: 0.8em 1em;
    border: 1px dashed #c0c0c0;
    border-radius: 0.5em;
    background-color: #f5f5f5;
    font-size: 90%;
    text-align: center;
}

/* ---- Odznaki produktów ---- */

.order-return-badge {
    display: inline-block;
    padding: 0.2em 0.5em;
    border-radius: 0.3em;
    background-color: #e0e0e0;
    color: #606060;
    font-size: 78%;
    font-weight: bold;
}

/* Odznaka: Zgłoszono już zwrot */
.order-return-badge--returned {
    background-color: rgba(225, 7, 19, 0.1);
    color: rgba(180, 0, 0, 1);
}

/* Odznaka: Produkt gratisowy */
.order-return-badge--gratis {
    background-color: rgba(45, 179, 45, 0.12);
    color: #1a7a1a;
}

/* Zmniejszony tekst pomocniczy */
.order-return-hint {
    margin-top: 0.3em;
    color: #909090;
    font-size: 82%;
}

/* ---- Krok potwierdzenia (confirm) ---- */

/* Nagłówek dokumentu (paragon/faktura) — szary pasek jak w widoku panelu */
.order-return-confirm__document-header {
    margin-bottom: 1.5em;
    padding: 0.55em 1em;
    background-color: #e4e4e4;
    font-weight: bold;
    font-size: 95%;
    border-radius: 0.25em;
}

/* Łączna wartość zwracanych towarów */
.order-return-confirm__total {
    display: flex;
    align-items: baseline;
    gap: 0.5em;
    margin-top: 0.75em;
    padding: 0.6em 0;
    font-size: 95%;
}

.order-return-confirm__total-label {
    flex: 1 1 auto;
}

.order-return-confirm__total-value {
    white-space: nowrap;
}

/* Sposób dostawy */
.order-return-confirm__details {
    margin-bottom: 1.5em;
    padding: 0.5em 0;
}

.order-return-confirm__details-row {
    display: flex;
    gap: 1em;
    margin-bottom: 0.5em;
}

.order-return-confirm__details-label {
    flex: 0 0 13em;
    font-weight: bold;
}

.order-return-confirm__details-value {
    flex: 1;
}

.order-return-confirm__details-info {
    font-size: 90%;
    color: rgba(225, 7, 19, 1);
}

/* Adres zwrotu (ramka informacyjna) */
.order-return-confirm__shipping {
    margin-bottom: 1.5em;
    padding: 1em;
    border-left: 4px solid #606060;
    border-radius: 0.3em;
    background-color: #f5f5f5;
}

.order-return-confirm__pdf-info {
    margin-bottom: 1em;
    padding: 0.7em 1em;
    border-radius: 0.3em;
    background-color: #f0f0f0;
    font-size: 90%;
}

.order-return-confirm__legal-note {
    margin-top: 1em;
    color: #a0a0a0;
    font-size: 80%;
}

/* Stały układ poziomy na każdej szerokości — nadpisuje grid z breakpointów */
.order-return-confirm__list .order-return-product__row {
    display: flex;
    align-items: stretch;
}

/* Przywrócenie flex-grow na info — globalny <750px ustawia flex:unset */
.order-return-confirm__list .order-return-product__info {
    flex: 1 1 auto;
}

.order-return-confirm__list .order-return-product__cost {
    flex: 0 0 24em;
    width: 24em;
    white-space: nowrap;
    overflow: hidden;
}

/* Wytłuszczenie wartości powodu zwrotu w kroku potwierdzenia */
.order-return-product__cost-entry--reason .order-return-product__cost-value {
    font-weight: bold;
}

/* ---- Modal potwierdzenia odstąpienia od umowy ---- */

#return-confirm-modal .info-box {
    max-width: 38em;
}

/* ---- Odznaki statusów w panelu sprzedawcy ---- */

.badge-order-return {
    display: inline-block;
    padding: 0.2em 0.6em;
    border-radius: 0.3em;
    font-size: 80%;
    font-weight: bold;
}

.badge-order-return-new {
    background-color: rgba(225, 7, 19, 0.12);
    color: rgba(180, 0, 0, 1);
}

.badge-order-return-processing {
    background-color: #fffbe6;
    color: #856400;
}

.badge-order-return-completed {
    background-color: #eaf5ea;
    color: #2a6e2a;
}

.badge-order-return-rejected {
    background-color: #e8e8e8;
    color: #606060;
}

.badge-order-return-cancelled {
    background-color: #e8e8e8;
    color: #909090;
}

/* ---- Panel sprzedawcy — szczegóły zgłoszenia ---- */

.return-details-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5em;
    margin-bottom: 2em;
}

.return-details-card {
    flex: 1 1 300px;
    padding: 1em;
    border: 1px solid #c0c0c0;
    border-radius: 0.5em;
    background-color: #ffffff;
}

.return-details-card__title {
    margin: 0 0 0.8em;
    padding-bottom: 0.5em;
    border-bottom: 1px solid #e0e0e0;
    color: #606060;
    font-size: 100%;
    font-weight: bold;
}

/* ---- Responsywność ---- */

@media (max-width: 1200px) {
    .order-return-product__cost {
        flex: 0 0 auto;
        width: auto;
        white-space: normal;
    }

    .order-return-product__inputs {
        flex-direction: column;
        align-items: flex-start;
        flex: 0 0 20em;
        width: 20em;
    }

    .order-return-product__input-group select {
        min-width: 0;
        width: 100%;
    }

    .order-return-product__input-group input[type="number"] {
        width: 100%;
    }
}

@media (max-width: 900px) {
    .order-return-products {
        font-size: 95%;
    }

    .order-return-wizard .process-navigator {
        width: 100%;
    }

    .return-details-card {
        flex: 1 1 100%;
    }
}

@media (max-width: 750px) {
    .order-return-products {
        font-size: 90%;
    }

    .order-return-product__thumb {
        display: none;
    }

    /* Confirm list: wymuszenie flex zamiast gridu z reguły ogólnej poniżej */
    .order-return-confirm__list .order-return-product__row {
        display: flex;
        align-items: stretch;
    }

    /* Przywrócenie stałej szerokości kosztu — ogólna reguła poniżej ustawia flex:unset i width:auto */
    .order-return-confirm__list .order-return-product__cost {
        flex: 0 0 24em;
        width: 24em;
        font-size: 88%;
        border-left: 1px solid #f0f0f0;
        padding: 0.6em 0.8em;
    }

    .order-return-product__row {
        display: grid;
        grid-template-columns: auto 1fr 1fr;
        grid-template-rows: auto auto;
        align-items: start;
        flex-wrap: unset;
    }

    .order-return-product__check {
        grid-column: 1;
        grid-row: 1 / 3;
        align-self: stretch;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .order-return-product__info {
        grid-column: 2;
        grid-row: 1;
        flex: unset;
        padding-bottom: 0;
    }

    .order-return-product__cost {
        grid-column: 3;
        grid-row: 1;
        flex: unset;
        width: auto;
        border-left: none;
        border-top: none;
        font-size: 80%;
        padding: 0.6em 0.6em 0.4em;
    }

    .order-return-product__inputs {
        grid-column: 2 / 4;
        grid-row: 2;
        flex: unset;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: flex-end;
        align-self: end;
        border-left: none;
        border-top: 1px solid #d0d0d0;
        padding: 0.5em 0.6em 0.6em;
        width: auto;
    }
}
