/* ==========================================================================
   Just Cha — cart & checkout: standard WooCommerce layout, site look only
   ========================================================================== */
.jc-flow { padding-top: 2rem; padding-bottom: var(--jc-section); }
.jc-flow__head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 1.25rem 1.5rem; margin-bottom: 2rem; }
.jc-flow__title { margin: 0; font-size: var(--jc-fs-title); font-weight: 600; line-height: 1; text-transform: uppercase; }
.jc-flow__title sup { font-size: 1rem; font-weight: 400; color: var(--jc-muted); }

.jc-flow .wc-block-cart, .jc-flow .wc-block-checkout { font-family: var(--jc-font); }

/* Square corners everywhere, like the rest of the site */
.jc-flow input, .jc-flow select, .jc-flow textarea,
.jc-flow .wc-block-components-text-input input,
.jc-flow .wc-blocks-components-select__select,
.jc-flow .wc-blocks-components-select__container,
.jc-flow .wc-block-components-quantity-selector,
.jc-flow .wc-block-components-radio-control__option,
.jc-flow .wc-block-components-radio-control-accordion-option,
.jc-flow .wc-block-components-radio-control--highlight-checked::after,
.jc-flow .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option-checked::after,
.jc-flow .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted::after,
.jc-flow .wc-block-components-notice-banner,
.jc-flow .wc-block-components-order-summary-item__image img,
.jc-flow .wc-block-cart-item__image img { border-radius: 0 !important; }
.jc-flow .wc-block-components-text-input input:focus,
.jc-flow .wc-blocks-components-select__select:focus { border-color: var(--jc-black) !important; box-shadow: none !important; }

/* Buttons: site accent */
.jc-flow .wc-block-components-button:not(.is-link),
.jc-flow .wc-block-cart__submit-button,
.jc-flow .wc-block-components-checkout-place-order-button {
	border-radius: 0 !important; background: var(--jc-accent) !important; color: var(--jc-white) !important; border: 0;
	font-size: .8125rem; font-weight: 400; letter-spacing: var(--jc-tracking-btn); text-transform: uppercase; box-shadow: none !important;
}
.jc-flow .wc-block-components-button:not(.is-link):hover,
.jc-flow .wc-block-cart__submit-button:hover { background: var(--jc-accent-dark) !important; }

/* Type */
.jc-flow .wc-block-components-product-name { font-weight: 500; color: var(--jc-black); text-decoration: none; }
.jc-flow .wc-block-components-product-name:hover { color: var(--jc-accent); }
.jc-flow .wc-block-cart__totals-title,
.jc-flow .wc-block-cart-items__header { font-size: .625rem !important; font-weight: 400 !important; letter-spacing: var(--jc-tracking-eyebrow); text-transform: uppercase !important; }
.jc-flow .wc-block-components-checkout-step__title { font-weight: 500 !important; text-transform: uppercase; color: var(--jc-black); }
.jc-flow .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-weight: 500; color: var(--jc-black); }
.jc-flow .wc-block-components-checkbox__input[type="checkbox"] { border-radius: 0 !important; }
.jc-flow .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--jc-black); border-color: var(--jc-black); }
.jc-flow .wc-block-components-checkbox__mark { fill: var(--jc-white); }


/* InPost: paczkomat picker button (InPost yellow) */
.jc-flow .easypack_show_geowidget {
	display: flex !important; align-items: center; justify-content: center; gap: .6em;
	width: 100%; max-width: none !important; min-height: 48px;
	margin: .75rem 0 1rem !important; padding: .9rem 1.75rem !important;
	background: var(--jc-inpost) !important; color: var(--jc-black) !important;
	border: 1px solid var(--jc-inpost) !important; border-radius: 0 !important; box-shadow: none !important;
	font-size: .8125rem !important; font-weight: 400; letter-spacing: var(--jc-tracking-btn); line-height: 1.2; text-transform: uppercase;
	cursor: pointer; transition: background .2s, color .2s;
}
.jc-flow .easypack_show_geowidget:hover,
.jc-flow .easypack_show_geowidget:focus-visible { background: var(--jc-inpost-dark) !important; border-color: var(--jc-inpost-dark) !important; color: var(--jc-black) !important; }


