/* =========================================================================
   PEPTAGEN LAB — WooCommerce Blocks (blokowy koszyk i kasa)
   Nowy system Woo (Gutenberg) ma własne klasy .wc-block-*, których nie
   obejmują style klasycznych szablonów. Ten plik nadaje im wygląd motywu.
   ========================================================================= */

/* --- Układ: treść + panel boczny ---------------------------------------
   WooCommerce Blocks decyduje o liczbie kolumn na podstawie szerokości
   KONTENERA (klasy is-large/is-medium/is-small nadawane przez JS), więc
   na szerokim ekranie potrafi zostać w jednej kolumnie. Wymuszamy układ. */
@media (min-width: 1000px) {
	.wc-block-components-sidebar-layout {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: var(--space-6);
		align-items: flex-start;
	}
	.wc-block-components-sidebar-layout > .wc-block-components-main {
		flex: 1 1 auto !important;
		width: auto !important;
		max-width: none !important;
		min-width: 0;
		padding-right: 0 !important;
	}
	.wc-block-components-sidebar-layout > .wc-block-components-sidebar {
		flex: 0 0 380px !important;
		width: 380px !important;
		max-width: 380px !important;
		padding-left: 0 !important;
		position: sticky;
		top: calc(var(--header-h) + var(--space-4));
	}
}
@media (max-width: 999px) {
	.wc-block-components-sidebar-layout { display: block; }
	.wc-block-components-sidebar-layout > .wc-block-components-main,
	.wc-block-components-sidebar-layout > .wc-block-components-sidebar {
		width: 100% !important; max-width: none !important; padding: 0 !important;
	}
}

/* Panel boczny jako karta */
.wc-block-cart__sidebar .wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper { padding-inline: 0; }

.wc-block-cart__sidebar > .wc-block-components-panel,
.wc-block-cart__sidebar > div,
.wc-block-checkout__sidebar > div {
	border-radius: var(--radius-lg);
}
.wc-block-cart__sidebar .wc-block-cart__totals-title,
.wc-block-checkout__sidebar .wc-block-components-order-summary__title {
	font-family: var(--font-display);
	font-weight: var(--fw-semibold);
	font-size: var(--fs-300);
	letter-spacing: var(--tracking-wider);
	text-transform: uppercase;
	color: var(--color-text-muted);
	padding: 0 0 var(--space-3);
}

/* Ramka panelu bocznego */
.wc-block-cart__sidebar .wc-block-components-sidebar,
.wc-block-components-sidebar {
	background: var(--pep-beige-050);
	border-radius: var(--radius-lg);
	padding: var(--space-5) !important;
}

/* --- Nagłówki i tabela koszyka ----------------------------------------- */
.wc-block-cart-items__header {
	font-family: var(--font-display);
	font-size: var(--fs-300);
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
	color: var(--color-text-muted);
	border-bottom: 1px solid var(--color-line);
	padding-bottom: var(--space-3);
}
.wc-block-cart-items { border: 0; }
.wc-block-cart-items__row {
	border-bottom: 1px solid var(--color-line);
	padding-block: var(--space-5);
}
.wc-block-cart-items__row:last-child { border-bottom: 0; }

/* Miniatura produktu */
.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img {
	border-radius: var(--radius-md);
	background: var(--color-bg-alt);
}
.wc-block-cart-item__image { padding-right: var(--space-4) !important; }
.wc-block-cart-item__image img { width: 92px; height: 92px; object-fit: cover; }

/* Nazwa produktu — bez łamania w środku wyrazu */
.wc-block-components-product-name {
	font-family: var(--font-display);
	font-weight: var(--fw-semibold);
	font-size: var(--fs-400);
	color: var(--color-text) !important;
	text-decoration: none;
	line-height: 1.3;
	word-break: normal !important;
	overflow-wrap: break-word;
	hyphens: none;
}
.wc-block-components-product-name:hover { color: var(--pep-gold-700) !important; }

.wc-block-components-product-metadata,
.wc-block-components-product-metadata__description {
	font-size: var(--fs-300);
	color: var(--color-text-muted);
	line-height: 1.6;
}
.wc-block-components-product-metadata__description p { margin: 0; }

/* Ceny */
.wc-block-components-product-price,
.wc-block-cart-item__total-price-and-sale-badge-wrapper .wc-block-components-product-price {
	font-family: var(--font-display);
	font-weight: var(--fw-bold);
	color: var(--color-text);
	font-variant-numeric: tabular-nums;
}
.wc-block-components-product-price del { color: var(--color-text-muted); font-weight: 400; }
.wc-block-components-sale-badge {
	background: var(--pep-beige-100);
	color: var(--pep-gold-700);
	border-radius: var(--radius-pill);
	font-family: var(--font-display);
	font-weight: var(--fw-semibold);
}

