/*
 * Koszyk i zamówienie (blokowe WooCommerce) w stylu motywu Strefa Zasilania.
 * Ładowane tylko na /koszyk/ i /zamowienie/.
 */

/* ------------------------------------------------------------ układ strony */
.bh-page--full { padding-bottom: 72px; }
.bh-woo-page { max-width: none; }

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	font-family: var(--sans);
	color: var(--ink);
}

.wc-block-components-sidebar-layout { gap: 26px; width: 100%; max-width: none; }

@media (min-width: 1000px) {
	.wc-block-components-sidebar-layout {
		display: flex;
		align-items: flex-start;
		flex-wrap: nowrap;
	}

	/* specyficzność musi bić reguły Woo, inaczej sidebar zawija się pod listę */
	.wc-block-components-sidebar-layout .wc-block-components-main {
		flex: 1 1 0;
		min-width: 0;
		max-width: none;
		width: auto;
		padding-right: 0;
	}

	.wc-block-components-sidebar-layout .wc-block-components-sidebar {
		flex: 0 0 360px;
		max-width: 360px;
		width: 360px;
		padding-left: 0;
	}
}

/* lewa kolumna jako biała karta */
.wc-block-cart .wc-block-components-main,
.wc-block-checkout .wc-block-components-main {
	padding: 22px 24px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 16px;
}

/* ------------------------------------------------------------- nagłówki */
.wc-block-components-title,
.wp-block-woocommerce-cart-order-summary-heading-block,
.wc-block-components-checkout-step__title {
	font-family: var(--display);
	font-weight: 700;
	letter-spacing: -.01em;
	color: var(--ink);
}

.wc-block-cart-items__header {
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--muted2);
	border-bottom: 1px solid var(--line);
}

/* ------------------------------------------------------- wiersz produktu */
.wc-block-cart-items__row { border-bottom: 1px solid var(--line4); }
.wc-block-cart-items__row:last-child { border-bottom: 0; }

.wc-block-cart-items .wc-block-cart-item__image { width: 96px; padding-right: 14px; }

.wc-block-cart-items .wc-block-cart-item__image img {
	width: 82px;
	height: 82px;
	max-width: 82px;
	object-fit: contain;
	background: var(--page);
	border-radius: 11px;
	padding: 6px;
}

.wc-block-components-product-name {
	font-size: 15.5px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--ink);
	text-decoration: none;
}

.wc-block-components-product-name:hover { color: var(--accent); text-decoration: none; }

/*
 * Opis produktu w koszyku wyłączony celowo: w tym katalogu krótki opis to albo
 * kilkutysięczna lista kompatybilności, albo grafika marketingowa z pełnego opisu
 * (stąd gigantyczne logo w wierszu koszyka).
 */
.wc-block-components-product-metadata .wc-block-components-product-metadata__description,
.wc-block-components-product-metadata__description { display: none !important; }

.wc-block-components-product-metadata .wc-block-components-product-details {
	margin: 6px 0 0;
	font-size: 13px;
	color: var(--muted2);
}

.wc-block-components-product-price,
.wc-block-cart-item__total-price-and-sale-badge-wrapper .wc-block-components-product-price {
	font-family: var(--display);
	font-weight: 700;
	color: var(--ink);
}

.wc-block-cart-item__prices .wc-block-components-product-price { font-size: 14px; font-weight: 500; color: var(--muted); }
.wc-block-cart-item__total .wc-block-components-product-price__value { font-size: 18px; }

/* ilość */
.wc-block-components-quantity-selector {
	border: 1px solid var(--line3);
	border-radius: 10px;
	background: #fff;
	overflow: hidden;
}

.wc-block-components-quantity-selector__input {
	font-family: var(--sans);
	font-size: 15px;
	font-weight: 600;
	color: var(--ink);
}

.wc-block-components-quantity-selector__button {
	color: var(--muted);
	font-size: 18px;
	background: #fff;
	border: 0;
}

.wc-block-components-quantity-selector__button:hover { background: var(--accent-bg); color: var(--accent); }