/* Order received ("Dziękujemy") ------------------------------------------------ */
.jc-flow .woocommerce-order { max-width: 52rem; margin: 0 auto; display: flex; flex-direction: column; gap: 2.5rem; color: var(--jc-text); }
.jc-flow .woocommerce-thankyou-order-received { display: none; } /* the success box says it */
.jc-flow .woocommerce-order > p:not(.woocommerce-thankyou-order-received),
.jc-flow .woocommerce-order > .woocommerce-notice--error { margin: 0; }

.jc-thanks { display: flex; flex-direction: column; align-items: center; gap: .875rem; padding: 4rem 1.5rem; border: 1px solid var(--jc-line); text-align: center; }
.jc-thanks__icon { width: 56px; height: 56px; border-radius: 50%; background: var(--jc-green); color: var(--jc-white); display: flex; align-items: center; justify-content: center; }
.jc-thanks__title { margin: 0; font-size: clamp(1.5rem, 1.2rem + 1.2vw, 1.625rem); font-weight: 500; line-height: 1.2; text-transform: uppercase; color: var(--jc-black); }
.jc-thanks__text { margin: 0; max-width: 28rem; font-size: .875rem; line-height: 1.6; overflow-wrap: anywhere; }
.jc-thanks__text strong { font-weight: 600; color: var(--jc-black); }
.jc-thanks .jc-btn { margin-top: .5rem; }

/* Overview: number / date / total / payment */
.jc-flow .woocommerce-order ul.order_details { list-style: none; margin: 0; padding: 1.5rem; display: grid; align-items: stretch; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: 1.25rem 1.5rem; background: var(--jc-bg-alt); }
.jc-flow .woocommerce-order ul.order_details::before,
.jc-flow .woocommerce-order ul.order_details::after { display: none; content: none; }
.jc-flow .woocommerce-order ul.order_details li { float: none; margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; justify-content: space-between; gap: .375rem; font-size: .625rem; line-height: 1.4; letter-spacing: var(--jc-tracking-eyebrow); text-transform: uppercase; color: var(--jc-muted); }
.jc-flow .woocommerce-order ul.order_details li strong { font-size: 1rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--jc-black); overflow-wrap: anywhere; }

/* Details, address, bank transfer data */
.jc-flow .woocommerce-order h2,
.jc-flow .woocommerce-order .woocommerce-column__title,
.jc-flow .woocommerce-order .wc-bacs-bank-details-heading { margin: 0 0 1rem; font-size: 1.25rem; font-weight: 500; line-height: 1.3; text-transform: uppercase; color: var(--jc-black); }
.jc-flow .woocommerce-order table.shop_table { width: 100%; margin: 0; border: 0; border-radius: 0; border-collapse: collapse; font-size: .9375rem; }
.jc-flow .woocommerce-order table.shop_table th,
.jc-flow .woocommerce-order table.shop_table td { padding: 14px; border: 0; border-bottom: 1px solid var(--jc-line); text-align: left; vertical-align: middle; background: none; }
.jc-flow .woocommerce-order table.shop_table thead th { padding-top: 0; font-size: .6875rem; font-weight: 400; letter-spacing: var(--jc-tracking-label); text-transform: uppercase; color: var(--jc-muted); border-bottom-color: var(--jc-black); }
.jc-flow .woocommerce-order table.shop_table td:last-child,
.jc-flow .woocommerce-order table.shop_table thead th:last-child { text-align: right; }
.jc-flow .woocommerce-order table.shop_table tfoot th { font-weight: 500; color: var(--jc-black); }
.jc-flow .woocommerce-order table.shop_table tfoot td { font-weight: 400; }
.jc-flow .woocommerce-order table.shop_table tfoot tr:nth-last-child(2) th,
.jc-flow .woocommerce-order table.shop_table tfoot tr:nth-last-child(2) td { font-size: 1.0625rem; font-weight: 500; color: var(--jc-black); }
.jc-flow .woocommerce-order .product-name a { color: var(--jc-black); text-decoration: none; font-weight: 500; }
.jc-flow .woocommerce-order .product-name a:hover { color: var(--jc-accent); }
.jc-flow .woocommerce-order .product-quantity { color: var(--jc-muted); font-weight: 400; }
.jc-flow .woocommerce-order .woocommerce-customer-details address { margin: 0; padding: 1.5rem; border: 1px solid var(--jc-line); border-radius: 0; font-style: normal; font-size: .9375rem; line-height: 1.7; }
.jc-flow .woocommerce-order .woocommerce-customer-details address p { margin: .375rem 0 0; }
.jc-flow .woocommerce-order .woocommerce-bacs-bank-details ul { list-style: none; margin: 0; padding: 1.5rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: 1rem; background: var(--jc-bg-alt); }
.jc-flow .woocommerce-order .woocommerce-bacs-bank-details li { margin: 0; padding: 0; border: 0; float: none; font-size: .625rem; letter-spacing: var(--jc-tracking-eyebrow); text-transform: uppercase; color: var(--jc-muted); }
.jc-flow .woocommerce-order .woocommerce-bacs-bank-details li strong { display: block; margin-top: .25rem; font-size: .9375rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--jc-black); }

