.podsumowanie {
    width: min(1120px, calc(100% - 40px));
    min-height: calc(100vh - 190px);
    margin: 0 auto;
    padding: 72px 0 96px;
}

.podsumowanie__sekcja {
    position: relative;
}

.podsumowanie__sekcja::before {
    position: absolute;
    z-index: -1;
    top: 40px;
    left: -160px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: rgba(255, 15, 116, .11);
    filter: blur(110px);
    content: "";
    pointer-events: none;
}

.podsumowanie__sekcja h1 {
    max-width: 760px;
    margin: 12px 0 38px;
    color: #fff;
    font-size: clamp(2.8rem, 6vw, 5rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.podsumowanie__powrot {
    color: rgba(255, 255, 255, .82);
    font-weight: 700;
    text-decoration: none;
    transition: color .2s ease;
}

.podsumowanie__powrot:hover {
    color: #ff0f74;
}

.podsumowanie__komunikat {
    margin: 0 0 24px;
    padding: 15px 18px;
    border: 1px solid rgba(52, 211, 153, .32);
    border-radius: 13px;
    background: rgba(16, 185, 129, .1);
    color: #a7f3d0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
}

.modal--edycja .pole--blad input {
    border-color: #fb7185;
    box-shadow: 0 0 0 3px rgba(251, 113, 133, .12), 0 0 22px rgba(251, 113, 133, .1);
}

.modal--edycja .pole--poprawne input {
    border-color: #34d399;
    box-shadow: 0 0 0 3px rgba(52, 211, 153, .1), 0 0 22px rgba(52, 211, 153, .08);
}

.podsumowanie__pozycja {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 48px;
    overflow: hidden;
    padding: 34px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 22px;
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, .075),
            rgba(255, 255, 255, .025)
        );
    box-shadow:
        0 30px 80px rgba(0, 0, 0, .25),
        inset 0 1px 0 rgba(255, 255, 255, .06);
    backdrop-filter: blur(18px);
}

.podsumowanie__pozycja::after {
    position: absolute;
    top: -100px;
    right: -80px;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: rgba(66, 133, 255, .13);
    filter: blur(70px);
    content: "";
    pointer-events: none;
}

.podsumowanie__opis,
.podsumowanie__cena {
    position: relative;
    z-index: 1;
}

.podsumowanie__opis {
    max-width: 650px;
}

.podsumowanie__opis h2 {
    margin: 9px 0 14px;
    color: #fff;
    font-size: clamp(1.65rem, 4vw, 2.35rem);
    line-height: 1.15;
    letter-spacing: -.035em;
}

.podsumowanie__opis p {
    margin: 0;
    color: rgba(255, 255, 255, .64);
    line-height: 1.75;
}

.podsumowanie__typ {
    color: #9da8ff;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.podsumowanie__test {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    color: rgba(255, 255, 255, .88);
    font-size: .92rem;
    font-weight: 700;
}

.podsumowanie__test::before {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ff0f74;
    box-shadow: 0 0 18px rgba(255, 15, 116, .8);
    content: "";
}

.podsumowanie__cena {
    min-width: 250px;
    text-align: right;
}

.podsumowanie__cena strong,
.podsumowanie__cena span {
    display: block;
}

.podsumowanie__cena strong {
    color: #fff;
    font-size: 1.85rem;
    letter-spacing: -.035em;
}

.podsumowanie__cena span {
    margin-top: 7px;
    color: rgba(255, 255, 255, .55);
    font-size: .9rem;
    line-height: 1.5;
}

.podsumowanie__akcje {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    margin-top: 26px;
}

.podsumowanie__szczegoly {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(310px, .92fr);
    gap: 18px;
    margin-top: 18px;
}

.podsumowanie__panel {
    padding: 26px;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(255, 255, 255, .065), rgba(255, 255, 255, .025));
}

.podsumowanie__szablon {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    gap: 22px;
    align-items: center;
    margin-top: 14px;
}

.podsumowanie__szablon img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 12px;
    background: #0c1732;
}

.podsumowanie__szablon h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 1.4rem;
}

.podsumowanie__szablon p,
.podsumowanie__panel--opis p {
    margin: 0;
    color: rgba(255, 255, 255, .62);
    line-height: 1.65;
}

.podsumowanie__dane {
    display: grid;
    gap: 12px;
    margin: 15px 0 0;
}

.podsumowanie__dane div {
    display: grid;
    grid-template-columns: minmax(105px, .75fr) minmax(0, 1.25fr);
    gap: 14px;
    padding-bottom: 11px;
    border-bottom: 1px solid rgba(255, 255, 255, .07);
}

.podsumowanie__dane div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.podsumowanie__dane dt {
    color: rgba(255, 255, 255, .47);
    font-size: .82rem;
}

.podsumowanie__dane dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    color: #fff;
    font-weight: 650;
}

.podsumowanie__panel--opis {
    margin-top: 18px;
}

.podsumowanie__panel--opis p {
    margin-top: 12px;
    white-space: pre-line;
}

