/*
 * Koszyk, kasa (bloki WooCommerce), „Zamówienie przyjęte” i Moje konto w wyglądzie makiety nosidla-wp:
 * kroki zamówienia nad tytułem, białe karty z zaokrągleniem, podsumowanie w karcie z różową ramką,
 * wybory dostawy i płatności jako karty (zaznaczona: malinowa ramka i jasne tło), numerowane sekcje kasy.
 * Moduły wtyczek (najem, wysyłka, płatności) dopasowujemy tylko stąd, bez zmian w ich plikach.
 */

/* Kroki zamówienia */
.order-steps { display: flex; flex-wrap: wrap; gap: 4px 0; margin: 0; padding: 0; list-style: none; font-size: 14px; color: var(--c-muted); }
.order-steps__item + .order-steps__item::before { content: "/"; margin: 0 10px; color: var(--c-muted); }
.order-steps__item.is-current { color: var(--c-accent); font-weight: 600; }
.order-steps a { color: inherit; text-decoration: none; }
.order-steps a:hover { color: var(--c-accent); }
.page-header:has(.order-steps) { gap: 8px; padding-top: 40px; }

/* Wspólne: karty i pola bloków koszyka i kasy */
html body .wc-block-components-text-input input,
html body .wc-block-components-text-input.is-active input,
html body .wc-blocks-components-select .wc-blocks-components-select__select,
html body .wc-block-components-textarea {
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	background: var(--c-card);
	color: var(--c-ink);
}
html body .wc-block-components-text-input input:focus,
html body .wc-blocks-components-select .wc-blocks-components-select__select:focus {
	border-color: var(--c-accent);
	box-shadow: 0 0 0 1px var(--c-accent);
	outline: none;
}
html body .wc-block-components-radio-control__input:checked { border-color: var(--c-accent) !important; }
html body .wc-block-components-radio-control__input:checked::before { background: var(--c-accent) !important; }
html body .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] { border-color: var(--c-ink-25); border-radius: 4px; }
html body .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--c-accent); border-color: var(--c-accent); }
html body .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: #FFFFFF; }
.wc-block-components-product-metadata, .wc-block-components-product-details { color: var(--c-muted); font-size: 13px; }

