/* Koszyk, kasa, wysuwany koszyk i potwierdzenie zamówienia (bloki WooCommerce) w słowniku panelu czyjto.app:
   pola forest-900 z ciepłą bielą, obwódka 1.5px w kolorze line-strong, promień 14px; wybór (rozmiar, wysyłka, płatność)
   z morelową obwódką na morelowym tle 14%; panele o stopień ciemniejsze (forest-900) bez cieni; komunikaty jak w panelu.
   WooCommerce rysuje swoje pola na białym tle z ciemnym tekstem, więc tu wszystko dostaje jawne kolory. */

:root {
	--field-bg: var(--forest-900);
	--field-line: var(--line-strong);
	--choice-on: rgb(255 154 82 / 0.14);
	--danger: #ff8f86;
}

/* Pola tekstowe z pływającą etykietą */
.wc-block-components-text-input input,
.wc-block-components-text-input input[type],
.wc-block-components-textarea,
.wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
	background-color: var(--field-bg) !important;
	border: 1.5px solid var(--field-line) !important;
	border-radius: var(--wp--custom--radius--field) !important;
	color: var(--ink) !important;
	font-family: var(--display) !important;
	box-shadow: none !important;
}
.wc-block-components-text-input label,
.wc-block-components-combobox .wc-block-components-combobox-control label,
.wc-blocks-components-select .wc-blocks-components-select__label { color: var(--muted) !important; }
.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus { border-color: var(--accent) !important; outline: 3px solid var(--signal) !important; outline-offset: 2px; }
.wc-block-components-text-input input:-webkit-autofill { -webkit-text-fill-color: var(--ink); box-shadow: 0 0 0 100px var(--field-bg) inset !important; }

/* Listy rozwijane (kraj, województwo) */
.wc-blocks-components-select .wc-blocks-components-select__container { background: var(--field-bg) !important; border-radius: var(--wp--custom--radius--field) !important; }
.wc-blocks-components-select .wc-blocks-components-select__select { background: transparent !important; border: 1.5px solid var(--field-line) !important; border-radius: var(--wp--custom--radius--field) !important; color: var(--ink) !important; font-family: var(--display) !important; }
.wc-blocks-components-select .wc-blocks-components-select__select option { background: var(--field-bg); color: var(--ink); }
.wc-blocks-components-select .wc-blocks-components-select__expand { fill: var(--ink) !important; }

/* Błędy pól: jasna czerwień panelu na ciemnym tle */
.wc-block-components-validation-error, .wc-block-components-validation-error > p { color: var(--danger) !important; }
.wc-block-components-text-input.has-error input, .wc-blocks-components-select.has-error .wc-blocks-components-select__select { border-color: var(--danger) !important; }
.wc-block-components-text-input.has-error label { color: var(--danger) !important; }

/* Pola zaznaczenia: kwadrat 7px jak „Zrobione” w panelu, zaznaczony w moreli */
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	width: 1.4rem; height: 1.4rem; min-width: 1.4rem; margin: 0; border: 2px solid var(--field-line) !important; border-radius: 7px !important;
	background: var(--field-bg) !important; box-shadow: none !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--accent) !important; border-color: var(--accent) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--on-accent) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus-visible { outline: 3px solid var(--signal) !important; outline-offset: 2px; }
.wc-block-components-checkbox label { align-items: center; }

/* Wybór wysyłki i płatności: wiersze-pola; wybrany ma morelową obwódkę na morelowym tle */
.wc-block-components-radio-control__input {
	width: 1.35rem !important; height: 1.35rem !important; min-width: 1.35rem; border: 2px solid var(--field-line) !important; background: var(--field-bg) !important; }
.wc-block-components-radio-control__input:checked { border-color: var(--accent) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--accent) !important; }
.wc-block-components-radio-control__input:focus-visible { outline: 3px solid var(--signal) !important; outline-offset: 2px; }
.wc-block-components-radio-control--highlight-checked { border-radius: var(--wp--custom--radius--field); }
.wc-block-components-radio-control--highlight-checked::after { border: 1.5px solid var(--field-line) !important; border-radius: var(--wp--custom--radius--field) !important; }
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	box-shadow: inset 0 0 0 2px var(--accent) !important; background: var(--choice-on); border-radius: var(--wp--custom--radius--field); }
.wc-block-components-radio-control__secondary-label, .wc-block-components-radio-control__option .wc-block-components-formatted-money-amount { color: var(--ink); font-weight: 700; }
.wc-block-components-radio-control__description, .wc-block-components-radio-control-accordion-content { color: var(--muted); }