.podsumowanie__informacja {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: 18px;
    padding: 16px 18px;
    border-left: 3px solid #20cfff;
    color: rgba(255, 255, 255, .62);
    background: rgba(255, 255, 255, .028);
    font-size: .9rem;
    line-height: 1.55;
}

.podsumowanie__informacja strong {
    color: #fff;
}

.podsumowanie__usun {
    padding: 12px 0;
    border: 0;
    background: transparent;
    color: #ff5c91;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: color .2s ease;
}

.podsumowanie__usun:hover {
    color: #ff8bb1;
    text-decoration: underline;
}

.podsumowanie__dalej {
    min-width: 360px;
    text-align: center;
}

.podsumowanie__dalej:disabled {
    border: 1px solid rgba(255, 255, 255, .1);
    background: rgba(255, 255, 255, .06);
    color: rgba(255, 255, 255, .38);
    box-shadow: none;
    cursor: not-allowed;
    opacity: 1;
    transform: none;
}

.podsumowanie__puste {
    padding: 58px 30px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 22px;
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, .075),
            rgba(255, 255, 255, .025)
        );
    box-shadow: 0 30px 80px rgba(0, 0, 0, .22);
    text-align: center;
    backdrop-filter: blur(18px);
}

.podsumowanie__puste h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: clamp(1.6rem, 4vw, 2.2rem);
}

.podsumowanie__puste p {
    margin: 0;
    color: rgba(255, 255, 255, .62);
}

.podsumowanie__puste .przycisk {
    display: inline-flex;
    margin-top: 25px;
}

.podsumowanie__pozycja--z-szablonem {
    display: block;
    padding: 0;
}

.podsumowanie__usluga {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    gap: 42px;
    padding: 32px 34px;
}

.podsumowanie__ceny {
    display: flex;
    flex: 0 0 auto;
    gap: 30px;
    align-items: center;
}