@media (max-width: 600px) {
	.jc-thanks { padding: 2.5rem 1.25rem; }
	.jc-thanks .jc-btn { width: 100%; }
	.jc-flow .woocommerce-order ul.order_details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* Steps: Koszyk / Dostawa i płatność / Potwierdzenie ---------------------------- */
.jc-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .75rem 1.75rem; font-size: .6875rem; letter-spacing: var(--jc-tracking-wide); text-transform: uppercase; }
.jc-steps__item { display: flex; align-items: center; gap: .5rem; color: var(--jc-muted); }
.jc-steps__item.is-done, .jc-steps__item.is-current { color: var(--jc-black); }
.jc-steps__n { width: 22px; height: 22px; border-radius: 50%; border: 1px solid currentColor; display: inline-flex; align-items: center; justify-content: center; font-size: .6875rem; letter-spacing: 0; }
.jc-steps__item.is-current .jc-steps__n { background: var(--jc-black); color: var(--jc-white); }
@media (max-width: 600px) { .jc-steps { gap: .5rem 1rem; font-size: .625rem; letter-spacing: var(--jc-tracking-label); } }

/* Cart ------------------------------------------------------------------------- */
.jc-flow .wc-block-cart { gap: 3rem; }
.jc-flow table.wc-block-cart-items { border: 0; }
.jc-flow .wc-block-cart-items__header th { padding: 0 0 .75rem; border-bottom: 1px solid var(--jc-black) !important; color: var(--jc-muted); }
.jc-flow table.wc-block-cart-items { border-collapse: collapse; }
.jc-flow .wc-block-cart-items__row { border-bottom: 1px solid var(--jc-line); }
.jc-flow .wc-block-cart-items__row td { border: 0 !important; box-shadow: none; padding-top: 1.25rem; padding-bottom: 1.25rem; vertical-align: middle; }
.jc-flow .wc-block-cart-item__image { width: 88px; padding-left: 0; }
.jc-flow .wc-block-cart-item__image a { display: block; width: 88px; height: 88px; background: var(--jc-bg-alt); }
.jc-flow .wc-block-cart-item__image img { display: block; width: 88px; height: 88px; object-fit: contain; }
.jc-flow .wc-block-components-product-name { font-size: 1rem; }
.jc-flow .wc-block-cart-item__prices { color: var(--jc-muted); font-size: .8125rem; }
.jc-flow .wc-block-components-product-metadata__description:empty,
.jc-flow .wc-block-components-product-metadata { display: none; }
.jc-flow .wc-block-cart-item__total { text-align: right; font-size: .9375rem; color: var(--jc-black); }
.jc-flow .wc-block-components-quantity-selector { border: 1px solid var(--jc-line-strong); background: var(--jc-white); }
.jc-flow .wc-block-cart-item__remove-link { color: var(--jc-muted); }
.jc-flow .wc-block-cart-item__remove-link:hover { color: var(--jc-accent); }