/* --- Selektor ilości ---------------------------------------------------- */
.wc-block-components-quantity-selector {
	border: 1px solid var(--color-line-strong);
	border-radius: var(--radius-md);
	overflow: hidden;
	background: #fff;
	max-width: 130px;
}
.wc-block-components-quantity-selector::after { display: none; }
.wc-block-components-quantity-selector__input {
	font-family: var(--font-body);
	font-weight: var(--fw-semibold);
	color: var(--color-text);
	min-height: 44px;
}
.wc-block-components-quantity-selector__button {
	background: var(--pep-beige-050);
	color: var(--color-text);
	font-size: var(--fs-500);
	min-width: 40px;
	border: 0;
	transition: background var(--dur) var(--ease);
}
.wc-block-components-quantity-selector__button:hover { background: var(--pep-beige-100); color: var(--color-text); }

/* Usuwanie pozycji */
.wc-block-cart-item__remove-link {
	color: var(--color-text-muted) !important;
	font-size: var(--fs-300);
	text-decoration: none;
	transition: color var(--dur) var(--ease);
}
.wc-block-cart-item__remove-link:hover { color: var(--pep-danger) !important; }

/* --- Sumy --------------------------------------------------------------- */
.wc-block-components-totals-item {
	padding-block: var(--space-3);
	font-size: var(--fs-400);
}
.wc-block-components-totals-item__label { color: var(--color-text-soft); }
.wc-block-components-totals-item__value {
	font-family: var(--font-display);
	font-weight: var(--fw-semibold);
	font-variant-numeric: tabular-nums;
}
.wc-block-components-totals-wrapper { border-top: 1px solid var(--color-line); }
.wc-block-components-totals-wrapper:first-child { border-top: 0; }

.wc-block-components-totals-footer-item,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-family: var(--font-display);
	font-weight: var(--fw-bold);
	font-size: var(--fs-500);
	color: var(--color-text);
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: var(--fs-600);
	font-weight: var(--fw-bold);
}
.wc-block-components-totals-footer-item__description {
	font-size: var(--fs-300);
	color: var(--color-text-muted);
	font-family: var(--font-body);
	font-weight: 400;
}

/* Kupon — UWAGA: rozdzielone dwa różne przyciski.
   .wc-block-components-panel__button  = rozwijacz „Dodaj kupony" (tekst na jasnym tle)
   .wc-block-components-totals-coupon__button = „Zastosuj" (przycisk na ciemnym tle) */
.wc-block-components-panel__button {
	font-family: var(--font-display) !important;
	font-weight: var(--fw-medium) !important;
	font-size: var(--fs-400) !important;
	color: var(--color-text) !important;
	background: transparent !important;
	padding-block: var(--space-3) !important;
	min-height: auto !important;
}
.wc-block-components-totals-coupon__input input { border-radius: var(--radius-md); }
.wc-block-components-totals-coupon__button,
.wc-block-components-totals-coupon__button .wc-block-components-button__text {
	color: #fff !important;
}
.wc-block-components-totals-coupon__button {
	background: var(--color-primary) !important;
	min-height: 52px;
	padding-inline: 1.4em !important;
}
.wc-block-components-totals-coupon__button:hover { background: var(--color-primary-hover) !important; }

/* --- Przyciski Blocks → styl motywu ------------------------------------- */
.wc-block-components-button:not(.is-link) {
	font-family: var(--font-display);
	font-weight: var(--fw-semibold);
	font-size: var(--fs-400);
	background: var(--color-primary);
	color: #fff;
	border: 0;
	border-radius: var(--radius-md);
	min-height: 52px;
	padding-inline: 1.5em;
	transition: background var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.wc-block-components-button:not(.is-link):hover {
	background: var(--color-primary-hover);
	color: #fff;
	box-shadow: var(--shadow-md);
	transform: translateY(-1px);
}
.wc-block-components-button:not(.is-link) .wc-block-components-button__text { color: inherit; }

/* Główne CTA koszyka i kasy — beżowe, jak w motywie */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background: var(--pep-beige-500) !important;
	color: var(--pep-ink) !important;
	width: 100%;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	background: var(--pep-beige-300) !important;
	color: var(--pep-ink) !important;
}
.wc-block-cart__submit-button .wc-block-components-button__text,
.wc-block-components-checkout-place-order-button .wc-block-components-button__text { color: var(--pep-ink) !important; }

/* --- Kasa: kroki formularza -------------------------------------------- */
.wc-block-checkout__form .wc-block-components-checkout-step {
	border: 0;
	padding: 0 0 var(--space-6);
}
.wc-block-components-checkout-step__title {
	font-family: var(--font-display);
	font-weight: var(--fw-semibold);
	font-size: var(--fs-600);
	color: var(--color-text);
	letter-spacing: var(--tracking-tight);
}
.wc-block-components-checkout-step__description {
	font-size: var(--fs-300);
	color: var(--color-text-muted);
}
.wc-block-components-checkout-step__container::after { display: none; }
.wc-block-components-checkout-step__content { padding-left: 0; }

