/* =========================================================
   GUADESK — KOSZYK
   Duży kafelek z 3 sekcjami
   ========================================================= */

body.woocommerce-cart {
    background: #111217 !important;
}

.guadesk-cart-main {
    padding: 56px 0 82px;
    background: #111217;
}

.guadesk-cart-main__container {
    width: min(calc(100% - 40px), 1480px);
    margin: 0 auto;
}

.guadesk-cart-overview {
    display: grid;
    grid-template-columns: minmax(260px, .85fr) minmax(0, 1.45fr) minmax(300px, .8fr);
    border: 1px solid #2b2d31;
    border-radius: 20px;
    background: #18191b;
    overflow: hidden;
}

.guadesk-cart-overview__section {
    min-width: 0;
    padding: 26px;
}

.guadesk-cart-overview__section + .guadesk-cart-overview__section {
    border-left: 1px solid #2b2d31;
}

.guadesk-cart-overview__eyebrow {
    display: block;
    margin-bottom: 12px;
    color: #ff8a1f;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .12em;
}

.guadesk-cart-overview__section h2 {
    margin: 0 0 20px;
    color: #fff;
    font-size: 22px;
    font-weight: 760;
    line-height: 1.25;
}

/* 1. Zdjęcie */

.guadesk-cart-overview__section--image {
    display: flex;
    flex-direction: column;
}

.guadesk-cart-overview__image {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 320px;
    padding: 18px;
    border: 1px solid #2b2d31;
    border-radius: 14px;
    background: #111214;
    overflow: hidden;
}

.guadesk-cart-overview__image img {
    display: block;
    width: 100%;
    max-width: 360px;
    height: auto;
    object-fit: contain;
}

/* 2. Konfiguracja */

.guadesk-cart-overview__config-list {
    display: grid;
    gap: 0;
    margin: 0;
}

.guadesk-cart-overview__config-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: start;
    padding: 11px 0;
    border-bottom: 1px solid #2b2d31;
}

.guadesk-cart-overview__config-row:last-child {
    border-bottom: 0;
}

.guadesk-cart-overview__config-row dt,
.guadesk-cart-overview__config-row dd {
    margin: 0;
}

.guadesk-cart-overview__config-row dt {
    color: #858a94;
    font-size: 11px;
    line-height: 1.5;
}

.guadesk-cart-overview__config-row dd {
    color: #fff;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.5;
    text-align: right;
}

.guadesk-cart-overview__empty {
    margin: 0;
    color: #94979f;
    font-size: 13px;
}

/* 3. Cena + kupon */

.guadesk-cart-overview__section--summary {
    display: flex;
    flex-direction: column;
}

.guadesk-cart-overview__price-block {
    padding: 20px;
    border: 1px solid #2b2d31;
    border-radius: 14px;
    background: #111214;
}

.guadesk-cart-overview__price-block > span {
    display: block;
    margin-bottom: 8px;
    color: #94979f;
    font-size: 11px;
    font-weight: 700;
}

.guadesk-cart-overview__price-block > strong,
.guadesk-cart-overview__price-block .amount {
    color: #ff8a1f !important;
    font-size: 30px;
    font-weight: 900;
    line-height: 1.05;
}

.guadesk-cart-overview__coupon {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #2b2d31;
}

.guadesk-cart-overview__coupon label {
    display: block;
    margin-bottom: 8px;
    color: #94979f;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.guadesk-cart-overview__coupon-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px;
}

.guadesk-cart-overview__coupon input {
    min-width: 0;
    min-height: 46px;
    padding: 0 12px;
    border: 1px solid #343945;
    border-radius: 10px;
    background: #111214;
    color: #fff;
    font: inherit;
}

.guadesk-cart-overview__coupon input:focus {
    border-color: rgba(255,138,31,.65);
    outline: 0;
    box-shadow: 0 0 0 3px rgba(255,138,31,.08);
}

.guadesk-cart-overview__coupon button {
    min-height: 46px;
    padding: 0 16px;
    border: 1px solid rgba(255,138,31,.36);
    border-radius: 10px;
    background: rgba(255,138,31,.08);
    color: #ff8a1f;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
}

.guadesk-cart-overview__coupon button:hover {
    background: rgba(255,138,31,.13);
}

/* Pusty koszyk */

.guadesk-cart-empty-state {
    padding: 48px;
    border: 1px solid #2b2d31;
    border-radius: 20px;
    background: #18191b;
    text-align: center;
}

.guadesk-cart-empty-state h1 {
    margin: 0;
    color: #fff;
}

.guadesk-cart-empty-state p {
    margin: 10px 0 0;
    color: #94979f;
}

/* Responsive */

@media (max-width: 1100px) {
    .guadesk-cart-overview {
        grid-template-columns: 1fr;
    }

    .guadesk-cart-overview__section + .guadesk-cart-overview__section {
        border-left: 0;
        border-top: 1px solid #2b2d31;
    }

    .guadesk-cart-overview__image {
        min-height: 260px;
    }
}