.jc-flow .wc-block-cart__sidebar { border: 1px solid var(--jc-line); padding: 1.75rem !important; align-self: flex-start; position: sticky; top: calc(var(--jc-header-h) + 1.5rem); transition: top .3s; }
.jc-flow .wc-block-cart__sidebar .wc-block-components-totals-wrapper { border-color: var(--jc-line); }
.jc-flow .wc-block-cart__sidebar .wc-block-components-totals-footer-item { padding-top: 1rem; border-top: 1px solid var(--jc-black); }
.jc-flow .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: .875rem; font-weight: 400; letter-spacing: var(--jc-tracking-btn); text-transform: uppercase; }
.jc-flow .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 1.625rem; }
.jc-flow .wc-block-cart__submit-container { padding-top: .5rem; }
.jc-flow .wc-block-cart__submit-button { padding: 1.125rem; }
.jc-flow .wc-block-cart__submit::after { content: "BLIK · Karta · Przelewy24 · InPost"; display: block; margin-top: .875rem; text-align: center; font-size: .75rem; color: var(--jc-muted); }
.jc-flow__back { margin: 1.5rem 0 0; font-size: .75rem; letter-spacing: var(--jc-tracking-label); text-transform: uppercase; }
.jc-flow__back a { color: var(--jc-black); text-underline-offset: 4px; }
.jc-flow__back a:hover { color: var(--jc-accent); }

/* Checkout --------------------------------------------------------------------- */
.jc-flow .wc-block-components-notice-banner.is-error { background: var(--jc-error-bg); border: 1px solid var(--jc-error-line); color: var(--jc-black); }
.jc-flow .wc-block-components-notice-banner.is-error > svg { background: var(--jc-accent); }
.jc-flow .wc-block-checkout__sidebar .wc-block-components-order-summary,
.jc-flow .wc-block-checkout__sidebar .wc-block-components-totals-wrapper { border-color: var(--jc-line); }
.jc-flow .wc-block-checkout__sidebar .wc-block-components-totals-footer-item { padding-top: 1rem; border-top: 1px solid var(--jc-black); }
.jc-flow .wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: .875rem; font-weight: 400; letter-spacing: var(--jc-tracking-btn); text-transform: uppercase; }
.jc-flow .wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 1.625rem; }
.jc-flow .wc-block-components-radio-control__option { border: 1px solid var(--jc-line); padding: 1.125rem 1.25rem 1.125rem 3.25rem; }
.jc-flow .wc-block-components-radio-control__option-checked, .jc-flow .wc-block-components-radio-control__option:has(:checked) { border-color: var(--jc-black); }
.jc-flow .wc-block-components-radio-control__input:checked { border-color: var(--jc-black); }
.jc-flow .wc-block-components-radio-control__input:checked::before { background: var(--jc-black); }
.jc-flow .wc-block-checkout__actions_row .wc-block-components-checkout-return-to-cart-button { color: var(--jc-black); }
@media (max-width: 782px) { .jc-flow .wc-block-cart-item__image, .jc-flow .wc-block-cart-item__image a, .jc-flow .wc-block-cart-item__image img { width: 64px; height: 64px; } }

.jc-freeship { display: flex; flex-direction: column; gap: .625rem; margin: 0 0 1.25rem; padding: .875rem 1rem; background: var(--jc-bg-alt); font-size: .8125rem; color: var(--jc-text); }
.jc-freeship__bar { display: block; height: 4px; background: var(--jc-line); }
.jc-freeship__bar > span { display: block; height: 4px; width: 0; background: var(--jc-green); transition: width .6s cubic-bezier(.2, .8, .2, 1); }

@media (max-width: 600px) {
	.jc-flow__head { margin-bottom: 1.25rem; gap: 1rem; }
	.jc-steps { flex-wrap: nowrap; width: 100%; gap: .875rem; }
	.jc-steps__item:not(.is-current) .jc-steps__label { display: none; }
	.jc-steps__item.is-current .jc-steps__label { white-space: nowrap; }
	.jc-flow .wc-block-components-checkout-order-summary__title { gap: 1rem; }
	.jc-flow .wc-block-components-checkout-order-summary__title-text { font-size: 1rem !important; }
}