/* Pola formularza */
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-textarea,
.wc-blocks-components-select__container {
	border: 1px solid var(--color-line-strong);
	border-radius: var(--radius-md);
	font-family: var(--font-body);
	background: #fff;
	min-height: 52px;
}
.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus {
	border-color: var(--pep-gold-500);
	box-shadow: var(--shadow-focus);
	outline: none;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input label { color: var(--color-text-muted); font-family: var(--font-body); }

/* Karta adresu */
.wc-block-components-address-card {
	border: 1px solid var(--color-line);
	border-radius: var(--radius-lg);
	padding: var(--space-5);
	background: #fff;
}
.wc-block-components-address-card__edit {
	color: var(--pep-gold-700) !important;
	font-family: var(--font-display);
	font-weight: var(--fw-medium);
	text-decoration: none;
}

/* Metody dostawy jako karty wyboru.
   Ten wariant pozycjonuje kółko radio pseudoelementami ::before/::after,
   więc możemy bezpiecznie zarezerwować na nie miejsce lewym paddingiem. */
.wc-block-components-radio-control__option {
	border: 1px solid var(--color-line);
	border-radius: var(--radius-lg);
	margin-bottom: var(--space-3);
	padding: var(--space-4) var(--space-5) var(--space-4) 3rem;
	background: #fff;
	transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}

/* Metody płatności (wariant „accordion") mają PRAWDZIWY <input type=radio>,
   który WooCommerce układa własnym gridem. Nadpisywanie tu paddingu
   wyrzucało kółko poza układ — dlatego ustawiamy tylko obramowanie i tło,
   a rozmieszczenie wnętrza zostawiamy WooCommerce. */
.wc-block-components-radio-control-accordion-option {
	border: 1px solid var(--color-line);
	border-radius: var(--radius-lg);
	margin-bottom: var(--space-3);
	background: #fff;
	transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.wc-block-components-radio-control__option:hover,
.wc-block-components-radio-control-accordion-option:hover { border-color: var(--color-line-strong); }
.wc-block-components-radio-control-accordion-option:has(input:checked),
.wc-block-components-radio-control__option--checked-option-highlighted {
	border-color: var(--pep-ink);
	background: var(--pep-beige-050);
}
.wc-block-components-radio-control__option::before,
.wc-block-components-radio-control__option::after { left: var(--space-5) !important; }
.wc-block-components-radio-control__label {
	font-family: var(--font-display);
	font-weight: var(--fw-medium);
	color: var(--color-text);
}
.wc-block-components-radio-control__description,
.wc-block-components-radio-control-accordion-content {
	font-size: var(--fs-300);
	color: var(--color-text-soft);
	line-height: 1.6;
}
.wc-block-components-radio-control__option-layout { gap: var(--space-2); }

/* Podsumowanie zamówienia w kasie */
.wc-block-components-order-summary__content { padding-inline: 0; }
.wc-block-components-order-summary-item {
	padding-block: var(--space-4);
	border-bottom: 1px solid var(--color-line);
}
.wc-block-components-order-summary-item:last-child { border-bottom: 0; }
.wc-block-components-order-summary-item__image img { width: 64px; height: 64px; object-fit: cover; }
.wc-block-components-order-summary-item__quantity {
	background: var(--pep-ink) !important;
	color: #fff !important;
	border: 0 !important;
	box-shadow: none !important;
	font-family: var(--font-body);
	font-weight: 700;
	min-width: 22px; height: 22px;
	display: grid !important; place-items: center;
	border-radius: var(--radius-pill);
	font-size: 11px;
}
/* Wiersz podsumowania: zdjęcie | nazwa | cena — bez zawijania ceny pod spód */
.wc-block-components-order-summary-item__description {
	display: flex; flex-wrap: wrap; align-items: flex-start;
	justify-content: space-between; gap: var(--space-2);
}
.wc-block-components-order-summary-item__header { flex: 1 1 auto; min-width: 0; margin: 0; }
.wc-block-components-order-summary-item__total-price { flex: none; }
.wc-block-components-order-summary-item__description { padding-left: var(--space-3); }
/* Opis produktu w wąskiej kolumnie potrafi zdominować podsumowanie */
.wc-block-components-order-summary-item .wc-block-components-product-metadata__description { display: none; }

/* Komunikaty */
.wc-block-components-notice-banner {
	border-radius: var(--radius-md);
	font-family: var(--font-body);
	border-width: 1px;
}

/* Pusty koszyk */
.wp-block-woocommerce-empty-cart-block { text-align: center; padding-block: var(--space-8); }
.wp-block-woocommerce-empty-cart-block h2 { font-size: var(--fs-700); }

/* --- Mobile ------------------------------------------------------------- */
@media (max-width: 999px) {
	.wc-block-components-sidebar-layout .wc-block-components-sidebar {
		position: static !important;
		flex: 1 1 100%; max-width: none;
		margin-top: var(--space-5);
	}
	.wc-block-cart-item__image img { width: 72px; height: 72px; }
	.wc-block-components-quantity-selector { max-width: 120px; }
	.wc-block-components-checkout-step__title { font-size: var(--fs-500); }
	.wc-block-cart-items__header { display: none; }
}