@media (max-width: 620px) {
    .guadesk-cart-main {
        padding: 32px 0 54px;
    }

    .guadesk-cart-main__container {
        width: calc(100% - 24px);
    }

    .guadesk-cart-overview {
        border-radius: 15px;
    }

    .guadesk-cart-overview__section {
        padding: 18px;
    }

    .guadesk-cart-overview__config-row {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .guadesk-cart-overview__config-row dd {
        text-align: left;
    }

    .guadesk-cart-overview__coupon-row {
        grid-template-columns: 1fr;
    }

    .guadesk-cart-overview__coupon button {
        width: 100%;
    }
}


/* Podgląd produktu generowany bezpośrednio przez silnik 3D */
.guadesk-cart-overview__image--3d {
    position: relative;
}

.guadesk-cart-overview__render {
    display: block;
    width: 100%;
    max-width: 430px;
    height: auto;
    object-fit: contain;
    opacity: 0;
    transition: opacity .18s ease;
}

.guadesk-cart-overview__render.is-ready {
    opacity: 1;
}

.guadesk-cart-overview__render-loading {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    color: #858a94;
    font-size: 11px;
    text-align: center;
}

.guadesk-cart-overview__render-loading[hidden] {
    display: none;
}

/*
 * Źródłowy canvas pracuje poza ekranem. Nie używamy display:none,
 * ponieważ renderer Three.js potrzebuje rzeczywistych wymiarów.
 */
.guadesk-cart-3d-source {
    position: fixed !important;
    left: -10000px !important;
    top: 0 !important;
    width: 760px !important;
    height: 520px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: -1 !important;
}

.guadesk-cart-3d-source .desk-3d-stage,
.guadesk-cart-3d-source .desk-3d-canvas {
    width: 760px !important;
    height: 520px !important;
}


/* =========================================================
   Wiele produktów w koszyku
   ========================================================= */

.guadesk-cart-overview__products,
.guadesk-cart-overview__configs {
    display: grid;
    gap: 18px;
}

.guadesk-cart-overview__product,
.guadesk-cart-overview__config-product {
    min-width: 0;
}

.guadesk-cart-overview__product + .guadesk-cart-overview__product,
.guadesk-cart-overview__config-product + .guadesk-cart-overview__config-product {
    padding-top: 18px;
    border-top: 1px solid #2b2d31;
}

.guadesk-cart-overview__product-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 10px;
}

.guadesk-cart-overview__product-head strong,
.guadesk-cart-overview__config-product h3 {
    margin: 0;
    color: #fff;
    font-size: 13px;
    font-weight: 760;
    line-height: 1.35;
}

.guadesk-cart-overview__remove {
    flex: 0 0 auto;
    padding: 5px 8px;
    border: 1px solid #343945;
    border-radius: 8px;
    color: #94979f !important;
    font-size: 10px;
    font-weight: 700;
    text-decoration: none !important;
    transition: border-color .16s ease, color .16s ease, background-color .16s ease;
}

.guadesk-cart-overview__remove:hover {
    border-color: rgba(255, 138, 31, .42);
    background: rgba(255, 138, 31, .06);
    color: #ff8a1f !important;
}

.guadesk-cart-overview__config-product h3 {
    margin-bottom: 9px;
    color: #d7d9df;
}

.guadesk-cart-overview__product .guadesk-cart-overview__image {
    min-height: 250px;
}


/* =========================================================
   GUADESK — animacja ceny po kodzie rabatowym
   ========================================================= */

.guadesk-cart-overview__price-stack {
    display: grid;
    gap: 8px;
}

.guadesk-cart-overview__current-price {
    display: block;
    color: #ff8a1f !important;
    font-size: 30px;
    font-weight: 900;
    line-height: 1.05;
    animation: guadesk-price-pop .38s ease both;
}

.guadesk-cart-overview__old-price {
    position: relative;
    display: inline-block;
    width: fit-content;
    color: #f4f5f6;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.2;
    opacity: .86;
    animation: guadesk-old-price-in .28s ease both;
}

.guadesk-cart-overview__old-price::after {
    content: "";
    position: absolute;
    left: -3px;
    right: -3px;
    top: 50%;
    height: 2px;
    border-radius: 999px;
    background: #ff4e4e;
    transform: translateY(-50%) scaleX(0);
    transform-origin: left center;
    animation: guadesk-strike-in .42s .08s ease forwards;
}

.guadesk-cart-overview__coupon-info {
    display: grid;
    gap: 7px;
    animation: guadesk-coupon-slide .34s ease both;
}

.guadesk-cart-overview__coupon-chip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 11px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    background: rgba(255,255,255,.025);
    color: #aeb2ba;
    font-size: 10px;
    line-height: 1.35;
}

.guadesk-cart-overview__coupon-chip strong {
    color: #fff;
    font-weight: 850;
    text-transform: uppercase;
}

.guadesk-cart-overview__coupon-chip b {
    color: #ff8a1f;
    font-size: 11px;
    font-weight: 900;
    white-space: nowrap;
}