/* Kroki kasy i ich tytuły */
.wc-block-components-checkout-step__title { font-weight: 800; letter-spacing: -0.03em; }
.wc-block-components-checkout-step__description, .wc-block-checkout__guest-checkout-notice, .wc-block-checkout__terms { color: var(--muted); }
.wc-block-checkout__terms a, .wc-block-components-checkout-return-to-cart-button { color: var(--ink); }
.wc-block-components-address-form__address_2-toggle, .wc-block-components-address-card__edit, .wc-block-checkout__add-note .wc-block-components-checkbox__label { color: var(--ink); }

/* Podsumowanie zamówienia i koszyka: panel forest-900 z promieniem 22px, bez obwódki i cieni */
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-checkout__sidebar .wc-block-components-order-summary { border: 0 !important; border-radius: var(--wp--custom--radius--block) !important; background: var(--forest-900); }
.wc-block-components-totals-wrapper { border-color: var(--line) !important; }
.wc-block-components-totals-item__label, .wc-block-components-totals-item__value { color: var(--ink); }
.wc-block-components-totals-item__description { color: var(--muted); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-weight: 800; letter-spacing: -0.02em; }
.wc-block-components-formatted-money-amount { font-variant-numeric: tabular-nums; }
.wc-block-components-order-summary-item__quantity, .wc-block-components-order-summary-item__quantity * { color: var(--ground) !important; }
.wc-block-components-order-summary-item__quantity { background: var(--ink) !important; border: 0 !important; box-shadow: 0 0 0 2px var(--forest-900) !important; font-weight: 800; }
.wc-block-components-panel__button, .wc-block-components-totals-coupon-link { color: var(--ink) !important; }

/* Koszyk: nagłówki tabeli w zdaniu, nie wersalikami; miniatury zaokrąglone; ilość jako pigułka */
.wc-block-cart-items__header, .wc-block-cart__totals-title { color: var(--muted) !important; text-transform: none !important; font-size: 0.95rem !important; font-weight: 600 !important; letter-spacing: 0 !important; }
.wc-block-cart-items, .wc-block-cart-items td, .wc-block-cart-items th { border-color: var(--line) !important; }
.wc-block-components-product-name { font-weight: 800; text-decoration: none; letter-spacing: -0.02em; }
.wc-block-components-product-name:hover { text-decoration: underline; }
.wc-block-components-product-metadata, .wc-block-components-product-details { color: var(--muted); }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img, .wc-block-mini-cart-items .wc-block-cart-item__image img {
	border-radius: 12px; background: radial-gradient(70% 90% at 55% 50%, var(--forest-600), var(--ground)); }
/* Bez zdjęcia produktu: zamiast białej grafiki zastępczej puste pole w kolorach marki */
img[src*="woocommerce-placeholder"] { opacity: 0; }
.wc-block-cart-item__image a, .wc-block-components-order-summary-item__image, .wc-block-mini-cart-items .wc-block-cart-item__image { display: block; border-radius: 12px;
	background: radial-gradient(70% 90% at 55% 50%, var(--forest-600), var(--ground)); }