/* Koszyk: pozycje w białej karcie, podsumowanie w karcie z różową ramką */
.wp-block-woocommerce-cart .wc-block-cart-items {
	border-collapse: separate;
	border-spacing: 0;
	border: 0 !important;
	border-radius: var(--radius-lg);
	background: var(--c-card) !important;
	overflow: hidden;
}
.wp-block-woocommerce-cart .wc-block-cart-items__header { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.wp-block-woocommerce-cart .wc-block-cart-items__row td { border-top: 0 !important; padding-top: 24px !important; padding-bottom: 24px !important; }
.wp-block-woocommerce-cart .wc-block-cart-items__row + .wc-block-cart-items__row td { border-top: 1px solid var(--c-line) !important; }
.wp-block-woocommerce-cart .wc-block-cart-items__row td:first-child { padding-left: 24px !important; }
.wp-block-woocommerce-cart .wc-block-cart-items__row td:last-child { padding-right: 24px !important; }
.wc-block-cart-item__image img { border-radius: var(--radius); background: var(--c-paper); }
.wp-block-woocommerce-cart .wc-block-components-product-name {
	font-family: var(--font-display) !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	line-height: 1.2;
	color: var(--c-ink);
	text-decoration: none;
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link { color: var(--c-muted) !important; font-size: 14px !important; text-decoration: underline !important; }
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover { color: var(--c-accent) !important; }

.wp-block-woocommerce-cart .wc-block-cart__sidebar,
.wp-block-woocommerce-checkout-order-summary-block {
	padding: 24px;
	border: 1px solid #EFC4C3 !important;
	border-radius: var(--radius-lg) !important;
	background: var(--c-card);
}
.wc-block-cart__totals-title,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-text {
	font-family: var(--font-display) !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: 0;
	color: var(--c-ink);
}
.wc-block-cart__totals-title { display: block; padding: 0 0 8px !important; }
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title { margin: 0 0 8px; padding: 0 !important; border: 0 !important; }
.wc-block-components-totals-wrapper { padding-left: 0 !important; padding-right: 0 !important; }
.wc-block-components-totals-footer-item { flex-wrap: nowrap !important; gap: 12px; }
.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: 700; font-size: 18px; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { white-space: nowrap; }
.wc-block-components-totals-item__description { color: var(--c-muted); font-size: 13px; }
.wc-block-cart__submit-container .wc-block-components-button { width: 100%; min-height: 48px; font-size: 17px; }
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__image img { border-radius: var(--radius-sm); }

/* Kasa: numerowane sekcje w białych kartach */
.wc-block-checkout__main .wc-block-checkout__form { counter-reset: wyp-krok; }
.wc-block-checkout__main .wc-block-components-checkout-step {
	margin: 0 0 20px !important;
	padding: 24px !important;
	border: 0;
	border-radius: var(--radius-lg);
	background: var(--c-card);
}
.wc-block-checkout__main .wc-block-components-checkout-step::after { display: none !important; }
.wc-block-checkout__main .wc-block-components-checkout-step__heading { margin: 0 0 16px !important; }
.wc-block-checkout__main .wc-block-components-checkout-step__title {
	font-family: var(--font-display) !important;
	font-size: 26px !important;
	font-weight: 400 !important;
	line-height: 1.2;
}
.wc-block-checkout__main .wc-block-components-checkout-step__title::before {
	counter-increment: wyp-krok;
	content: counter(wyp-krok) ". ";
	color: var(--c-accent);
}
.wc-block-checkout__main .wc-block-components-checkout-step__container,
.wc-block-checkout__main .wc-block-components-checkout-step__content { padding: 0 !important; border: 0 !important; }
.wc-block-checkout__main .wc-block-components-checkout-step__description { color: var(--c-muted); }
.wc-block-components-address-card { border: 1px solid var(--c-line) !important; border-radius: var(--radius) !important; background: var(--c-paper); }

/* Kasa: formy dostawy i płatności jako osobne karty; zaznaczona z malinową ramką i jasnym tłem */
html body .wc-block-components-radio-control--highlight-checked { display: grid; gap: 10px; }
html body .wc-block-components-radio-control--highlight-checked::after,
html body .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option::after,
html body .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option::after { display: none !important; }
html body .wc-block-components-radio-control--highlight-checked > .wc-block-components-radio-control__option,
html body .wc-block-components-radio-control--highlight-checked > .wc-block-components-radio-control-accordion-option {
	margin: 0;
	border: 1px solid var(--c-line) !important;
	border-radius: var(--radius) !important;
	background: var(--c-card);
	box-shadow: none !important;
}
html body .wc-block-components-radio-control--highlight-checked > .wc-block-components-radio-control__option-checked,
html body .wc-block-components-radio-control--highlight-checked > .wc-block-components-radio-control-accordion-option:has(.wc-block-components-radio-control__input:checked) {
	border: 2px solid var(--c-accent) !important;
	background: var(--c-accent-faint);
}
.wc-block-components-radio-control__label { font-weight: 600; }
.wc-block-components-radio-control__secondary-label { font-weight: 600; }
.wc-block-components-radio-control-accordion-content { color: var(--c-muted); font-size: 14px; }

/* Kasa: zgody, uwagi i przycisk zamówienia (także pole zgody na rozpoczęcie najmu z wtyczki najmu) */
.wc-block-checkout__main .wc-block-components-checkbox__label { line-height: 1.5; }
.wc-block-checkout__terms { color: var(--c-muted); font-size: 14px; }
.wc-block-checkout__terms a { color: var(--c-accent); }
.wc-block-components-checkout-place-order-button { width: 100%; min-height: 52px !important; font-size: 17px !important; }
.wc-block-checkout__actions_row { gap: 16px; }

@media (max-width: 599.98px) {
	.wc-block-checkout__main .wc-block-components-checkout-step { padding: 20px 16px !important; }
	.wc-block-checkout__main .wc-block-components-checkout-step__title,
	.wc-block-cart__totals-title { font-size: 22px !important; }
	.wp-block-woocommerce-cart .wc-block-cart__sidebar,
	.wp-block-woocommerce-checkout-order-summary-block { padding: 20px 16px; }
	.wp-block-woocommerce-cart .wc-block-cart-items__row td:first-child { padding-left: 16px !important; }
	.wp-block-woocommerce-cart .wc-block-cart-items__row td:last-child { padding-right: 16px !important; }
}

/* „Zamówienie przyjęte” (klasyczny szablon thankyou) i widok zamówienia w koncie */
.woocommerce-order { display: flex; flex-direction: column; gap: 24px; }
.woocommerce-order > * { margin: 0 !important; }
.woocommerce-thankyou-order-received {
	padding: 20px 24px;
	border-radius: var(--radius-lg);
	background: var(--c-accent-faint);
	font-family: var(--font-display);
	font-size: 22px;
	line-height: 1.3;
}
.woocommerce ul.order_details,
.woocommerce-order-overview {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 12px;
	padding: 0 !important;
	list-style: none;
}
.woocommerce ul.order_details::before, .woocommerce ul.order_details::after { display: none !important; }
.woocommerce ul.order_details li {
	float: none !important;
	margin: 0 !important;
	padding: 16px !important;
	border: 0 !important;
	border-radius: var(--radius);
	background: var(--c-card);
	color: var(--c-muted);
	font-size: 13px !important;
	text-transform: none !important;
}
.woocommerce ul.order_details li strong { display: block; margin-top: 4px; color: var(--c-ink); font-size: 16px !important; }
.woocommerce-order-details, .woocommerce-customer-details, .woocommerce-bacs-bank-details {
	padding: 24px;
	border-radius: var(--radius-lg);
	background: var(--c-card);
}
.woocommerce-order-details__title, .woocommerce-column__title, .woocommerce-bacs-bank-details h2 { margin: 0 0 16px; font-size: 26px; }
.woocommerce-order-details table.shop_table, .woocommerce-table--order-details { margin: 0 !important; border: 0 !important; border-radius: 0 !important; }
.woocommerce-table--order-details th, .woocommerce-table--order-details td { padding: 12px 0 !important; }
.woocommerce-table--order-details tfoot tr:last-child th, .woocommerce-table--order-details tfoot tr:last-child td { font-size: 18px; font-weight: 700; }
.woocommerce-customer-details address { padding: 16px !important; border: 1px solid var(--c-line) !important; border-radius: var(--radius) !important; font-style: normal; line-height: 1.6; }
.woocommerce-customer-details .woocommerce-columns { display: grid; gap: 16px; }
.woocommerce-customer-details .woocommerce-column { float: none !important; width: auto !important; }
@media (min-width: 768px) {
	.woocommerce-customer-details .woocommerce-columns--2 { grid-template-columns: 1fr 1fr; }
}
.woocommerce-order .wc-item-meta, .woocommerce-MyAccount-content .wc-item-meta { margin: 6px 0 0; padding: 0; list-style: none; color: var(--c-muted); font-size: 14px; }
.woocommerce-order .wc-item-meta p, .woocommerce-MyAccount-content .wc-item-meta p { display: inline; margin: 0; }
mark.order-number, mark.order-date, mark.order-status { background: none; color: var(--c-ink); font-weight: 700; }

/* Moje konto: menu w karcie po lewej, treść obok (od 1024 px), tabela zamówień w karcie */
.woocommerce-account .entry-content > .woocommerce { display: grid; gap: 24px; }
.woocommerce-account .entry-content > .woocommerce::before,
.woocommerce-account .entry-content > .woocommerce::after,
.woocommerce-customer-details .woocommerce-columns::before,
.woocommerce-customer-details .woocommerce-columns::after { display: none !important; }
.woocommerce-account .entry-content > .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-account .entry-content > .woocommerce > :not(.woocommerce-MyAccount-navigation):not(.woocommerce-MyAccount-content) { grid-column: 1 / -1; }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; }
.woocommerce-MyAccount-navigation ul { margin: 0; padding: 8px; border-radius: var(--radius-lg); background: var(--c-card); }
@media (max-width: 1023.98px) {
	.woocommerce-MyAccount-navigation ul { flex-direction: row; flex-wrap: wrap; }
	.woocommerce-MyAccount-navigation a { padding: 8px 14px; border-radius: var(--radius-pill); font-size: 15px; }
}
@media (min-width: 1024px) {
	.woocommerce-account .entry-content > .woocommerce { grid-template-columns: 260px minmax(0, 1fr); gap: 32px; align-items: start; }
	.woocommerce-account .woocommerce-MyAccount-navigation { grid-column: 1; }
	.woocommerce-account .woocommerce-MyAccount-content { grid-column: 2; }
}
.woocommerce-MyAccount-content > p:first-child { font-size: 17px; }
.woocommerce-orders-table, .woocommerce-MyAccount-content table.shop_table {
	border: 0 !important;
	border-radius: var(--radius-lg) !important;
	background: var(--c-card);
	overflow: hidden;
}
.woocommerce-orders-table th, .woocommerce-orders-table td { padding: 14px 16px !important; }
.woocommerce-orders-table thead th { color: var(--c-muted); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.woocommerce-orders-table .woocommerce-button { min-height: 36px !important; padding: 6px 16px !important; font-size: 14px !important; }
.woocommerce-MyAccount-content .woocommerce-order-details { padding: 24px; }
