/* PROMATION – FORMULARZ ZAMÓWIENIA / WERSJA ZINTEGROWANA v5 */
:root {
    --pm-blue: #08aeda;
    --pm-blue-dark: #087d9f;
    --pm-blue-pale: #f2fafe;
    --pm-orange: #f49a22;
    --pm-text: #203843;
    --pm-muted: #60747e;
    --pm-border: #d6e3e9;
    --pm-shadow: 0 8px 24px rgba(28, 67, 84, .08);
}

.pm-order-benefits {width:100%;max-width:930px;margin:10px auto 24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pm-order-benefits>span{min-height:62px;padding:11px 10px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--pm-border);border-radius:10px;background:#fff;color:var(--pm-text);text-align:center;line-height:1.25;box-shadow:0 5px 16px rgba(33,72,89,.06);box-sizing:border-box}
.pm-order-benefits i{color:var(--pm-blue);font-size:19px}.pm-order-benefits strong{font-size:12px}
#app-order-form{width:100%;max-width:930px;margin:0 auto;color:var(--pm-text)}
.order-form-wrapper{width:100%}

/* Kroki */
.order-form-wrapper>ul{max-width:680px!important;margin:0 auto 52px!important}
.order-form-wrapper ul li._ball{position:relative;width:46px!important;height:46px!important;line-height:46px!important;border:3px solid #fff;box-shadow:0 5px 14px rgba(33,72,89,.16);font-weight:800}
.order-form-wrapper ul li._line{height:3px!important;margin-top:21px!important}
.order-form-wrapper ul li._ball::after{position:absolute;left:50%;top:54px;width:165px;transform:translateX(-50%);color:#71838b;font-size:12px;font-weight:700;line-height:1.2;text-align:center}
.order-form-wrapper ul li._ball:nth-child(1)::after{content:"Produkty"}.order-form-wrapper ul li._ball:nth-child(3)::after{content:"Dane firmy"}.order-form-wrapper ul li._ball:nth-child(5)::after{content:"Płatność i wysłanie"}
.order-form-wrapper ul li._ball._active::after{color:var(--pm-blue-dark)}
.step1>._header,.step3>._header{margin:0 0 15px!important;padding:0 0 10px!important;border-bottom:2px solid #e1edf2;color:var(--pm-text);font-size:20px;font-weight:800}

/* Krok 1 */
.products-list-contener{width:100%!important;max-width:none!important;display:block!important}
.pm-product-card{margin:0 0 16px!important;padding:20px 22px!important;border:1px solid var(--pm-border)!important;border-radius:13px!important;background:#fff!important;box-shadow:var(--pm-shadow)!important;box-sizing:border-box}
.pm-product-main{width:100%!important;display:grid!important;grid-template-columns:126px minmax(280px,1fr) auto!important;gap:16px 30px!important;align-items:center!important}
.pm-product-image{width:118px!important;height:118px!important;margin:0!important;padding:5px;border:1px solid #d7e3e8!important;border-radius:9px;background:#fff;object-fit:contain!important;cursor:pointer;box-sizing:border-box;transition:.18s}
.pm-product-image:hover,.pm-product-image:focus{border-color:#73bfd2!important;box-shadow:0 0 0 3px rgba(8,174,218,.12);transform:translateY(-1px);outline:0}
.pm-product-info{width:auto!important;margin:0!important;padding-left:8px!important;color:#405761;line-height:1.45}
.pm-product-name{display:inline-block;margin-bottom:8px;color:#203943!important;font-size:18px;font-weight:800;line-height:1.25;text-decoration:none}.pm-product-name:hover{text-decoration:underline;color:var(--pm-blue-dark)!important}
.pm-product-code{margin-bottom:5px}.pm-product-price{margin-top:7px;color:#1e3e4a;font-size:16px}.pm-product-gross{margin-left:8px;color:#73858d;font-size:11px;font-weight:400}
.pm-product-delivery,.pm-product-old-link{display:none!important}
.pm-product-actions{display:flex!important;align-items:center!important;flex-wrap:wrap;gap:8px}
._product-qty-panel{height:44px!important;display:inline-flex;align-items:center;gap:6px}._product-qty-panel i{font-size:23px}
._product-qty-panel ._qty-prod{width:54px!important;height:40px;padding:0!important;border:1px solid #a4bdc7!important;border-radius:7px;background:#fff;text-align:center;font-size:16px!important;box-sizing:border-box}
._actions{display:inline-flex;flex-wrap:wrap;gap:7px;margin-left:0!important}
._a_product-options,._a_remove-product,._a_add-product,._a_cancel-product{min-height:40px;padding:2px 12px!important;display:inline-flex!important;align-items:center;border-radius:7px!important;font-weight:700;box-sizing:border-box}
.pm-product-options{margin-top:17px!important;padding:15px!important;border:1px solid #dae7ec!important;border-radius:10px;background:#f7fbfd!important}
.pm-product-options::before{content:"Dodatki i konfiguracja produktu";display:block;margin-bottom:10px;color:#294650;font-size:13px;font-weight:800}
.pm-product-options ul{width:100%!important;max-width:none!important;display:grid!important;gap:8px}.pm-option-row{width:100%;min-height:52px;padding:10px 12px!important;display:grid!important;grid-template-columns:minmax(0,1fr) 140px;gap:12px;align-items:center;border:1px solid #e0eaee;border-radius:8px;background:#fff;box-sizing:border-box}.pm-option-row.is-selected{border-color:#9fd4e3;background:#fbfeff}.pm-option-row label{width:100%!important;margin:0!important;display:flex!important;align-items:center;gap:8px}.pm-option-label{font-size:13px;line-height:1.4}.pm-option-quantity{width:140px}.pm-option-row:not(.is-selected) .pm-option-quantity{opacity:.45}.pm-option-row ._qty-prod:disabled{background:#eef3f5!important;color:#81929a!important}
.pm-product-note-wrap{margin-top:12px}.pm-product-note-wrap>span{display:inline-flex;padding:8px 11px;border:1px dashed #9ec7d5;border-radius:8px;background:#f5fbfd;color:var(--pm-blue-dark);font-size:13px;font-weight:700}.pm-product-note-wrap textarea{width:100%!important;min-height:78px;margin-top:12px;padding:10px 12px;border:1px solid #aec4cd;border-radius:8px;box-sizing:border-box}
.pm-basket-footer{padding:17px!important;border:1px solid var(--pm-border)!important;border-radius:13px!important;background:#fff!important;box-shadow:var(--pm-shadow)!important}
.pm-basket-footer>div:first-child{display:flex;flex-wrap:wrap;gap:9px}.pm-basket-footer>div:last-child{margin-top:10px;color:#5f727b}

/* Krok 2 */
.step2{width:100%}.pm-address-grid{width:100%!important;max-width:920px!important;margin:0 auto!important;padding:20px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;border:1px solid var(--pm-border)!important;border-radius:14px!important;background:#f5fafc!important;box-shadow:var(--pm-shadow)!important;box-sizing:border-box}
.step2 .form_invoice,.step2 .form_delivery{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:22px 24px 24px!important;border:1px solid #dce7ec!important;border-radius:11px!important;background:#fff!important;box-shadow:0 5px 16px rgba(28,67,84,.06)!important;box-sizing:border-box!important}
.step2 .form_invoice h3,.step2 .form_delivery h3{margin:0 0 19px!important;padding:0 0 13px!important;border:0!important;border-bottom:2px solid #dff0f6!important;background:transparent!important;color:#203b47!important;font-size:18px!important;font-weight:800!important;text-align:left!important}
.step2 .form_invoice label,.step2 .form_delivery label{display:block!important;margin:0 0 12px!important}.step2 input[type=text],.step2 textarea{width:100%!important;min-height:44px!important;padding:10px 12px!important;border:1px solid #a9c0ca!important;border-radius:7px!important;background:#fff!important;color:#223d48!important;font-size:14px!important;box-sizing:border-box!important}.step2 textarea{min-height:80px!important}.step2 input:focus,.step2 textarea:focus{outline:3px solid rgba(8,174,218,.14);border-color:var(--pm-blue)!important}
.step2 .content_box{width:100%;max-width:920px;margin:18px auto 0!important;padding:17px 18px!important;border:1px solid var(--pm-border);border-radius:10px;background:#fff;box-shadow:var(--pm-shadow);box-sizing:border-box}

/* Wspólna nawigacja */
.pm-order-nav{width:100%!important;max-width:920px!important;margin:16px auto 0!important;padding:15px 17px!important;display:flex!important;justify-content:space-between!important;align-items:center;gap:12px;border:1px solid var(--pm-border)!important;border-radius:10px;background:#fff!important;box-shadow:var(--pm-shadow)!important;box-sizing:border-box}
.pm-order-nav a{min-height:41px;display:inline-flex!important;align-items:center;justify-content:center;border-radius:8px!important}

/* Krok 3 */
.step3{width:100%;max-width:930px;margin:0 auto}.delivery-content{width:100%!important;max-width:none!important;margin:0 0 18px!important;padding:0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;align-items:stretch}
.pm-payment-card{position:relative;min-height:176px!important;margin:0!important;padding:18px!important;border:1px solid var(--pm-border)!important;border-radius:13px!important;background:#fff!important;box-shadow:var(--pm-shadow)!important;box-sizing:border-box;cursor:pointer;transition:.18s}.pm-payment-card:hover{border-color:#8bc8da!important;transform:translateY(-2px)}.pm-payment-card.pm-payment-selected{border-color:var(--pm-blue)!important;background:linear-gradient(180deg,#fff 0%,#f2fbfe 100%)!important;box-shadow:0 0 0 3px rgba(8,174,218,.12),var(--pm-shadow)!important}.pm-payment-card.delete{opacity:.58;cursor:not-allowed}.pm-payment-card label.type_radio{display:flex!important;align-items:flex-start;gap:9px;color:#243f4a;font-size:14px;font-weight:800;line-height:1.35}.pm-payment-card ._more{display:block;margin-top:8px;color:#60747d;font-size:11px;font-weight:400}.pm-payment-card input[type=text]{width:100px!important;height:34px;margin-top:9px;padding:6px 8px!important;border:1px solid #a9bec7!important;border-radius:6px;background:#fff;box-sizing:border-box}
.step3>._information,.pm-order-totals,.total-payment-info{margin:13px 0!important;padding:13px 15px!important;border:1px solid #f0cd8a!important;border-radius:8px;background:#fff7e8!important;color:#34424a;box-sizing:border-box}
.pm-summary-card{margin:18px 0!important;padding:19px!important;border:1px solid var(--pm-border)!important;border-radius:12px;background:#fff;box-shadow:var(--pm-shadow);box-sizing:border-box}.pm-summary-card ._header{margin-bottom:12px;color:#203c47;font-size:18px;font-weight:800}.pm-summary-table-wrap{overflow-x:auto;border:1px solid #dce7eb;border-radius:8px}.pm-summary-table{width:100%;margin:0!important;border-collapse:collapse}.pm-summary-table th{padding:10px 9px;background:#edf8fc;color:#2a4854;text-align:left;font-size:11px}.pm-summary-table td{padding:10px 9px;border-top:1px solid #e3ecef;color:#354f5a;font-size:11px;vertical-align:top}.pm-summary-option-row td{background:#fafcfd}.pm-summary-total-row td{font-weight:800;background:#f3f9fb}
.invoide_form_details{width:100%;margin:18px 0!important;padding:18px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;border:1px solid var(--pm-border);border-radius:13px;background:#fff;box-shadow:var(--pm-shadow);box-sizing:border-box}.pm-summary-address{width:100%!important;max-width:none!important;margin:0!important;padding:19px 20px!important;border:1px solid #dce7ec!important;border-radius:10px;background:#fff!important;box-sizing:border-box}.invoide_form_details h3.siteHeader{margin:0 0 13px!important;padding:0 0 11px!important;border:0!important;border-bottom:2px solid #dff0f6!important;background:transparent!important;color:#203f4c!important;text-align:left!important;font-size:16px!important}.invoide_form_details label{margin:0!important;padding:8px 0;display:block!important;border-top:1px solid #edf2f4;color:#465f6a;font-size:11px;line-height:1.4}

/* CAPTCHA */
.pm-order-security-portal{width:100%;max-width:640px;margin:18px auto 14px}.pm-order-security-portal[hidden]{display:none!important}.pm-order-security{width:100%;padding:16px 18px;display:flex;align-items:center;gap:14px;border:1px solid #b9d7e2;border-radius:11px;background:linear-gradient(135deg,#f9fcfd 0%,#eef8fc 100%);box-shadow:0 5px 16px rgba(33,72,89,.06);box-sizing:border-box}.pm-order-security__icon{width:40px;height:40px;flex:0 0 40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#dff3fa;color:var(--pm-blue-dark);font-size:18px}.pm-order-security__body{min-width:0;flex:1}.pm-order-security__title{margin-bottom:6px;font-size:14px;font-weight:800}.pm-order-security__row{display:flex;align-items:center;gap:10px}.pm-order-security__row label{font-size:14px;font-weight:800}#pm-order-challenge-answer{width:76px;height:38px;padding:6px 9px;border:1px solid #8eafbc;border-radius:7px;background:#fff;text-align:center;font-size:17px;font-weight:800;box-sizing:border-box}.pm-order-security__help{margin-top:5px;color:var(--pm-muted);font-size:11px}.pm-order-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.pm-order-error{margin:13px 0;padding:13px 15px;border:1px solid #efaaa4;border-left:4px solid #b42318;border-radius:8px;background:#fff3f2;color:#7a271a;font-weight:700}

/* Sukces – generowany bezpośrednio przez Vue */
body.pm-order-complete .pm-order-benefits,body.pm-order-complete .order-form-wrapper>ul,body.pm-order-complete .pm-order-security-portal{display:none!important}.pm-order-success-step{min-height:0!important;margin:0 auto!important;padding:0!important}.pm-order-success{width:100%;max-width:760px;margin:22px auto 0;padding:38px 42px 34px;border:1px solid #c7ddd0;border-top:5px solid #1d9b5f;border-radius:16px;background:#fff;box-shadow:0 14px 36px rgba(33,72,89,.12);text-align:center;box-sizing:border-box}.pm-order-success__icon{width:58px;height:58px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e6f7ed;color:#16814a;font-size:29px}.pm-order-success__eyebrow{margin-bottom:8px;color:#16814a;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.pm-order-success h2{max-width:600px;margin:0 auto 13px;color:var(--pm-text);font-size:25px;line-height:1.25}.pm-order-success__lead{max-width:620px;margin:0 auto 18px;color:#526871;font-size:15px;line-height:1.55}.pm-order-success__email{max-width:540px;margin:18px auto;padding:15px 18px;border:1px solid #c9e6f0;border-radius:8px;background:#f1fafe}.pm-order-success__email strong{color:var(--pm-blue-dark)}.pm-order-success__process{margin:22px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pm-order-success__process-item{padding:13px 10px;border:1px solid #e0e9ed;border-radius:10px;background:#fafcfd;color:#526871;font-size:12px;line-height:1.4}.pm-order-success__process-item i{display:block;margin-bottom:7px;color:var(--pm-blue);font-size:20px}.pm-order-success__process-item strong{display:block;margin-bottom:3px;color:#263f49}.pm-order-success__contact{margin:20px 0 0;padding:17px 0 0;border-top:1px solid var(--pm-border);color:#526871}

@media(max-width:900px){.pm-product-main{grid-template-columns:110px minmax(0,1fr)!important}.pm-product-actions{grid-column:1/-1}.pm-address-grid,.delivery-content,.invoide_form_details{grid-template-columns:1fr!important}}
@media(max-width:680px){.pm-order-benefits{grid-template-columns:1fr}.pm-order-benefits>span{min-height:48px;justify-content:flex-start}.pm-product-main{grid-template-columns:92px minmax(0,1fr)!important;gap:12px!important}.pm-product-image{width:88px!important;height:88px!important}.pm-option-row{grid-template-columns:1fr}.pm-order-nav{flex-direction:column-reverse;align-items:stretch}.pm-order-nav a{width:100%}.pm-order-success{padding:28px 20px 25px}.pm-order-success__process{grid-template-columns:1fr}}


/* =========================================================
   Promation – dopracowanie formularza v6
   ========================================================= */

/* Walidacja kroku 2 */
.step2 input.error,
.step2 textarea.error {
    border: 2px solid #c62828 !important;
    background: #fff7f7 !important;
    box-shadow: 0 0 0 3px rgba(198, 40, 40, .10) !important;
}
.pm-field-error-message {
    display: block;
    margin: 5px 2px 0;
    color: #b42318;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
}

/* Zwarte karty płatności */
.delivery-content {
    gap: 10px !important;
}
.pm-payment-card {
    min-height: 92px !important;
    padding: 12px 13px !important;
    display: flex !important;
    align-items: flex-start !important;
}
.pm-payment-card label.type_radio {
    width: 100%;
    min-height: 0 !important;
    align-items: flex-start !important;
}
.pm-payment-card label.type_radio > i {
    margin-top: 1px;
}
.pm-payment-card ._option {
    line-height: 1.35 !important;
}
.pm-payment-card ._more {
    margin-top: 4px !important;
    font-size: 10px !important;
}
.pm-payment-card input[type=text] {
    width: 78px !important;
    height: 30px !important;
    margin: 5px 0 0 6px !important;
}

/* Informacje – jeden spokojny styl zamiast żółtych pól */
.step3 > ._information,
.pm-order-totals,
.total-payment-info {
    border: 1px solid #cfe2e9 !important;
    border-left: 4px solid #32b3e1 !important;
    border-radius: 9px !important;
    background: #f4fafc !important;
    color: #334f5a !important;
    box-shadow: 0 4px 12px rgba(28, 67, 84, .04) !important;
}
.step3 > ._information i,
.total-payment-info i {
    color: #087d9f !important;
}

/* Podsumowanie wartości */
.pm-summary-subtitle {
    margin: -5px 0 13px;
    color: #647982;
    font-size: 11px;
    line-height: 1.45;
}
.pm-order-value-summary {
    margin: 16px 0 !important;
    padding: 18px !important;
    border: 1px solid #d6e3e9 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: var(--pm-shadow) !important;
}
.pm-order-value-summary__title {
    margin-bottom: 13px;
    color: #203c47;
    font-size: 15px;
    font-weight: 800;
}
.pm-order-value-summary__title i {
    margin-right: 6px;
    color: #087d9f;
}
.pm-order-value-summary__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
}
.pm-order-value-summary__grid > div {
    padding: 11px 12px;
    border: 1px solid #e0e9ed;
    border-radius: 8px;
    background: #f8fbfc;
}
.pm-order-value-summary__grid span,
.pm-order-value-summary__grid strong {
    display: block;
}
.pm-order-value-summary__grid span {
    color: #6a7e87;
    font-size: 10px;
}
.pm-order-value-summary__grid strong {
    margin-top: 4px;
    color: #203d48;
    font-size: 15px;
}
.pm-order-value-summary__shipping {
    border-left: 4px solid #32b3e1 !important;
    background: #f1fafe !important;
}
.pm-order-value-summary__term {
    margin-top: 10px;
    padding-top: 11px;
    border-top: 1px solid #e3ecef;
    color: #526871;
    font-size: 12px;
}
.pm-order-value-summary__term i {
    margin-right: 5px;
    color: #087d9f;
}

/* Dane w podsumowaniu */
.pm-summary-address .pm-data-row {
    padding: 8px 0 !important;
    display: grid !important;
    grid-template-columns: minmax(105px, 38%) minmax(0, 1fr) !important;
    gap: 10px !important;
    border-top: 1px solid #edf2f4 !important;
}
.pm-summary-address .pm-data-row:first-of-type {
    border-top: 0 !important;
}
.pm-summary-address .pm-data-label {
    color: #526871;
    font-size: 11px;
}
.pm-summary-address .pm-data-value {
    color: #203d48;
    font-size: 11px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

@media (max-width: 820px) {
    .pm-order-value-summary__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* =========================================================
   Promation – poprawki interakcji i bezpieczeństwa v8
   ========================================================= */

/* Cały kafel płatności jest aktywnym obszarem kliknięcia. */
.pm-payment-card:not(.delete) {
    cursor: pointer !important;
}
.pm-payment-card:not(.delete):hover {
    border-color: #7bc6da !important;
    box-shadow: 0 5px 15px rgba(28, 67, 84, .08) !important;
}
.pm-payment-card label.type_radio {
    cursor: inherit !important;
}

/* Błąd kodu przelewu 14 dni – czerwony, jak CAPTCHA. */
.step3 > .pm-payment-code-error {
    border: 1px solid #efaaa4 !important;
    border-left: 4px solid #b42318 !important;
    background: #fff3f2 !important;
    color: #7a271a !important;
    box-shadow: none !important;
}
.step3 > .pm-payment-code-error i {
    color: #b42318 !important;
}
.pm-payment-card.errorValidate {
    border-color: #c62828 !important;
    background: #fff7f7 !important;
    box-shadow: 0 0 0 3px rgba(198, 40, 40, .10) !important;
}

/* W dolnym polu może być jednocześnie błąd kodu i CAPTCHA. */
.pm-order-error {
    display: grid;
    gap: 7px;
}
.pm-order-error__item {
    position: relative;
    padding-left: 18px;
    line-height: 1.4;
}
.pm-order-error__item::before {
    content: "!";
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 900;
}

/* Czytelny stan rozwiniętych dodatków. */
._a_product-options {
    user-select: none;
}
._a_product-options .fa-minus {
    color: inherit;
}


/* Promation v9 – wybrane dodatki pozostają widoczne po zwinięciu listy. */
.pm-product-options .pm-option-row.is-selected {
    background: #f1fafe !important;
    border-color: #bcdce8 !important;
}


/* Promation v10 – wyraźny stan pełnej listy dodatków. */
.pm-product-options {
    transition: border-color .18s ease, background-color .18s ease;
}


/* Promation v15 – końcowy komunikat zależny od formy płatności. */
.pm-order-success__next-title {
    margin: 22px 0 10px;
    color: #263f49;
    font-size: 14px;
    font-weight: 700;
}

.pm-order-success__process-item {
    min-height: 112px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.pm-order-success__process-item--active {
    border-color: #55b5d6;
    background: #eef9fd;
    box-shadow: 0 0 0 3px rgba(85, 181, 214, .13);
}

.pm-order-success__process-item--active i {
    color: #168eb8;
}

.pm-order-success__process-item--active strong {
    color: #087d9f;
}

.pm-order-success__common-info {
    margin: 8px auto 0;
    max-width: 620px;
    padding: 13px 16px;
    border: 1px solid #d7e7ed;
    border-radius: 8px;
    background: #f7fbfc;
    color: #405c67;
    line-height: 1.5;
}


/* =========================================================
   Promation v17 – pobieranie danych firmy po NIP
   ========================================================= */
.pm-nip-lookup {
    margin: -3px 0 13px;
}

.pm-nip-lookup__button {
    width: 100%;
    min-height: 42px;
    padding: 9px 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid #7fc6dc;
    border-radius: 7px;
    background: #eef9fd;
    color: #087d9f;
    font-family: inherit;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
    cursor: pointer;
    box-sizing: border-box;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.pm-nip-lookup__button:hover,
.pm-nip-lookup__button:focus {
    border-color: #32b3e1;
    background: #e4f6fc;
    box-shadow: 0 0 0 3px rgba(50, 179, 225, .12);
    outline: 0;
}

.pm-nip-lookup__button:disabled {
    opacity: .7;
    cursor: wait;
}

.pm-nip-lookup__button.is-loading i {
    animation: pm-nip-lookup-pulse .8s ease-in-out infinite alternate;
}

.pm-nip-lookup__message {
    margin-top: 7px;
    padding: 9px 11px;
    border-radius: 7px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.45;
}

.pm-nip-lookup__message[hidden] {
    display: none !important;
}

.pm-nip-lookup__message--info {
    border: 1px solid #cfe5ee;
    background: #f1fafe;
    color: #315d6d;
}

.pm-nip-lookup__message--success {
    border: 1px solid #b9ddc7;
    background: #f0faf4;
    color: #17683c;
}

.pm-nip-lookup__message--error {
    border: 1px solid #efaaa4;
    background: #fff3f2;
    color: #7a271a;
}

@keyframes pm-nip-lookup-pulse {
    from { opacity: .45; }
    to { opacity: 1; }
}


/* =========================================================
   Promation v20 – NIP jako pierwszy krok danych do faktury
   ========================================================= */

/* Pole NIP jest pierwszym polem i ma subtelne wyróżnienie informacyjne. */
.step2 .form_invoice input[placeholder^="NIP"] {
    border-color: #69b9d2 !important;
    background: #eef9fd !important;
    box-shadow: inset 0 0 0 1px rgba(8, 174, 218, .06);
    font-weight: 700;
}

.step2 .form_invoice input[placeholder^="NIP"]:hover {
    border-color: #32b3e1 !important;
    background: #e9f7fc !important;
}

.step2 .form_invoice input[placeholder^="NIP"]:focus {
    border-color: var(--pm-blue) !important;
    background: #ffffff !important;
    outline: 3px solid rgba(8, 174, 218, .14) !important;
}

/* Przy błędzie zachowujemy czerwony stan walidacji jako ważniejszy. */
.step2 .form_invoice input[placeholder^="NIP"].error {
    border-color: #c62828 !important;
    background: #fff7f7 !important;
    box-shadow: 0 0 0 3px rgba(198, 40, 40, .10) !important;
}