/* Checkout summary: stays below the header (WooCommerce sticks it to top: 0) */
.jc-flow .wc-block-checkout__sidebar { position: sticky !important; top: calc(var(--jc-header-h) + 1.5rem) !important; align-self: flex-start; transition: top .3s; }
html.jc-header-hidden .jc-flow .wc-block-checkout__sidebar,
html.jc-header-hidden .jc-flow .wc-block-cart__sidebar { top: 1.5rem !important; }

/* Empty cart: centred teapot, button-style link, site-style "Nowe w sklepie" grid ----------------- */
.jc-flow .wp-block-woocommerce-empty-cart-block { padding: 1rem 0 2rem; text-align: center; }
.jc-flow .wp-block-woocommerce-empty-cart-block svg { display: block; margin: 0 auto 1.25rem; }
.jc-flow .wp-block-woocommerce-empty-cart-block > p { margin: 0 0 1rem; font-size: 1.125rem; color: var(--jc-black); }
.jc-flow .wp-block-woocommerce-empty-cart-block > p a { display: inline-flex; align-items: center; min-height: 48px; padding: 0 1.75rem; background: var(--jc-accent); color: var(--jc-white); font-size: .8125rem; letter-spacing: var(--jc-tracking-btn); text-transform: uppercase; text-decoration: none; }
.jc-flow .wp-block-woocommerce-empty-cart-block > p a:hover { background: var(--jc-accent-dark); }
.jc-flow .wp-block-woocommerce-empty-cart-block hr { display: none; }
.jc-flow .wp-block-woocommerce-empty-cart-block h2 { margin: 3rem 0 1.5rem; padding-top: 2rem; border-top: 1px solid var(--jc-line); font-size: var(--jc-fs-h2, 2rem); font-weight: 500; text-transform: uppercase; color: var(--jc-black); }
.jc-flow .wc-block-grid__products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem 1rem; margin: 0; padding: 0; list-style: none; }
.jc-flow .wc-block-grid__product { position: relative; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; text-align: left; }
.jc-flow .wc-block-grid__product-link { display: block; text-decoration: none; color: inherit; }
.jc-flow .wc-block-grid__product-image { aspect-ratio: 1 / 1; background: var(--jc-bg-alt); overflow: hidden; margin: 0 0 .75rem; }
.jc-flow .wc-block-grid__product-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.jc-flow .wc-block-grid__product-title { margin: 0 0 .25rem; font-size: 1rem; font-weight: 500; color: var(--jc-black); text-align: left; }
.jc-flow .wc-block-grid__product-price { font-size: .875rem; text-align: left; color: var(--jc-text); }
.jc-flow .wc-block-grid__product-onsale { position: absolute; left: .75rem; top: .75rem; right: auto; z-index: 1; min-width: 0; padding: .35rem .6rem; border: 0; border-radius: 0; background: var(--jc-accent); color: var(--jc-white); font-size: .6875rem; font-weight: 600; letter-spacing: var(--jc-tracking-wide); line-height: 1.2; text-transform: uppercase; }
.jc-flow .wc-block-grid__product-add-to-cart { margin-top: .75rem; text-align: left; }
.jc-flow .wc-block-grid__product-add-to-cart .wp-block-button__link { border-radius: 0; background: transparent; color: var(--jc-black); border: 1px solid var(--jc-line-strong); font-size: .75rem; letter-spacing: var(--jc-tracking-btn); text-transform: uppercase; padding: .6rem 1rem; }
.jc-flow .wc-block-grid__product-add-to-cart .wp-block-button__link:hover { border-color: var(--jc-black); }
@media (max-width: 900px) { .jc-flow .wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Checkout: payment/shipping radios stay round (only checkboxes and fields are square), order summary does not float over the form on mobile */
.jc-flow input[type="radio"], .jc-flow .wc-block-components-radio-control__input { border-radius: 50% !important; }
.jc-flow .wc-block-components-radio-control__input::before { border-radius: 50% !important; }
@media (max-width: 782px) { .jc-flow .wc-block-checkout__sidebar { position: static !important; } }