.wc-block-cart-item__remove-link {
	font-size: 13px;
	color: var(--muted2);
	text-decoration: underline;
}

.wc-block-cart-item__remove-link:hover { color: #A33; }

/* ------------------------------------------------------------ podsumowanie */
.wc-block-components-sidebar .wc-block-components-panel,
.wp-block-woocommerce-cart-order-summary-block,
.wp-block-woocommerce-checkout-order-summary-block {
	padding: 20px 22px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 16px;
}

@media (min-width: 1000px) {
	.wp-block-woocommerce-cart-order-summary-block { position: sticky; top: 20px; }
}

.wc-block-components-totals-item {
	font-size: 15px;
	color: var(--ink-soft);
	padding: 9px 0;
}

.wc-block-components-totals-item__label { font-weight: 500; }
.wc-block-components-totals-item__value { font-weight: 600; color: var(--ink); }

.wc-block-components-totals-footer-item {
	border-top: 1px solid var(--line);
	padding-top: 14px;
}

.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-family: var(--display);
	font-size: 20px;
	font-weight: 700;
	color: var(--ink);
}

/* rabat za zestaw ma być widoczny jako korzyść */
.wc-block-components-totals-fees .wc-block-components-totals-item__value,
.wc-block-components-totals-discount .wc-block-components-totals-item__value {
	color: var(--ok);
	font-weight: 700;
}

/* ---------------------------------------------------------------- przyciski */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-components-button:not(.is-link) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 14px 24px;
	font-family: var(--sans);
	font-size: 16.5px;
	font-weight: 700;
	color: #fff;
	background: var(--accent);
	border: 0;
	border-radius: 13px;
	text-decoration: none;
	box-shadow: none;
}

.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-button:not(.is-link):hover {
	background: var(--accent-dark);
	color: #fff;
	text-decoration: none;
}

.wc-block-components-button.is-link {
	color: var(--accent);
	font-weight: 600;
	text-decoration: underline;
	background: none;
	min-height: 0;
	padding: 0;
}

.wc-block-cart__submit-container { padding-top: 4px; }

/* ------------------------------------------------------------ kupony i panele */
.wc-block-components-panel__button {
	font-family: var(--sans);
	font-size: 14.5px;
	font-weight: 600;
	color: var(--ink-soft);
	padding: 10px 0;
}

.wc-block-components-panel__button:hover { color: var(--accent); }

/* ----------------------------------------------------------- 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__select {
	min-height: 50px;
	padding: 14px 14px 6px;
	font-family: var(--sans);
	font-size: 15.5px;
	color: var(--ink);
	background: #fff;
	border: 1px solid var(--line3);
	border-radius: 11px;
}

.wc-block-components-text-input input:focus,
.wc-blocks-components-select__select:focus {
	outline: 3px solid rgba(22, 104, 255, .22);
	border-color: var(--accent);
}

.wc-block-components-text-input label,
.wc-blocks-components-select__label { color: var(--muted2); font-size: 14px; }

/* --------------------------------------------------------------- komunikaty */
.wc-block-components-notice-banner {
	border-radius: 12px;
	border-left-width: 3px;
	font-size: 15px;
}

.wc-block-components-notice-banner.is-success { border-color: var(--ok2); background: var(--ok-bg); }
.wc-block-components-notice-banner.is-info { border-color: var(--accent); background: var(--accent-bg); }

/* pusty koszyk */
.wp-block-woocommerce-empty-cart-block { text-align: center; padding: 28px 0 8px; }
.wp-block-woocommerce-empty-cart-block h2 { font-family: var(--display); }

/* metoda dostawy / płatności */
.wc-block-components-radio-control__option {
	padding: 14px 14px 14px 44px;
	border: 1px solid var(--line3);
	border-radius: 12px;
	margin-bottom: 8px;
}

.wc-block-components-radio-control__option--checked-option-highlighted,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	border-color: var(--accent);
	background: var(--accent-bg2);
}
