/* port z npz-shop.css (szuflada koszyka) */
.nprz-drawer[hidden] { display: none !important; }
.nprz-drawer__row .woocommerce-price-suffix { display: none; }
.nprz-drawer { position: fixed; inset: 0; z-index: 200; }
.nprz-drawer__scrim { position: absolute; inset: 0; background: rgba(20,41,39,.58); opacity: 0; transition: opacity .35s var(--nprz-ease); }
.nprz-drawer.is-open .nprz-drawer__scrim { opacity: 1; }
.nprz-drawer__panel { position: absolute; right: 0; top: 0; bottom: 0; width: min(460px, 100vw); display: flex; flex-direction: column; background: var(--nprz-white); color: var(--nprz-dark); transform: translateX(104%); transition: transform .42s var(--nprz-ease); box-shadow: -24px 0 60px rgba(20,41,39,.28); border-left: 3px solid var(--nprz-teal); }
.nprz-drawer.is-open .nprz-drawer__panel { transform: none; }
.nprz-drawer__head { display: flex; align-items: baseline; gap: 12px; padding: 24px 24px 16px; border-bottom: 1.5px solid var(--nprz-dark); }
.nprz-drawer__head h2 { margin: 0; font-size: 40px; line-height: 1; }
.nprz-drawer__count { font: 500 15px var(--nprz-font-cap); letter-spacing: var(--nprz-track); color: rgba(20,41,39,.6); }
.nprz-drawer__close { margin-left: auto; align-self: center; width: 44px; height: 44px; display: grid; place-items: center; border: 0; background: var(--nprz-grey-light); cursor: pointer; color: var(--nprz-dark); transition: background-color .2s; }
.nprz-drawer__close:hover { background: var(--nprz-grey); }
.nprz-drawer__close svg { width: 14px; height: 14px; }
.nprz-drawer__close:focus-visible { outline: 2px solid var(--nprz-amber); outline-offset: 2px; }
.nprz-drawer__content { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.nprz-drawer__list { list-style: none; margin: 0; padding: 8px 24px; overflow: auto; flex: 1; overscroll-behavior: contain; }
.nprz-drawer__sum { padding: 18px 24px calc(24px + env(safe-area-inset-bottom)); border-top: 1.5px solid var(--nprz-dark); background: var(--nprz-white); }
.nprz-drawer__row { display: flex; justify-content: space-between; align-items: baseline; font: 500 15px var(--nprz-font-cap); letter-spacing: var(--nprz-track); text-transform: uppercase; }
.nprz-drawer__row strong { font: 500 26px var(--nprz-font-body); letter-spacing: 0; text-transform: none; }
.nprz-drawer__note { margin: 6px 0 18px; font-size: 14px; color: rgba(20,41,39,.65); }
.nprz-drawer__actions { display: grid; grid-template-columns: 1fr 1.4fr; gap: 10px; }
.nprz-drawer__actions .nprz-btn { justify-content: center; padding-left: 12px; padding-right: 12px; }
.nprz-drawer__empty { flex: 1; display: grid; align-content: center; justify-items: center; gap: 10px; padding: 32px 24px; text-align: center; }
.nprz-drawer__empty p { margin: 0; color: rgba(20,41,39,.7); }
.nprz-drawer__empty .nprz-btn { margin-top: 12px; }
.nprz-drawer__empty-icon { width: 64px; height: 64px; opacity: .8; }
.nprz-body .nprz-drawer__empty-title { font-family: var(--nprz-font-head); font-weight: 600; font-size: 34px; line-height: 1; text-transform: uppercase; color: var(--nprz-dark); }
@media (prefers-reduced-motion: reduce) {
.nprz-drawer__panel, .nprz-drawer__scrim { transition: none !important; }
}

/* pozycje szuflady koszyka i selektor ilości (przeniesione z nprz-shop.css, bo szuflada jest na każdej stronie) */
.nprz-dline__price .woocommerce-price-suffix { display: none; }
.nprz-dline { position: relative; display: grid; grid-template-columns: 76px 1fr; gap: 16px; padding: 18px 40px 18px 0; border-bottom: 1px solid var(--nprz-grey); transition: opacity .2s; }
.nprz-dline.is-busy { opacity: .45; pointer-events: none; }
.nprz-dline__img { display: block; aspect-ratio: 4 / 5; background: var(--nprz-grey-light); }
.nprz-dline__img img { width: 100%; height: 100%; object-fit: contain; padding: 6%; display: block; }
.nprz-dline__main { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.nprz-dline__name { font-family: var(--nprz-font-head); font-weight: 600; font-size: 26px; line-height: 1; text-transform: uppercase; text-decoration: none; color: inherit; }
.nprz-dline__main .nprz-caption { color: rgba(20,41,39,.6); font-size: 12px; }
.nprz-dline__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 8px; }
.nprz-dline__price { font-size: 18px; font-weight: 500; }
.nprz-dline__rm { position: absolute; right: 0; top: 14px; width: 32px; height: 32px; display: grid; place-items: center; border: 0; background: none; cursor: pointer; color: rgba(20,41,39,.6); }
.nprz-dline__rm:hover { color: var(--nprz-amber); }
.nprz-dline__rm svg { width: 12px; height: 12px; }
/* szuflada: poniżej paska admina (zalogowani) */
body.admin-bar .nprz-drawer__panel { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 782px) { body.admin-bar .nprz-drawer__panel { top: var(--wp-admin--admin-bar--height, 46px); } }

/* selektor ilości (szuflada koszyka) – jak pola formularzy: biały, szara ramka + dolna kreska, teal przy hover/focus */
.nprz-qty { display: inline-flex; align-items: stretch; border: 1px solid var(--nprz-grey); border-bottom: 2px solid var(--nprz-grey); background: #fff; transition: border-color .25s var(--nprz-ease), box-shadow .25s var(--nprz-ease); }
.nprz-qty:hover { border-bottom-color: var(--nprz-teal); }
.nprz-qty:focus-within { border-color: var(--nprz-teal); box-shadow: 0 12px 28px -14px rgba(53,156,149,.55); }
.nprz-qty button { width: 38px; height: 38px; padding: 0; border: 0; border-radius: 0; background: none; cursor: pointer; font: 400 20px/1 var(--nprz-font-body); color: var(--nprz-dark); transition: color .2s; }
.nprz-qty button:hover:not(:disabled) { background: none; color: var(--nprz-teal); }
.nprz-qty button:disabled { opacity: .3; cursor: default; }
.nprz-qty button:focus-visible { outline: 2px solid var(--nprz-amber); outline-offset: -2px; }
.nprz-qty output { min-width: 34px; display: grid; place-items: center; font: 500 16px var(--nprz-font-cap); font-variant-numeric: tabular-nums; }