@keyframes guadesk-price-pop {
    0% {
        opacity: 0;
        transform: translateY(5px) scale(.97);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes guadesk-old-price-in {
    0% {
        opacity: 0;
        transform: translateY(-4px);
    }
    100% {
        opacity: .86;
        transform: translateY(0);
    }
}

@keyframes guadesk-strike-in {
    to {
        transform: translateY(-50%) scaleX(1);
    }
}

@keyframes guadesk-coupon-slide {
    0% {
        opacity: 0;
        transform: translateY(-6px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Przycisk "Zastosuj" bez pomarańczowej poświaty */
.guadesk-cart-overview__coupon button,
.guadesk-cart-overview__coupon button:hover,
.guadesk-cart-overview__coupon button:focus,
.guadesk-cart-overview__coupon button:active {
    box-shadow: none !important;
    filter: none !important;
    text-shadow: none !important;
}

.guadesk-cart-overview__coupon button:hover {
    background: rgba(255,255,255,.05);
    border-color: #454b59;
    color: #fff;
}


/* Aktywny kupon — biała wartość rabatu + usuwanie */
.guadesk-cart-overview__coupon-actions {
    display: flex;
    align-items: center;
    gap: 9px;
}

.guadesk-cart-overview__coupon-chip b,
.guadesk-cart-overview__coupon-chip b .amount {
    color: #ffffff !important;
}

.guadesk-cart-overview__coupon-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 0 8px;
    border: 1px solid #343945;
    border-radius: 7px;
    background: transparent;
    color: #94979f !important;
    font-size: 9px;
    font-weight: 750;
    line-height: 1;
    text-decoration: none !important;
    transition:
        border-color .16s ease,
        color .16s ease,
        background-color .16s ease;
}

.guadesk-cart-overview__coupon-remove:hover {
    border-color: rgba(255, 78, 78, .35);
    background: rgba(255, 78, 78, .05);
    color: #ff6b6b !important;
}

@media (max-width: 620px) {
    .guadesk-cart-overview__coupon-chip {
        align-items: flex-start;
    }

    .guadesk-cart-overview__coupon-actions {
        flex-wrap: wrap;
        justify-content: flex-end;
    }
}


/* Kupon — cena i formularz zawsze widoczne */
.guadesk-cart-overview__current-price,
.guadesk-cart-overview__coupon {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.guadesk-cart-overview__coupon-row {
    display: grid !important;
}

.guadesk-cart-overview__price-stack {
    display: grid !important;
}


/* =========================================================
   GUADESK — NOWE PODSUMOWANIE KOSZYKA / AJAX
   ========================================================= */

.guadesk-cart-summary-new {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.guadesk-cart-summary-new__primary {
    padding: 20px;
    border: 1px solid #2b2d31;
    border-radius: 14px;
    background: #111214;
}

.guadesk-cart-summary-new__label {
    display: block;
    margin-bottom: 8px;
    color: #94979f;
    font-size: 11px;
    font-weight: 700;
    transition:
        color .32s ease,
        transform .32s ease,
        opacity .32s ease;
}

.guadesk-cart-summary-new__old-price,
.guadesk-cart-summary-new__old-price .amount {
    position: relative;
    display: inline-block;
    color: #ff8a1f !important;
    font-size: 30px;
    font-weight: 900;
    line-height: 1.05;
    transition:
        color .45s ease,
        transform .4s cubic-bezier(.2,.8,.2,1);
}

.guadesk-cart-summary-new.has-discount
.guadesk-cart-summary-new__old-price,
.guadesk-cart-summary-new.has-discount
.guadesk-cart-summary-new__old-price .amount {
    color: #ffffff !important;
}

.guadesk-cart-summary-new__old-price::after {
    content: "";
    position: absolute;
    left: -4px;
    right: -4px;
    top: 50%;
    height: 2px;
    border-radius: 999px;
    background: #ff4e4e;
    transform: translateY(-50%) scaleX(0);
    transform-origin: left center;
    transition: transform .42s cubic-bezier(.2,.8,.2,1);
}

.guadesk-cart-summary-new.has-discount
.guadesk-cart-summary-new__old-price::after {
    transform: translateY(-50%) scaleX(1);
}

.guadesk-cart-summary-new__discount-details {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transform: translateY(-8px);
    margin-top: 0;
    overflow: hidden;
    transition:
        grid-template-rows .42s cubic-bezier(.2,.8,.2,1),
        opacity .32s ease,
        transform .42s cubic-bezier(.2,.8,.2,1),
        margin-top .42s ease;
}

.guadesk-cart-summary-new__discount-details[hidden] {
    display: none !important;
}

.guadesk-cart-summary-new__discount-details.is-visible,
.guadesk-cart-summary-new.has-discount
.guadesk-cart-summary-new__discount-details:not([hidden]) {
    grid-template-rows: 1fr;
    opacity: 1;
    transform: translateY(0);
    margin-top: 12px;
}

.guadesk-cart-summary-new__coupon-list {
    display: grid;
    gap: 7px;
    min-height: 0;
}

.guadesk-cart-summary-new__coupon-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 11px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    background: rgba(255,255,255,.025);
    color: #aeb2ba;
    font-size: 10px;
    line-height: 1.4;
}

.guadesk-cart-summary-new__coupon-line strong {
    color: #fff;
    font-weight: 850;
    text-transform: uppercase;
}

.guadesk-cart-summary-new__coupon-line b,
.guadesk-cart-summary-new__coupon-line b .amount {
    color: #fff !important;
    font-weight: 850;
}

.guadesk-cart-summary-new__remove {
    flex: 0 0 auto;
    min-height: 27px;
    padding: 0 9px;
    border: 1px solid #343945;
    border-radius: 7px;
    background: transparent;
    color: #94979f;
    cursor: pointer;
    font: inherit;
    font-size: 9px;
    font-weight: 750;
    box-shadow: none !important;
    transition:
        color .16s ease,
        border-color .16s ease,
        background-color .16s ease;
}

.guadesk-cart-summary-new__remove:hover {
    border-color: rgba(255,78,78,.38);
    background: rgba(255,78,78,.05);
    color: #ff6b6b;
}

.guadesk-cart-summary-new__new-price {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #2b2d31;
}

.guadesk-cart-summary-new__new-price > span {
    display: block;
    margin-bottom: 7px;
    color: #94979f;
    font-size: 11px;
    font-weight: 700;
}

.guadesk-cart-summary-new__new-price > strong,
.guadesk-cart-summary-new__new-price .amount {
    color: #ff8a1f !important;
    font-size: 30px;
    font-weight: 900;
    line-height: 1.05;
}

.guadesk-cart-summary-new__coupon-form {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #2b2d31;
}

.guadesk-cart-summary-new__coupon-form label {
    display: block;
    margin-bottom: 8px;
    color: #94979f;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.guadesk-cart-summary-new__coupon-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px;
}

.guadesk-cart-summary-new__coupon-row input {
    min-width: 0;
    min-height: 46px;
    padding: 0 12px;
    border: 1px solid #343945;
    border-radius: 10px;
    background: #111214;
    color: #fff;
    font: inherit;
    box-shadow: none !important;
}

.guadesk-cart-summary-new__coupon-row input:focus {
    border-color: rgba(255,138,31,.62);
    outline: none;
    box-shadow: 0 0 0 3px rgba(255,138,31,.07) !important;
}

.guadesk-cart-summary-new__coupon-row button {
    min-height: 46px;
    padding: 0 16px;
    border: 1px solid #454b59;
    border-radius: 10px;
    background: #202228;
    color: #d7d9df;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    box-shadow: none !important;
    filter: none !important;
    text-shadow: none !important;
    transition:
        background-color .16s ease,
        border-color .16s ease,
        color .16s ease;
}

.guadesk-cart-summary-new__coupon-row button:hover {
    border-color: #5a606d;
    background: #292c33;
    color: #fff;
    box-shadow: none !important;
}

.guadesk-cart-summary-new__coupon-row button:disabled,
.guadesk-cart-summary-new__coupon-row input:disabled {
    opacity: .55;
    cursor: wait;
}

.guadesk-cart-summary-new__message {
    min-height: 0;
    margin-top: 0;
    color: #94979f;
    font-size: 10px;
    line-height: 1.4;
    transition: margin-top .18s ease;
}

.guadesk-cart-summary-new__message:not(:empty) {
    margin-top: 9px;
}

.guadesk-cart-summary-new__message.is-success {
    color: #b9c89c;
}

.guadesk-cart-summary-new__message.is-error {
    color: #ff7c7c;
}

.guadesk-cart-summary-new.is-busy {
    pointer-events: none;
}

.guadesk-cart-summary-new.is-busy
.guadesk-cart-summary-new__coupon-form {
    opacity: .72;
}

.guadesk-cart-summary-new.is-removing
.guadesk-cart-summary-new__discount-details {
    opacity: 0;
    transform: translateY(-8px);
}

@media (prefers-reduced-motion: reduce) {
    .guadesk-cart-summary-new *,
    .guadesk-cart-summary-new *::before,
    .guadesk-cart-summary-new *::after {
        animation: none !important;
        transition-duration: .01ms !important;
    }
}

@media (max-width: 620px) {
    .guadesk-cart-summary-new__coupon-row {
        grid-template-columns: 1fr;
    }

    .guadesk-cart-summary-new__coupon-row button {
        width: 100%;
    }

    .guadesk-cart-summary-new__coupon-line {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* =========================================================
   GUADESK — dopracowanie starej ceny i informacji o kuponie
   ========================================================= */

/* Stara cena bez ciemnego wewnętrznego kafelka */
.guadesk-cart-summary-new__primary {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

/* Stara cena ma układ taki jak "Nowa cena" */
.guadesk-cart-summary-new__label {
    margin-bottom: 7px !important;
    color: #94979f !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

.guadesk-cart-summary-new__old-price,
.guadesk-cart-summary-new__old-price .amount {
    font-size: 30px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
}

/* Informacja o kodzie: lewo / środek / prawo + Usuń */
.guadesk-cart-summary-new__coupon-line {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto auto !important;
    gap: 12px !important;
    align-items: center !important;
}

.guadesk-cart-summary-new__coupon-label {
    justify-self: start;
    color: #aeb2ba;
    font-size: 10px;
    font-weight: 500;
    white-space: nowrap;
}

.guadesk-cart-summary-new__coupon-code {
    justify-self: center;
    min-width: 0;
    overflow-wrap: anywhere;
    color: #ffffff !important;
    font-size: 10px;
    font-weight: 850;
    text-transform: uppercase;
    text-align: center;
}

.guadesk-cart-summary-new__coupon-value,
.guadesk-cart-summary-new__coupon-value .amount {
    justify-self: end;
    color: #ffffff !important;
    font-size: 10px;
    font-weight: 850;
    white-space: nowrap;
}

.guadesk-cart-summary-new__remove {
    justify-self: end;
}

@media (max-width: 620px) {
    .guadesk-cart-summary-new__coupon-line {
        grid-template-columns: 1fr auto !important;
        gap: 8px 12px !important;
    }

    .guadesk-cart-summary-new__coupon-label {
        grid-column: 1;
        justify-self: start;
    }

    .guadesk-cart-summary-new__coupon-code {
        grid-column: 2;
        justify-self: end;
        text-align: right;
    }

    .guadesk-cart-summary-new__coupon-value {
        grid-column: 1;
        justify-self: start;
    }

    .guadesk-cart-summary-new__remove {
        grid-column: 2;
        justify-self: end;
    }
}


/* =========================================================
   GUADESK — przycisk Usuń poza polem kuponu
   ========================================================= */

.guadesk-cart-summary-new__coupon-entry {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px;
    align-items: stretch;
}

.guadesk-cart-summary-new__coupon-entry
.guadesk-cart-summary-new__coupon-line {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto !important;
    min-width: 0;
}

.guadesk-cart-summary-new__coupon-entry
.guadesk-cart-summary-new__remove {
    align-self: stretch;
    justify-self: auto;
    min-height: 100%;
    padding-left: 12px;
    padding-right: 12px;
}

@media (max-width: 620px) {
    .guadesk-cart-summary-new__coupon-entry {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .guadesk-cart-summary-new__coupon-entry
    .guadesk-cart-summary-new__coupon-line {
        grid-template-columns: 1fr !important;
        gap: 4px !important;
    }

    .guadesk-cart-summary-new__coupon-entry
    .guadesk-cart-summary-new__coupon-code,
    .guadesk-cart-summary-new__coupon-entry
    .guadesk-cart-summary-new__coupon-value {
        justify-self: start;
        text-align: left;
    }
}


/* =========================================================
   GUADESK — kupon jako sam tekst, bez małych kafelków
   ========================================================= */

.guadesk-cart-summary-new__coupon-entry {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}

.guadesk-cart-summary-new__coupon-line {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto !important;
    flex: 1 1 auto !important;
    gap: 12px !important;
    align-items: center !important;

    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.guadesk-cart-summary-new__remove {
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;

    color: #94979f !important;
    font-size: 10px !important;
    font-weight: 750 !important;
    line-height: 1.4 !important;
}

.guadesk-cart-summary-new__remove:hover {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #ff6b6b !important;
}

@media (max-width: 620px) {
    .guadesk-cart-summary-new__coupon-entry {
        align-items: flex-start !important;
    }
}


/* =========================================================
   GUADESK — dokładne wyśrodkowanie treści kodu rabatowego
   ========================================================= */

.guadesk-cart-summary-new__coupon-line {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    width: 100% !important;
}

.guadesk-cart-summary-new__coupon-label {
    justify-self: start !important;
}

.guadesk-cart-summary-new__coupon-code {
    justify-self: center !important;
    text-align: center !important;
}

.guadesk-cart-summary-new__coupon-value {
    justify-self: end !important;
    text-align: right !important;
}

@media (max-width: 620px) {
    .guadesk-cart-summary-new__coupon-entry
    .guadesk-cart-summary-new__coupon-line {
        grid-template-columns: 1fr auto 1fr !important;
    }

    .guadesk-cart-summary-new__coupon-entry
    .guadesk-cart-summary-new__coupon-code {
        justify-self: center !important;
        text-align: center !important;
    }

    .guadesk-cart-summary-new__coupon-entry
    .guadesk-cart-summary-new__coupon-value {
        justify-self: end !important;
        text-align: right !important;
    }
}


/* =========================================================
   GUADESK — kod dokładnie na środku całego wiersza
   ========================================================= */

/*
 * Poprzednio kod był centrowany w obszarze pomniejszonym
 * o przycisk "Usuń", dlatego optycznie uciekał w prawo.
 * Teraz cały wpis kuponu jest jednym układem:
 * lewy tekst | kod absolutnie w centrum | rabat | usuń.
 */
.guadesk-cart-summary-new__coupon-entry {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    column-gap: 14px !important;
    align-items: center !important;
    width: 100% !important;
}

.guadesk-cart-summary-new__coupon-entry
.guadesk-cart-summary-new__coupon-line {
    display: contents !important;
}

.guadesk-cart-summary-new__coupon-label {
    grid-column: 1 !important;
    justify-self: start !important;
}

.guadesk-cart-summary-new__coupon-code {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
}

.guadesk-cart-summary-new__coupon-value {
    grid-column: 2 !important;
    justify-self: end !important;
    margin: 0 !important;
    text-align: right !important;
    white-space: nowrap !important;
}

.guadesk-cart-summary-new__remove {
    grid-column: 3 !important;
    justify-self: end !important;
    margin: 0 !important;
}

@media (max-width: 620px) {
    .guadesk-cart-summary-new__coupon-entry {
        grid-template-columns: minmax(0, 1fr) auto auto !important;
    }

    .guadesk-cart-summary-new__coupon-code {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
    }
}


/* =========================================================
   GUADESK — kupon wyrównany do lewej
   ========================================================= */

.guadesk-cart-summary-new__coupon-entry {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    gap: 0 !important;
}

.guadesk-cart-summary-new__coupon-entry
.guadesk-cart-summary-new__coupon-line {
    display: flex !important;
    align-items: center !important;
    flex: 0 1 auto !important;
    width: auto !important;
    gap: 24px !important;
}

.guadesk-cart-summary-new__coupon-label,
.guadesk-cart-summary-new__coupon-code,
.guadesk-cart-summary-new__coupon-value {
    position: static !important;
    display: inline-block !important;
    justify-self: auto !important;
    margin: 0 !important;
    transform: none !important;
    text-align: left !important;
    white-space: nowrap !important;
}

.guadesk-cart-summary-new__coupon-code {
    font-weight: 850 !important;
}

.guadesk-cart-summary-new__coupon-value,
.guadesk-cart-summary-new__coupon-value .amount {
    color: #ffffff !important;
    font-weight: 400 !important;
}

.guadesk-cart-summary-new__remove {
    position: static !important;
    margin-left: auto !important;
    flex: 0 0 auto !important;
    font-weight: 750 !important;
}

@media (max-width: 620px) {
    .guadesk-cart-summary-new__coupon-entry {
        display: flex !important;
    }

    .guadesk-cart-summary-new__coupon-entry
    .guadesk-cart-summary-new__coupon-line {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px 18px !important;
    }

    .guadesk-cart-summary-new__coupon-code,
    .guadesk-cart-summary-new__coupon-value {
        position: static !important;
        transform: none !important;
    }
}


/* =========================================================
   GUADESK — DANE WYSYŁKI + PŁATNOŚĆ
   Duży kafelek podzielony na 2 części
   ========================================================= */

.guadesk-cart-order-data {
    margin-top: 24px;
}

.guadesk-cart-order-data__form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    border: 1px solid #2b2d31;
    border-radius: 20px;
    background: #18191b;
    overflow: hidden;
}

.guadesk-cart-order-data__section {
    min-width: 0;
    padding: 26px;
}

.guadesk-cart-order-data__section + .guadesk-cart-order-data__section {
    border-left: 1px solid #2b2d31;
}

.guadesk-cart-order-data__section > h2 {
    margin: 0 0 22px;
    color: #fff;
    font-size: 22px;
    font-weight: 760;
    line-height: 1.25;
}

.guadesk-cart-order-data__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.guadesk-cart-order-data .form-row {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.guadesk-cart-order-data .form-row label {
    display: block;
    margin: 0 0 7px;
    color: #d7d9df;
    font-size: 11px;
    font-weight: 700;
}

.guadesk-cart-order-data .form-row .required {
    color: #ff8a1f;
}

.guadesk-cart-order-data .form-row input.input-text,
.guadesk-cart-order-data .form-row textarea {
    width: 100% !important;
    min-height: 48px;
    padding: 0 13px !important;
    border: 1px solid #343945 !important;
    border-radius: 10px !important;
    background: #111214 !important;
    color: #fff !important;
    box-shadow: none !important;
    box-sizing: border-box;
}

.guadesk-cart-order-data .form-row textarea {
    min-height: 118px;
    padding-top: 12px !important;
    resize: vertical;
}

.guadesk-cart-order-data .form-row input:focus,
.guadesk-cart-order-data .form-row textarea:focus {
    border-color: rgba(255,138,31,.62) !important;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(255,138,31,.07) !important;
}

/* Płatność */

.guadesk-cart-order-data__technical-review {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    pointer-events: none !important;
}

.guadesk-cart-order-data #payment,
.guadesk-cart-order-data .woocommerce-checkout-payment {
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.guadesk-cart-order-data #payment ul.payment_methods {
    display: grid;
    gap: 9px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.guadesk-cart-order-data #payment ul.payment_methods > li {
    margin: 0 !important;
    padding: 14px 15px !important;
    border: 1px solid #343945;
    border-radius: 11px;
    background: #111214;
    color: #fff;
}

.guadesk-cart-order-data #payment input[type="radio"] {
    accent-color: #ff8a1f;
}

.guadesk-cart-order-data #payment label {
    color: #fff;
    font-size: 13px;
    font-weight: 750;
}

.guadesk-cart-order-data #payment div.payment_box {
    margin: 10px 0 0 !important;
    padding: 11px 12px !important;
    border-radius: 9px !important;
    background: #18191b !important;
    color: #c5c8cf !important;
    font-size: 11px;
    line-height: 1.55;
}

.guadesk-cart-order-data #payment div.payment_box::before {
    display: none !important;
}

.guadesk-cart-order-data__note {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid #2b2d31;
}

.guadesk-cart-order-data__note h3 {
    margin: 0 0 12px;
    color: #fff;
    font-size: 14px;
    font-weight: 750;
}

.guadesk-cart-order-data__consents {
    display: grid;
    gap: 10px;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #2b2d31;
}

.guadesk-cart-order-data__consents label {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    color: #d7d9df;
    font-size: 11px;
    line-height: 1.55;
    cursor: pointer;
}

.guadesk-cart-order-data__consents input {
    width: 16px;
    height: 16px;
    margin: 1px 0 0;
    accent-color: #ff8a1f;
}

.guadesk-cart-order-data__consents a {
    color: #ff8a1f;
    text-decoration: none;
}

.guadesk-cart-order-data #payment .place-order {
    margin: 18px 0 0 !important;
    padding: 0 !important;
}

.guadesk-cart-order-data .woocommerce-privacy-policy-text,
.guadesk-cart-order-data .woocommerce-terms-and-conditions-wrapper {
    display: none !important;
}

.guadesk-cart-order-data #place_order {
    width: 100% !important;
    min-height: 54px;
    padding: 0 22px !important;
    border: 1px solid #ff8a1f !important;
    border-radius: 12px !important;
    background: #ff8a1f !important;
    color: #111217 !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    cursor: pointer;
}

/*
 * Jeżeli Przelewy24 nie jest jeszcze zainstalowane,
 * WooCommerce pokaże obecnie aktywne metody (np. przelew bankowy).
 * Po instalacji/włączeniu bramki Przelewy24 pojawi się automatycznie
 * w tej samej sekcji.
 */

@media (max-width: 980px) {
    .guadesk-cart-order-data__form {
        grid-template-columns: 1fr;
    }

    .guadesk-cart-order-data__section + .guadesk-cart-order-data__section {
        border-left: 0;
        border-top: 1px solid #2b2d31;
    }
}

@media (max-width: 620px) {
    .guadesk-cart-order-data__section {
        padding: 18px;
    }

    .guadesk-cart-order-data__fields {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   GUADESK — przycisk płatności bezpośrednio pod zgodami
   ========================================================= */

/* Ukrywamy przycisk generowany wewnątrz standardowego bloku WooCommerce. */
.guadesk-cart-order-data #payment .place-order {
    display: none !important;
}

.guadesk-cart-order-data__submit {
    margin-top: 18px;
}

.guadesk-cart-order-data__submit-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 54px;
    margin: 0 !important;
    padding: 0 22px !important;
    border: 1px solid #ff8a1f !important;
    border-radius: 12px !important;
    background: #ff8a1f !important;
    color: #111217 !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    cursor: pointer;
}


/* =========================================================
   GUADESK — WŁASNY FORMULARZ WYSYŁKI + PŁATNOŚCI
   Bez gotowych komponentów WooCommerce checkout
   ========================================================= */

/* Stara sekcja WooCommerce nie ma już zastosowania */
.guadesk-cart-order-data {
    display: none !important;
}

.guadesk-cart-custom-checkout {
    margin-top: 24px;
}

.guadesk-cart-custom-checkout__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    border: 1px solid #2b2d31;
    border-radius: 20px;
    background: #18191b;
    overflow: hidden;
}

.guadesk-cart-custom-checkout__section {
    min-width: 0;
    padding: 26px;
}

.guadesk-cart-custom-checkout__section + .guadesk-cart-custom-checkout__section {
    border-left: 1px solid #2b2d31;
}

.guadesk-cart-custom-checkout__section > h2 {
    margin: 0 0 22px;
    color: #fff;
    font-size: 22px;
    font-weight: 760;
    line-height: 1.25;
}

.guadesk-cart-custom-checkout__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.guadesk-cart-custom-field {
    display: grid;
    gap: 7px;
}

.guadesk-cart-custom-field label,
.guadesk-cart-custom-note > label {
    color: #d7d9df;
    font-size: 11px;
    font-weight: 700;
}

.guadesk-cart-custom-field input,
.guadesk-cart-custom-note textarea {
    width: 100%;
    min-height: 48px;
    padding: 0 13px;
    border: 1px solid #343945;
    border-radius: 10px;
    background: #111214;
    color: #fff;
    box-shadow: none;
    box-sizing: border-box;
    font: inherit;
}

.guadesk-cart-custom-field input:focus,
.guadesk-cart-custom-note textarea:focus {
    border-color: rgba(255,138,31,.62);
    outline: 0;
    box-shadow: 0 0 0 3px rgba(255,138,31,.07);
}

.guadesk-cart-custom-note {
    display: grid;
    gap: 8px;
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid #2b2d31;
}

.guadesk-cart-custom-note textarea {
    min-height: 118px;
    padding-top: 12px;
    resize: vertical;
}

/* Płatności */

.guadesk-cart-custom-payments {
    display: grid;
    gap: 10px;
}

.guadesk-cart-custom-payment {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 11px;
    align-items: start;
    padding: 14px 15px;
    border: 1px solid #343945;
    border-radius: 11px;
    background: #111214;
    cursor: pointer;
    transition:
        border-color .16s ease,
        background-color .16s ease;
}

.guadesk-cart-custom-payment:hover {
    border-color: #454b59;
    background: #15171a;
}

.guadesk-cart-custom-payment:has(input:checked) {
    border-color: rgba(255,138,31,.48);
    background: rgba(255,138,31,.055);
}

.guadesk-cart-custom-payment input {
    width: 16px;
    height: 16px;
    margin: 2px 0 0;
    accent-color: #ff8a1f;
}

.guadesk-cart-custom-payment span {
    display: grid;
    gap: 3px;
}

.guadesk-cart-custom-payment strong {
    color: #fff;
    font-size: 13px;
    font-weight: 760;
}

.guadesk-cart-custom-payment small {
    color: #858a94;
    font-size: 10px;
    line-height: 1.45;
}

/* Zgody */

.guadesk-cart-custom-consents {
    display: grid;
    gap: 10px;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #2b2d31;
}

.guadesk-cart-custom-consents label {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    color: #d7d9df;
    font-size: 11px;
    line-height: 1.55;
    cursor: pointer;
}

.guadesk-cart-custom-consents input {
    width: 16px;
    height: 16px;
    margin: 1px 0 0;
    accent-color: #ff8a1f;
}

.guadesk-cart-custom-consents a {
    color: #ff8a1f;
    text-decoration: none;
}

.guadesk-cart-custom-consents a:hover {
    text-decoration: underline;
}

/* Przycisk */

.guadesk-cart-custom-checkout__submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 54px;
    margin-top: 18px;
    padding: 0 22px;
    border: 1px solid #ff8a1f;
    border-radius: 12px;
    background: #ff8a1f;
    color: #111217;
    box-shadow: none;
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    font-weight: 900;
    transition:
        transform .16s ease,
        filter .16s ease;
}

.guadesk-cart-custom-checkout__submit:hover {
    transform: translateY(-1px);
    filter: brightness(1.06);
}

@media (max-width: 980px) {
    .guadesk-cart-custom-checkout__form {
        grid-template-columns: 1fr;
    }

    .guadesk-cart-custom-checkout__section + .guadesk-cart-custom-checkout__section {
        border-left: 0;
        border-top: 1px solid #2b2d31;
    }
}

@media (max-width: 620px) {
    .guadesk-cart-custom-checkout__section {
        padding: 18px;
    }

    .guadesk-cart-custom-checkout__fields {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   GUADESK — usuń stary dolny przycisk "Przejdź do płatności"
   ========================================================= */

/* Standardowy przycisk / kontener WooCommerce pod koszykiem */
.guadesk-cart-main .wc-proceed-to-checkout,
.guadesk-cart-main a.checkout-button,
.guadesk-cart-main .cart-collaterals .checkout-button,
.guadesk-cart-main .woocommerce-cart-form + .cart-collaterals {
    display: none !important;
}

/* Nasz nowy przycisk w formularzu pozostaje widoczny */
.guadesk-cart-main .guadesk-cart-custom-checkout__submit {
    display: flex !important;
}


/* =========================================================
   GUADESK — STRONA PŁATNOŚCI PRZELEWEM
   ========================================================= */

.guadesk-bank-payment-page {
    padding: 56px 0 84px;
    background: #111217;
}

.guadesk-bank-payment-page__container {
    width: min(calc(100% - 40px), 1180px);
    margin: 0 auto;
}

.guadesk-bank-payment-page__header {
    max-width: 760px;
    margin: 0 auto 28px;
    text-align: center;
}

.guadesk-bank-payment-page__header > span {
    display: block;
    margin-bottom: 9px;
    color: #ff8a1f;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .14em;
}

.guadesk-bank-payment-page__header h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(34px, 5vw, 52px);
    line-height: 1.05;
    letter-spacing: -.04em;
}

.guadesk-bank-payment-page__header p {
    margin: 11px 0 0;
    color: #94979f;
    font-size: 13px;
    line-height: 1.6;
}

.guadesk-bank-payment {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 1px solid #2b2d31;
    border-radius: 20px;
    background: #18191b;
    overflow: hidden;
}

.guadesk-bank-payment__section {
    min-width: 0;
    padding: 28px;
}

.guadesk-bank-payment__section + .guadesk-bank-payment__section {
    border-left: 1px solid #2b2d31;
}

.guadesk-bank-payment__section h2 {
    margin: 0 0 22px;
    color: #fff;
    font-size: 22px;
    font-weight: 760;
}

.guadesk-bank-payment__details,
.guadesk-bank-payment__summary {
    display: grid;
    gap: 0;
}

.guadesk-bank-payment__details > div,
.guadesk-bank-payment__summary > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 13px 0;
    border-bottom: 1px solid #2b2d31;
}

.guadesk-bank-payment__details > div:last-child,
.guadesk-bank-payment__summary > div:last-child {
    border-bottom: 0;
}

.guadesk-bank-payment__details span,
.guadesk-bank-payment__summary span {
    color: #94979f;
    font-size: 11px;
}

.guadesk-bank-payment__details strong,
.guadesk-bank-payment__summary strong {
    color: #fff;
    font-size: 12px;
    font-weight: 780;
    text-align: right;
}

.guadesk-bank-payment__amount,
.guadesk-bank-payment__amount .amount {
    color: #ff8a1f !important;
    font-size: 20px !important;
    font-weight: 900 !important;
}

.guadesk-bank-payment__account {
    font-variant-numeric: tabular-nums;
    letter-spacing: .025em;
}

.guadesk-bank-payment__notice {
    margin: 22px 0 0;
    padding: 15px 16px;
    border: 1px solid rgba(255,138,31,.22);
    border-radius: 11px;
    background: rgba(255,138,31,.055);
    color: #d7d9df;
    font-size: 11px;
    line-height: 1.65;
}

.guadesk-bank-payment-page__error {
    padding: 44px;
    border: 1px solid #2b2d31;
    border-radius: 20px;
    background: #18191b;
    text-align: center;
}

.guadesk-bank-payment-page__error h1 {
    margin: 0;
    color: #fff;
}

.guadesk-bank-payment-page__error p {
    margin: 10px 0 0;
    color: #94979f;
}

@media (max-width: 860px) {
    .guadesk-bank-payment {
        grid-template-columns: 1fr;
    }

    .guadesk-bank-payment__section + .guadesk-bank-payment__section {
        border-left: 0;
        border-top: 1px solid #2b2d31;
    }
}

@media (max-width: 620px) {
    .guadesk-bank-payment-page {
        padding: 34px 0 56px;
    }

    .guadesk-bank-payment-page__container {
        width: calc(100% - 24px);
    }

    .guadesk-bank-payment__section {
        padding: 20px;
    }

    .guadesk-bank-payment__details > div,
    .guadesk-bank-payment__summary > div {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .guadesk-bank-payment__details strong,
    .guadesk-bank-payment__summary strong {
        text-align: left;
    }
}
