/* =============================================================================
KOSZYK (css/koszyk.css) - 2026-10-02, skrypt: js/koszyk.js
Zasady (Baymard - checkout UX): wybór dostawy/płatności jako duże karty z wyraźnym
zaznaczeniem i całym polem klikalnym, cena zawsze w jednej linii po prawej, czytelne
nagłówki sekcji, okno wyboru punktu odbioru jako arkusz od dołu (telefon) / okno (komputer),
formularz danych: pola w ramkach z etykietą w środku, gwiazdka przy wymaganych, 2 kolumny.
============================================================================= */
/* nagłówki sekcji */
.bs-koszyk .cartInfo { font-size: 15px !important; font-weight: 700 !important; letter-spacing: .2px !important; color: #1f1f1f; }
/* ── dostawa i płatność: karty ─────────────────────────────────────────── */
.bs-koszyk .deliveryMethods .cart__list-element,
.bs-koszyk .paymentMethods .cart__list-element {
border: 1.5px solid #e6e6e6 !important;
border-radius: 14px !important;
background: #fff;
margin: 0 0 10px !important;
padding: 0 !important;
transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.bs-koszyk .deliveryMethods .cart__list-element.selected,
.bs-koszyk .paymentMethods .cart__list-element.selected {
border-color: #e20000 !important;
background: #fff8f8;
box-shadow: 0 2px 10px rgba(226, 0, 0, .08);
}
.bs-koszyk .cart__label--delivery,
.bs-koszyk .cart__label--payment {
position: relative;
display: grid !important;
grid-template-columns: 44px minmax(0, 1fr) auto;
grid-template-areas: "img nazwa cena" "img termin cena";
column-gap: 12px; row-gap: 2px;
align-items: center;
width: 100% !important;
min-height: 64px;
padding: 12px 14px 12px 44px !important;
box-sizing: border-box;
cursor: pointer;
}
/* znacznik wyboru (kółko) */
.bs-koszyk .cart__label--delivery::before,
.bs-koszyk .cart__label--payment::before {
left: 14px !important; top: 50% !important; bottom: auto !important; margin: 0 !important; transform: translateY(-50%) !important;
width: 20px !important; height: 20px !important; box-sizing: border-box;
border: 2px solid #b5b5b5 !important; border-radius: 50% !important; background: #fff !important;
transition: border .15s ease;
}
.bs-koszyk .cart__list-element.selected > .cart__label--delivery::before,
.bs-koszyk .cart__list-element.selected > .cart__label--payment::before { border: 10px solid #e20000 !important; }
.bs-koszyk .cart__label--delivery::after,
.bs-koszyk .cart__label--payment::after { display: none !important; }
.bs-koszyk .deliveryMethod__imageContainer,
.bs-koszyk .paymentMethod__imageContainer { grid-area: img; width: 44px !important; min-width: 0 !important; max-width: 44px !important; height: 32px !important; margin: 0 !important; padding: 0 !important; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.bs-koszyk .deliveryMethod__image,
.bs-koszyk .paymentMethod__image { max-width: 44px !important; max-height: 32px !important; width: auto !important; height: auto !important; object-fit: contain; }
.bs-koszyk .deliveryMethod__name,
.bs-koszyk .paymentMethod__name {
grid-area: nazwa; width: auto !important; margin: 0 !important; padding: 0 !important;
font-size: 14px !important; font-weight: 600 !important; line-height: 1.3 !important; letter-spacing: 0 !important; text-align: left !important;
}
.bs-koszyk .deliveryMethod__name br { display: none; }
.bs-koszyk .deliveryMethod__date,
.bs-koszyk .paymentMethod__date {
grid-area: termin; width: auto !important; margin: 0 !important; padding: 0 !important;
font-size: 12px !important; line-height: 1.35 !important; color: #6b6b6b !important; letter-spacing: 0 !important; text-align: left !important;
}
.bs-koszyk .paymentMethod__date:empty { display: none; }
.bs-koszyk .deliveryMethod__value,
.bs-koszyk .paymentMethod__value {
grid-area: cena; width: auto !important; margin: 0 !important; padding: 0 !important;
font-size: 14px !important; font-weight: 700 !important; white-space: nowrap; text-align: right !important; letter-spacing: 0 !important;
}
/* wybrany punkt odbioru / przycisk „Wybierz punkt odbioru” */
.bs-koszyk .deliveryMethod__selected-point,
.bs-koszyk .deliveryMethod__selected-point-data { margin: 0 !important; padding: 0 14px 12px 44px !important; font-size: 13px; line-height: 1.4; }
.bs-koszyk .deliveryMethod__change.js-open-ps-box {
display: inline-flex !important; align-items: center; gap: 6px;
min-height: 40px; margin-top: 2px; padding: 0 14px !important;
border: 1.5px solid #e20000; border-radius: 10px; background: #fff;
color: #e20000 !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0 !important;
text-decoration: none !important; cursor: pointer;
}
.bs-koszyk .deliveryMethod__change.js-open-ps-box::before {
content: ""; width: 16px; height: 16px; background: currentColor;
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.bs-koszyk .deliveryMethod__change.js-open-ps-box:focus-visible { outline: 2px solid #e20000; outline-offset: 2px; }
/* ── okno wyboru punktu odbioru (lista punktów sklepu) ───────────────────── */
.bs-koszyk .js-ps-box.js-list {
z-index: 2100 !important;
align-items: flex-end; justify-content: center;
background: rgba(17, 17, 17, .45) !important;
opacity: 0; transition: opacity .2s ease;
}
.bs-koszyk .js-ps-box.js-list.bs-ps-otwarte { opacity: 1; }
.bs-koszyk .js-ps-box.js-list .cart__point-selection-content {
position: relative !important; inset: auto !important; transform: translateY(24px);
width: 100% !important; max-width: 560px !important; max-height: 86vh; margin: 0 !important;
overflow: auto; -webkit-overflow-scrolling: touch;
padding: 0 16px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
background: #fff; border-radius: 20px 20px 0 0 !important; box-shadow: 0 -8px 30px rgba(0, 0, 0, .18);
transition: transform .24s cubic-bezier(.2, .7, .2, 1);
}
.bs-koszyk .js-ps-box.js-list.bs-ps-otwarte .cart__point-selection-content { transform: none; }
.bs-koszyk .js-ps-box.js-list .cart__text--point-selection-title {
position: sticky; top: 0; z-index: 1; display: flex !important; align-items: center; justify-content: space-between;
margin: 0 -16px 8px !important; padding: 18px 16px 12px !important; background: #fff;
font-size: 17px !important; font-weight: 700 !important; letter-spacing: 0 !important; border-bottom: 1px solid #f0f0f0;
}
.bs-koszyk .js-ps-box.js-list .cart__text--point-selection-title::before {   /* uchwyt arkusza */
content: ""; position: absolute; top: 7px; left: 50%; width: 40px; height: 4px; margin-left: -20px; border-radius: 4px; background: #d9d9d9;
}
.bs-koszyk .js-ps-box.js-list .js-close-ps-box {
position: static !important; display: block !important; width: 40px !important; height: 40px !important; padding: 10px; box-sizing: border-box;
border-radius: 50%; background: #f3f3f3; cursor: pointer;
}
.bs-koszyk .js-ps-box.js-list .cart__list--selection-points { margin: 0 !important; padding: 0 !important; list-style: none; }
.bs-koszyk .js-ps-box.js-list .js-select-cp {
position: relative; margin: 0 0 10px !important; padding: 14px 14px 14px 46px !important;
border: 1.5px solid #e6e6e6 !important; border-radius: 14px !important; background: #fff; cursor: pointer;
transition: border-color .15s ease, background-color .15s ease;
}
.bs-koszyk .js-ps-box.js-list .js-select-cp::before {
content: ""; position: absolute; left: 14px; top: 16px; width: 20px; height: 20px; box-sizing: border-box;
border: 2px solid #b5b5b5; border-radius: 50%; background: #fff;
}
.bs-koszyk .js-ps-box.js-list .js-select-cp.selected,
.bs-koszyk .js-ps-box.js-list .js-select-cp[aria-checked="true"] { border-color: #e20000 !important; background: #fff8f8; }
.bs-koszyk .js-ps-box.js-list .js-select-cp.selected::before,
.bs-koszyk .js-ps-box.js-list .js-select-cp[aria-checked="true"]::before { border: 6px solid #e20000; }
.bs-koszyk .js-ps-box.js-list .js-select-cp:active { transform: scale(.99); }
.bs-koszyk .js-ps-box.js-list .cart__text--selected-del { margin: 0 !important; display: flex; flex-direction: column; gap: 3px; letter-spacing: 0 !important; }
.bs-pp-nazwa { font-size: 15px; font-weight: 700; color: #1f1f1f; }
.bs-pp-adres { font-size: 13px; color: #555; }
.bs-pp-tel { align-self: flex-start; margin-top: 4px; font-size: 13px; font-weight: 600; color: #273a60 !important; text-decoration: none; }
.bs-pp-tel:hover { text-decoration: underline; }
@media (min-width: 769px) {
.bs-koszyk .js-ps-box.js-list { align-items: center; }
.bs-koszyk .js-ps-box.js-list .cart__point-selection-content { border-radius: 20px !important; max-height: 80vh; padding-bottom: 20px !important; }
.bs-koszyk .js-ps-box.js-list .cart__text--point-selection-title::before { display: none; }
}
/* ── produkt w koszyku, przyciski ─────────────────────────────────────── */
.bs-koszyk .cart__product-name-box a, .bs-koszyk .cart__product-name-box p { letter-spacing: 0 !important; }
.bs-koszyk .cart__button--submit { min-height: 52px; border-radius: 12px !important; font-size: 15px !important; font-weight: 700 !important; letter-spacing: .3px; }
.bs-koszyk .cart__select--country { min-height: 48px; border-radius: 12px !important; }
/* ── formularz danych (zamawiający, adres, faktura) ──────────────────────────
Pola w ramkach 52 px z etykietą wewnątrz (pływa do góry po kliknięciu / wpisaniu),
czerwona gwiazdka przy polach wymaganych (js/koszyk.js), dwie kolumny:
nr domu | nr lokalu, kod | miasto. Błędy: czerwona ramka + komunikat pod polem. */
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper:not(.form__checkBox):not(.checkBoxes__container):not(.hidden) {
position: relative !important; display: block !important; width: 100% !important; min-width: 0;
margin: 0 0 12px !important; padding: 0 !important; box-sizing: border-box;
}
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper input.form__input-value:not([type=radio]):not([type=checkbox]):not([type=hidden]),
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper select.form__input-value {
display: block; width: 100% !important; height: 52px !important; margin: 0 !important;
padding: 20px 14px 4px !important; box-sizing: border-box !important;
border: 1.5px solid #d4d4d4 !important; border-radius: 12px !important; background-color: #fff !important;
font-size: 16px !important; line-height: 24px !important; color: #1f1f1f !important; letter-spacing: 0 !important;
box-shadow: none; outline: none; transition: border-color .15s ease, box-shadow .15s ease;
}
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper select.form__input-value {
-webkit-appearance: none; appearance: none; padding-right: 40px !important;
background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center / 18px no-repeat !important;
}
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper input.form__input-value:focus,
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper select.form__input-value:focus {
border-color: #1f1f1f !important; box-shadow: 0 0 0 3px rgba(31, 31, 31, .08) !important;
}
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper input.form__input-value[readonly] {
background-color: #f6f6f6 !important; border-color: #e6e6e6 !important; color: #555 !important; cursor: default;
}
/* etykieta w polu */
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper > label.form__input-info {
position: absolute !important; z-index: 1; left: 15px !important; right: auto !important; top: 26px !important; bottom: auto !important;
max-width: calc(100% - 30px); margin: 0 !important; padding: 0 !important;
overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
transform: translateY(-50%) !important; transform-origin: left center;
font-size: 15px !important; line-height: 1.2 !important; font-weight: 400 !important; letter-spacing: 0 !important; text-transform: none !important;
color: #6b6b6b !important; pointer-events: none; transition: top .15s ease, font-size .15s ease, color .15s ease !important;
}
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper > label.form__input-info.label-top,
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper:focus-within > label.form__input-info,
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper:has(select) > label.form__input-info,
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper:has(input[readonly]) > label.form__input-info,
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper:has(input:-webkit-autofill) > label.form__input-info {
top: 15px !important; font-size: 11.5px !important; letter-spacing: .2px !important;
}
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper:focus-within > label.form__input-info { color: #1f1f1f !important; }
.bs-koszyk .cartContainer label.form__input-info[data-bs-wym]::after { content: " *"; color: #e20000; font-weight: 700; }
/* błąd */
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper input.form__validation-error-js,
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper.form__validation-error-js input.form__input-value {
border-color: #ce283e !important; background-color: #fff8f8 !important;
}
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper:has(input.form__validation-error-js) > label.form__input-info,
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper.form__validation-error-js > label.form__input-info { color: #ce283e !important; }
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper > .form__invalid-input,
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper > .form__validation-info,
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper > .form__validation-info-js {
position: static !important; margin: 6px 2px 0 !important; padding: 0 !important;
font-size: 12px !important; line-height: 1.35 !important; color: #ce283e !important; letter-spacing: 0 !important;
}
/* układ wierszy: 2 kolumny */
.bs-koszyk .cartContainer .cart__address-row { margin: 0 !important; }
.bs-koszyk .cartContainer .cart__address-flex {
display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 12px; align-items: start;
}
.bs-koszyk .cartContainer .cart__address-flex > * { margin-right: 0 !important; flex: none !important; }
.bs-koszyk .cartContainer .cart__address-flex--street > .cart__input-wrapper--street,
.bs-koszyk .cartContainer .cart__address-flex > .form__input-wrapper:only-child,
.bs-koszyk .cartContainer .cart__address-flex > .hidden + .form__input-wrapper:last-child { grid-column: 1 / -1; }
.bs-koszyk .cartContainer .cart__address-flex > .hidden { display: none !important; }
.bs-koszyk .cartContainer .cart__input-wrapper.form__input-wrapper.hidden { display: none !important; }
/* osoba prywatna / firma */
.bs-koszyk .cartContainer .form__input-wrapper.checkBoxes__container--radio { display: block !important; width: 100% !important; margin: 4px 0 16px !important; }
/* logowanie / gość */
.bs-koszyk .cartContainer .customerData .deliveryData .customerLoginRegisterButton { width: 100% !important; margin: 16px 0 0 !important; }
.bs-koszyk .cartContainer .customerData .deliveryData .customerLoginRegisterButton button {
max-width: none !important; width: 100% !important; margin: 0 !important; box-sizing: border-box; min-height: 48px; border-radius: 12px !important; font-size: 14px !important; font-weight: 700 !important;
}
.bs-koszyk .cartContainer .customerData .deliveryData .customerGuestInfoBorder { width: 100% !important; margin: 20px 0 24px !important; }
.bs-koszyk .cartContainer .customerData .deliveryData .customerGuestInfoBorder .customerGuestInfoText { padding: 0 12px !important; font-size: 13px !important; color: #6b6b6b !important; }
@media (max-width: 768px) {
html.bs-koszyk:has(.cartContainer .customerData) #backArrow { display: none !important; }  /* zasłaniał pola formularza */
}
@media (min-width: 769px) {
.bs-koszyk .cartContainer .cart__address-flex { column-gap: 16px; }
}
/* dane do faktury zapisują się same (js/koszyk.js) - bez przycisku „Zapisz zmiany” */
.bs-koszyk .js-invoice .js-save-invoice { display: none !important; }
@media (prefers-reduced-motion: reduce) {
.bs-koszyk .js-ps-box.js-list, .bs-koszyk .js-ps-box.js-list .cart__point-selection-content { transition: none; }
}
/* ── okienka: wybór banku, opisy dostaw i płatności (js/koszyk.js) ─────────────── */
html.bs-okno-otwarte, html.bs-okno-otwarte body { overflow: hidden !important; }
.bs-koszyk .cartContainer .deliveryAndPayment .paymentChannel__container {
z-index: 10000; overflow-y: auto; overscroll-behavior: contain; background: rgba(17, 17, 17, .55); cursor: pointer;
}
.bs-koszyk .cartContainer .deliveryAndPayment .paymentChannel__box {
position: relative !important; inset: auto !important; width: min(720px, calc(100% - 32px)) !important; height: auto !important;
margin: 40px auto !important; padding: 28px 28px 24px !important; box-sizing: border-box; border-radius: 20px;
box-shadow: 0 20px 60px rgba(0, 0, 0, .25); cursor: default; animation: bsOknoBox .22s cubic-bezier(.2, .7, .2, 1);
}
.bs-koszyk .cartContainer .deliveryAndPayment .paymentChannel__title { margin: 0 52px 18px 0 !important; font-size: 19px !important; font-weight: 700 !important; letter-spacing: 0 !important; }
.bs-koszyk .cartContainer .deliveryAndPayment .paymentChannel__close {
top: 16px !important; right: 16px !important; width: 40px !important; height: 40px !important; padding: 12px; box-sizing: border-box;
border-radius: 50%; background: #f2f2f2; fill: #1f1f1f !important; cursor: pointer; transition: background-color .15s ease; z-index: 2;
}
.bs-koszyk .cartContainer .deliveryAndPayment .paymentChannel__close:hover { background: #e4e4e4; }
.bs-koszyk .cartContainer .deliveryAndPayment .paymentChannel__close:focus-visible { outline: 2px solid #e20000; outline-offset: 2px; }
@media (max-width: 768px) {
.bs-koszyk .cartContainer .deliveryAndPayment .paymentChannel__container { overflow: hidden; }
.bs-koszyk .cartContainer .deliveryAndPayment .paymentChannel__box {
position: absolute !important; top: auto !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
width: 100% !important; max-height: 88vh; overflow-y: auto; margin: 0 !important; border-radius: 20px 20px 0 0;
padding: 24px 16px calc(20px + env(safe-area-inset-bottom)) !important;
}
}
.bs-koszyk .delivery-method-description-js { display: none !important; }      /* zamiast dymka - okienko */
.bs-koszyk .delivery-method-tooltip-js svg { cursor: pointer; }
.bs-okno {
position: fixed; inset: 0; z-index: 10001; display: flex; align-items: center; justify-content: center;
padding: 16px; background: rgba(17, 17, 17, .55); animation: bsOknoTlo .18s ease;
}
.bs-okno__box {
position: relative; width: min(560px, 100%); max-height: calc(100vh - 32px); overflow-y: auto; box-sizing: border-box;
padding: 28px 28px 24px; border-radius: 20px; background: #fff; box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
outline: none; animation: bsOknoBox .22s cubic-bezier(.2, .7, .2, 1);
}
.bs-okno__tytul { margin: 0 52px 14px 0; font-size: 19px; font-weight: 700; line-height: 1.3; color: #1f1f1f; letter-spacing: 0; }
.bs-okno__tresc { font-size: 14.5px; line-height: 1.6; color: #333; letter-spacing: 0; }
.bs-okno__tresc p { margin: 0 0 10px; }
.bs-okno__tresc a { color: #e20000; }
.bs-okno__tresc img { max-width: 100%; height: auto; }
.bs-okno__x {
position: absolute; top: 16px; right: 16px; display: flex; align-items: center; justify-content: center;
width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: #f2f2f2; color: #1f1f1f; cursor: pointer;
transition: background-color .15s ease;
}
.bs-okno__x:hover { background: #e4e4e4; }
.bs-okno__x:focus { outline: none; }
.bs-okno__x:focus-visible { outline: 2px solid #e20000; outline-offset: 2px; }
.bs-okno__x svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
@keyframes bsOknoTlo { from { opacity: 0; } }
@keyframes bsOknoBox { from { opacity: 0; transform: translateY(16px); } }
@media (max-width: 768px) {
.bs-okno { align-items: flex-end; padding: 0; }
.bs-okno__box { width: 100%; max-height: 88vh; border-radius: 20px 20px 0 0; padding: 24px 16px calc(20px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
.bs-okno, .bs-okno__box, .bs-koszyk .cartContainer .deliveryAndPayment .paymentChannel__box { animation: none; }
}
/* ── płatność online w osobnym okienku - strona po złożeniu zamówienia (js/koszyk.js) ── */
.bs-platnosc-okno .thankYou__counter { display: none !important; }
.bs-platnosc-okno .thankYou__header { letter-spacing: 0 !important; line-height: 1.5 !important; }
.bs-platnosc-info {
display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 14px;
margin: 18px 0 4px; padding: 14px 16px; border-radius: 12px; background: #f4f8f4; border: 1px solid #d6e9d6;
font-size: 14px; line-height: 1.45; color: #1f3d1f; letter-spacing: 0; text-align: center;
}
.bs-platnosc-info[hidden] { display: none; }
.bs-platnosc-info--zamkniete { background: #fff8e6; border-color: #f0dca8; color: #4d3b00; }
.bs-platnosc-pokaz {
min-height: 36px; padding: 0 14px; border: 1.5px solid #1f1f1f; border-radius: 10px; background: #fff;
font: inherit; font-weight: 700; color: #1f1f1f; cursor: pointer;
}
.bs-platnosc-pokaz:hover { background: #f2f2f2; }
.bs-platnosc-pokaz:focus-visible { outline: 2px solid #e20000; outline-offset: 2px; }
/* ── zgody: zaznacza tylko kwadracik, tekst można przewijać / zaznaczać (js/koszyk.js) ── */
.bs-koszyk label.tosLabel { cursor: default; -webkit-tap-highlight-color: transparent; }
.bs-koszyk label.tosLabel > span:not(.checkBoxes__checkIcon) { cursor: text; -webkit-user-select: text; user-select: text; }
.bs-koszyk label.tosLabel > span:not(.checkBoxes__checkIcon) a { cursor: pointer; }
.bs-koszyk label.tosLabel .checkBoxes__checkIcon { cursor: pointer; }
.bs-pay { position: fixed; inset: 0; z-index: 100000; background: rgba(0,0,0,.55);
display: flex; align-items: center; justify-content: center; padding: 16px; }
.bs-pay__box { background: #fff; width: 100%; max-width: 560px; height: min(820px, 100%);
display: flex; flex-direction: column; border-radius: 12px; overflow: hidden;
box-shadow: 0 10px 40px rgba(0,0,0,.3); }
.bs-pay__pasek { display: flex; align-items: center; gap: 8px; padding: 10px 12px;
border-bottom: 1px solid #e5e5e5; }
.bs-pay__tytul { flex: 1; font-weight: 600; }
.bs-pay__inna { background: none; border: 0; color: #555; font-size: 13px;
text-decoration: underline; cursor: pointer; padding: 4px; }
.bs-pay__x { width: 36px; height: 36px; border: 0; background: none; cursor: pointer; padding: 6px; }
.bs-pay__x svg { width: 100%; height: 100%; fill: none; stroke: #333; stroke-width: 2; stroke-linecap: round; }
.bs-pay__ramka-box { position: relative; flex: 1; min-height: 0; }
.bs-pay__lad { position: absolute; inset: 0; display: flex; align-items: center;
justify-content: center; margin: 0; color: #333; }
.bs-pay__ramka { position: relative; width: 100%; height: 100%; border: 0; background: #fff; }
@media (max-width: 600px) {
.bs-pay { padding: 0; }
.bs-pay__box { max-width: none; height: 100%; border-radius: 0; }
.bs-pay__inna { font-size: 12px; }
}