.wc-block-components-quantity-selector { border: 1.5px solid var(--field-line) !important; border-radius: 999px !important; background: var(--field-bg); height: 2.9rem; min-height: 0 !important; overflow: hidden; }
.wc-block-components-quantity-selector::after { display: none !important; }
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input { color: var(--ink) !important; font-weight: 800; font-variant-numeric: tabular-nums; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { color: var(--ink) !important; opacity: 1; min-width: 2.2rem; }
/* Pole z liczbą wypełnia pigułkę na wysokość (WooCommerce daje mu własną wysokość większą od ramki) */
.wc-block-components-quantity-selector { display: flex !important; align-items: stretch; width: auto !important; max-width: 8.5rem; }
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input { height: 100% !important; min-width: 2.2rem; width: 2.4rem !important; min-height: 0 !important; padding: 0 !important; line-height: 1 !important; }
.wc-block-cart-items .wc-block-cart-item__wrap, .wc-block-cart-items .wc-block-cart-item__product { min-width: 0; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover { color: var(--accent) !important; }
.wc-block-cart-item__remove-link { color: var(--muted) !important; }
.wc-block-cart-item__remove-link:hover { color: var(--danger) !important; }

/* Komunikaty: jak alerty panelu (promień 16px, tła w kolorze stanu) */
.wc-block-components-notice-banner { border: 0 !important; border-radius: var(--wp--custom--radius--panel) !important; background: var(--forest-900) !important; color: var(--ink) !important; }
.wc-block-components-notice-banner.is-success { background: rgb(157 245 208 / 0.14) !important; color: #d3fbe9 !important; }
.wc-block-components-notice-banner.is-error { background: rgb(200 16 46 / 0.22) !important; color: #ffd9dc !important; }
.wc-block-components-notice-banner.is-info, .wc-block-components-notice-banner.is-warning { background: rgb(255 154 82 / 0.16) !important; color: #ffd6b5 !important; }
.wc-block-components-notice-banner > svg { fill: currentColor !important; background: transparent !important; }
.wc-block-components-notice-banner a { color: inherit !important; }

/* Wysuwany koszyk: zaciemnienie strony w kolorze lasu, przyciski jeden pod drugim */
.wc-block-components-drawer__screen-overlay { background-color: rgb(8 37 32 / 0.72) !important; }
.wc-block-components-drawer, .wc-block-mini-cart__drawer .components-modal__content { background: var(--ground) !important; color: var(--ink) !important; }
.wc-block-mini-cart__title { font-weight: 800; letter-spacing: -0.03em; }
.wc-block-components-drawer__close { color: var(--ink) !important; border-radius: 999px; }
.wc-block-components-drawer__close:focus-visible, .wc-block-components-drawer__close:focus { outline: 3px solid var(--signal) !important; outline-offset: -5px; box-shadow: none !important; }
.wc-block-mini-cart__footer { border-color: var(--line) !important; box-shadow: none !important; }
.wc-block-mini-cart__footer-actions { display: flex !important; flex-direction: column; gap: 0.7rem; }
.wc-block-mini-cart__footer-actions > * { box-sizing: border-box; width: 100% !important; max-width: 100%; margin: 0 !important; flex: none !important; }
.wc-block-mini-cart__footer .wc-block-components-totals-item__description { color: var(--muted); }

/* Przyciski WooCommerce (Przejdź do płatności, Kupuję i płacę): pigułka marki */
.wc-block-components-button:not(.is-link) { border-radius: 999px !important; min-height: 3.6rem; font-weight: 800 !important; }
.wc-block-components-button.outlined:not(.is-link), .wc-block-components-button.is-style-outline { background: transparent !important; color: var(--ink) !important; border: 3px solid currentColor !important; }

/* Potwierdzenie zamówienia */
.wc-block-order-confirmation-status h1 { font-size: clamp(2.4rem, 5vw, 4rem) !important; line-height: 0.95; letter-spacing: -0.04em; }
.wc-block-order-confirmation-status p { color: var(--muted); font-size: 1.2rem; }
.wc-block-order-confirmation-summary-list { border-top: 1px solid var(--line) !important; border-bottom: 1px solid var(--line) !important; }
.wc-block-order-confirmation-summary-list-item__key { color: var(--muted); text-transform: none !important; font-weight: 600; letter-spacing: 0 !important; }
.wc-block-order-confirmation-summary-list-item__value { font-weight: 800; }
.wc-block-order-confirmation-totals table, .wc-block-order-confirmation-totals th, .wc-block-order-confirmation-totals td { border-color: var(--line) !important; }
.wc-block-order-confirmation-totals__product a { color: var(--ink); font-weight: 800; }
.wc-block-order-confirmation-address-wrapper address, .wc-block-order-confirmation-shipping-address, .wc-block-order-confirmation-billing-address {
	border: 0 !important; border-radius: var(--wp--custom--radius--block) !important; background: var(--forest-900); color: var(--ink); }
.wc-block-order-confirmation-totals-wrapper h2, .wc-block-order-confirmation-shipping-wrapper h2, .wc-block-order-confirmation-billing-wrapper h2,
.wc-block-order-confirmation-additional-fields-wrapper h2 { font-size: clamp(1.5rem, 2.6vw, 2rem) !important; letter-spacing: -0.03em; }
.woocommerce-bacs-bank-details, .wc-bacs-bank-details { color: var(--ink); }

/* Strony sklepu (koszyk, kasa, potwierdzenie): tytuł strony jak w panelu, nagłówek kasy bez menu */
.shop-main.wp-block-group { padding-top: clamp(1rem, 3vw, 2rem); }
.shop-main .page-title { margin-bottom: clamp(1.4rem, 3vw, 2.2rem); }
.checkout-back { font-weight: 600; font-size: 1.05rem; text-decoration: none; }
.checkout-back:hover { text-decoration: underline; }

/* Pusty koszyk */
.czyjto-empty-cart { display: grid; justify-items: center; gap: 1.2rem; padding: clamp(2rem, 6vw, 4rem) 0; text-align: center; }
.czyjto-empty-cart > * { margin: 0; }
.czyjto-empty-cart .statement { font-size: clamp(2rem, 4vw, 3rem); }
.czyjto-empty-cart .lead { max-width: 38ch; color: var(--muted); font-size: 1.15rem; }

/* Co dalej po zamówieniu: trzy kroki z morelowym numerem, jak „Jak to działa” */
.next-steps.wp-block-group { margin-block: clamp(2.5rem, 6vw, 4rem) !important; padding: clamp(1.4rem, 3vw, 2.4rem); border-radius: var(--wp--custom--radius--plate); background: var(--forest-900); }
.next-steps.wp-block-group > * { margin-block: 0; }
.next-steps .next-title { margin-bottom: 1.6rem; font-size: clamp(2rem, 4vw, 3rem); line-height: 0.95; }
.wp-block-list.steps.next { grid-template-columns: repeat(3, 1fr); margin-bottom: 1.8rem; }
.wp-block-list.steps.next > li::after { right: -1.4rem; }
@media (max-width: 900px) { .wp-block-list.steps.next { grid-template-columns: 1fr; } .wp-block-list.steps.next > li::after { display: none; } }

/* Poprawki po przeglądzie końcowym (2026-10-27) */
/* Na koszyku, kasie i potwierdzeniu WooCommerce ukrywa koszyk tylko wizualnie (visibility:hidden), więc zostawał pusty slot */
.site-cart[style*="visibility:hidden"], .site-cart[style*="visibility: hidden"] { display: none !important; }
/* Wybrana wysyłka: jedno pole 14px jak wybrana płatność (WooCommerce wymuszał 4px) */
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option { border-radius: var(--wp--custom--radius--field) !important; }
/* Podsumowanie zamówienia: bez wewnętrznej ramki w panelu (karta w karcie na telefonie) */
.wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill { border: 0 !important; }
.wc-block-checkout__actions { margin-top: 1.5rem; }
.wc-block-checkout__main .wp-block-woocommerce-checkout-order-summary-block { margin-bottom: 1.5rem; }
/* Pusty koszyk: przycisk o zwykłej wysokości pigułki */
.czyjto-empty-cart p:has(> .wp-element-button) { display: flex; justify-content: center; }
.czyjto-empty-cart .wp-element-button { box-sizing: border-box !important; height: auto !important; min-height: 3.6rem !important; padding: 0.9rem 1.7rem !important; line-height: 1.1 !important; aspect-ratio: auto !important; }
/* Wysuwany koszyk: tytuł i krzyżyk z odstępem od górnej krawędzi, pierścień fokusu nieucięty */
.wc-block-mini-cart__title { margin-top: 1.4rem !important; }
/* Krzyżyk: okrągły 2.9rem na wysokości tytułu. WooCommerce daje mu ujemny margines, a ogólna reguła przycisków 3.6rem wysokości */
.wc-block-components-drawer__close { top: 1.75rem !important; right: 0.9rem !important; margin: 0 !important; width: 2.9rem !important; height: 2.9rem !important; min-height: 0 !important; padding: 0 !important; }
/* Potwierdzenie zamówienia: tabela jako wiersze na liniach (bez ramki i siatki), więcej miejsca nad adresami */
.wc-block-order-confirmation-totals table { border: 0 !important; border-collapse: collapse; }
.wc-block-order-confirmation-totals table th, .wc-block-order-confirmation-totals table td {
	border-left: 0 !important; border-right: 0 !important; border-top: 0 !important; border-bottom: 1px solid var(--line) !important; padding-inline: 0 !important; }
.wc-block-order-confirmation-totals table thead th { color: var(--muted); font-weight: 600; }
.wc-block-order-confirmation-totals table tr:first-child > * { border-top: 1px solid var(--line) !important; }
.wc-block-order-confirmation-address-wrapper.wp-block-columns { margin-top: 3rem !important; }
.wc-block-components-drawer__close svg { flex: none; width: 1.5rem !important; height: 1.5rem !important; }