.podsumowanie__cena { min-width: 190px; }
.podsumowanie__cena--test strong { color: #54ebbd; }

.podsumowanie__wybrany-szablon {
    position: relative;
    z-index: 1;
    padding: 26px 34px 30px;
    border-top: 1px solid rgba(255, 255, 255, .1);
    background: rgba(255, 255, 255, .025);
}

.podsumowanie__szczegoly {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.podsumowanie__szczegoly > :only-child { grid-column: 1 / -1; }

.podsumowanie__panel--opis { margin-top: 0; }

.podsumowanie__zgoda {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin-top: 18px;
    padding: 6px 0;
    border: 0;
    background: transparent;
}

.podsumowanie__zgoda input {
    width: 20px;
    height: 20px;
    margin: 2px 0 0;
    accent-color: #28d7a1;
}

.podsumowanie__zgoda label { color: rgba(235, 242, 255, .82); line-height: 1.55; }
.podsumowanie__zgoda a { color: #70c4ff; font-weight: 700; }

@media (max-width: 700px) {
    .podsumowanie {
        width: min(100% - 24px, 1120px);
        padding: 44px 0 70px;
    }

    .podsumowanie__sekcja h1 {
        margin-bottom: 28px;
        font-size: clamp(2.65rem, 14vw, 4rem);
    }

    .podsumowanie__pozycja {
        align-items: flex-start;
        flex-direction: column;
        gap: 28px;
        padding: 25px 22px;
    }

    .podsumowanie__pozycja--z-szablonem { display: block; padding: 0; }
    .podsumowanie__usluga { align-items: flex-start; flex-direction: column; gap: 24px; padding: 25px 22px; }
    .podsumowanie__ceny { width: 100%; align-items: flex-start; flex-direction: column; gap: 18px; }
    .podsumowanie__wybrany-szablon { padding: 23px 22px 25px; }

    .podsumowanie__szczegoly {
        grid-template-columns: 1fr;
    }

    .podsumowanie__szablon {
        grid-template-columns: 1fr;
    }

    .podsumowanie__szablon img {
        max-width: 280px;
    }

    .podsumowanie__dane div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .podsumowanie__cena {
        min-width: 0;
        text-align: left;
    }

    .podsumowanie__akcje {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .podsumowanie__akcje form {
        text-align: center;
    }

    .podsumowanie__dalej {
        width: 100%;
        min-width: 0;
    }

    .podsumowanie__puste {
        padding: 42px 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .podsumowanie__powrot,
    .podsumowanie__usun {
        transition: none;
    }
}

.podsumowanie__informacja-wlasnosc {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-top: 18px;
    padding: 18px 20px;
    border: 1px solid rgba(84, 235, 189, .18);
    border-radius: 14px;
    background: rgba(84, 235, 189, .045);
}

.podsumowanie__informacja-wlasnosc strong { color: #fff; }
.podsumowanie__informacja-wlasnosc span { color: rgba(235, 242, 255, .62); line-height: 1.55; }
.podsumowanie__finalizacja { flex: 1 1 680px; max-width: 780px; }
.podsumowanie__finalizacja .podsumowanie__zgoda { margin: 0 0 12px; }
.podsumowanie__zgoda--blad label { color: #ff8998; }
.podsumowanie__uwagi { margin-bottom: 18px; }
.podsumowanie__uwagi label { display: block; margin-bottom: 9px; color: #edf4ff; font-weight: 700; }
.podsumowanie__uwagi label small { color: rgba(214, 226, 249, .48); font-weight: 400; }
.podsumowanie__uwagi textarea { width: 100%; min-height: 128px; padding: 14px 16px; resize: vertical; border: 1px solid rgba(255, 255, 255, .12); border-radius: 12px; outline: 0; color: #fff; background: rgba(255, 255, 255, .045); font: inherit; }
.podsumowanie__uwagi textarea:focus { border-color: rgba(55, 162, 255, .75); box-shadow: 0 0 0 4px rgba(40, 126, 255, .09); }

.potwierdzenie-demo {
    width: min(100% - 32px, 850px);
    min-height: calc(100dvh - 110px);
    display: grid;
    place-items: center;
    margin: 0 auto;
    padding: 55px 0 90px;
}

.potwierdzenie-demo__karta {
    width: 100%;
    padding: clamp(30px, 6vw, 68px);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 26px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025));
    box-shadow: 0 32px 90px rgba(0, 0, 0, .28);
    text-align: center;
}

.potwierdzenie-demo__ikona { width: 68px; height: 68px; display: grid; place-items: center; margin: 0 auto 22px; border-radius: 50%; color: #04121c; background: #54ebbd; font-size: 2rem; font-weight: 900; box-shadow: 0 0 35px rgba(84, 235, 189, .25); }
.potwierdzenie-demo h1 { margin: 16px auto; color: #fff; font-size: clamp(2rem, 5vw, 3.6rem); line-height: 1.02; letter-spacing: -.05em; }
.potwierdzenie-demo p { max-width: 650px; margin: 0 auto; color: rgba(235, 242, 255, .67); line-height: 1.7; }
.potwierdzenie-demo__cena { display: flex; justify-content: space-between; align-items: center; max-width: 520px; margin: 30px auto; padding: 18px 22px; border: 1px solid rgba(84, 235, 189, .2); border-radius: 15px; color: rgba(235, 242, 255, .65); background: rgba(84, 235, 189, .05); }
.potwierdzenie-demo__cena strong { color: #54ebbd; font-size: 1.7rem; }
.potwierdzenie-demo__uwaga { font-size: .9rem; }
.potwierdzenie-demo .przycisk { display: inline-flex; margin-top: 28px; }

@media (max-width: 700px) {
    .podsumowanie__finalizacja { flex-basis: auto; max-width: none; }
}

/* Podsumowanie wersji testowej */
.podsumowanie__prawa { position: relative; z-index: 2; display: flex; align-items: center; gap: 18px; }
.podsumowanie__usun { width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(255, 92, 145, .26); border-radius: 12px; color: #ff719f; background: rgba(255, 15, 116, .055); }
.podsumowanie__usun:hover { color: #fff; background: rgba(255, 15, 116, .16); text-decoration: none; }
.podsumowanie__usun svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.podsumowanie__wiersz-naglowka { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.podsumowanie__edytuj { flex: 0 0 auto; padding: 0; border: 0; color: #70c4ff; background: transparent; font: inherit; font-size: .84rem; font-weight: 750; text-decoration: none; cursor: pointer; }
.podsumowanie__edytuj:hover { color: #fff; text-decoration: underline; }
.podsumowanie__uwagi { position: relative; z-index: 1; padding: 26px 34px 30px; border-top: 1px solid rgba(255, 255, 255, .1); background: rgba(255, 255, 255, .012); }
.podsumowanie__uwagi label { display: block; margin-bottom: 10px; color: #fff; font-weight: 750; }
.podsumowanie__finalizacja { max-width: 780px; display: flex; flex-direction: column; align-items: stretch; margin: 30px 0 0 auto; }
.podsumowanie__dalej { min-height: 64px; min-width: 0; margin-top: 20px; border: 1px solid rgba(64, 192, 255, .38); border-radius: 16px; background: linear-gradient(110deg, #0877e8, #1659e8 55%, #6747e9); box-shadow: 0 18px 42px rgba(20, 111, 232, .24), inset 0 1px rgba(255, 255, 255, .18); font-size: 1.02rem; font-weight: 850; cursor: pointer; }
.podsumowanie__dalej:hover { transform: translateY(-1px); box-shadow: 0 22px 50px rgba(20, 111, 232, .32), inset 0 1px rgba(255, 255, 255, .2); }
.modal--edycja { z-index: 1180; }
.modal__okno--edycja { width: min(980px, 100%); }
.modal__okno--edycja > h2 { margin: 12px 55px 30px 0; color: #fff; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.05; letter-spacing: -.045em; }
.modal__okno--edycja .modal__akcje { justify-content: flex-end; }
.modal__okno--edycja .przycisk-glowny { flex: 0 1 320px; border: 0; color: #fff; background: var(--niebieski); cursor: pointer; }

@media (max-width: 700px) {
    .podsumowanie__prawa { width: 100%; justify-content: space-between; }
    .podsumowanie__uwagi { padding: 23px 22px 25px; }
    .podsumowanie__wiersz-naglowka { align-items: flex-start; }
    .podsumowanie__finalizacja { max-width: none; }
}
