/* ==========================================================================
   Cart + checkout (WooCommerce blocks) in the sporty look.
   `body.woocommerce-cart` / `body.woocommerce-checkout` prefixes outrank block CSS.
   ========================================================================== */

body.woocommerce-checkout { --tabbar-h: 0px; }

.checkout-flow { padding-block: 0 72px; }
.checkout-flow__content { padding-block-start: 32px; }
.checkout-flow__title { margin: 0 0 24px; font: 700 clamp(64px, 8vw, 96px)/0.85 var(--font-display); }

/* Minimal header -------------------------------------------------------------- */

.site-header--minimal .site-header__inner { justify-content: space-between; }
.secure-badge { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 15px; }

/* Step bar --------------------------------------------------------------------- */

.steps { background: var(--surface); border-block-end: 1px solid var(--line); }
.steps__list { list-style: none; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.steps__item { border-block-end: 4px solid var(--line); color: var(--muted); }
.steps__item > a,
.steps__item > .steps__num { text-decoration: none; }
.steps__item,
.steps__item > a { display: flex; align-items: center; gap: 10px; padding-block: 16px 14px; font-weight: 800; font-size: 15px; color: inherit; }
.steps__item > a { padding: 0; }
.steps__item.is-done,
.steps__item.is-current { border-block-end-color: var(--ink); color: var(--ink); }
.steps__num { flex: none; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; background: #E6E9E2; font-size: 14px; }
.steps__item.is-done .steps__num { background: var(--accent); }
.steps__item.is-current .steps__num { background: var(--ink); color: var(--accent); }

/* Shared block bits -------------------------------------------------------------- */

body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout { max-width: none; margin: 0; font-family: var(--font-body); }

body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-title,
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-checkout-step__title {
	font: 700 36px/1 var(--font-display) !important;
	color: var(--ink);
}

body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-button:not(.is-link) {
	min-height: 60px;
	border-radius: 0;
	background: var(--accent);
	color: var(--ink);
	font: 800 19px/1 var(--font-body);
	box-shadow: none;
}
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-button:not(.is-link):hover { background: var(--ink); color: var(--accent); }
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-button:not(.is-link):focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; box-shadow: 0 0 0 6px var(--accent); }

/* Inputs */
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-text-input input,
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-combobox .components-combobox-control input,
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-blocks-components-select .wc-blocks-components-select__select,
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-textarea {
	border-radius: 0;
	border: 1px solid #C9CEC6;
	background: var(--surface);
	font-family: var(--font-body);
}
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-text-input.is-active input:focus,
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-text-input input:focus { border-color: var(--ink); box-shadow: 0 0 0 1px var(--ink); }

/* Radio choices (shipping, payment) */
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-radio-control__option {
	border-radius: 0;
}
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted,
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	box-shadow: inset 0 0 0 2px var(--ink);
	background: #F6FBE6;
	border-radius: 0;
}
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-radio-control__input { accent-color: var(--ink); border-color: var(--ink); }
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-radio-control__input:checked::before { background: var(--ink); }
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] { border-radius: 0; border-color: var(--ink); }
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--accent); }
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--ink); }

/* Summary sidebar: the "receipt" card */
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar-layout .wc-block-components-sidebar {
	background: var(--surface);
	border: 2px solid var(--ink);
	padding: 20px 24px;
	align-self: flex-start;
}
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-weight: 800; font-size: 18px; }
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font: 700 44px/1 var(--font-display);
}
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-totals-wrapper { border-color: var(--line); }

/* Product names and prices */
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-name { font-weight: 800; color: var(--ink); text-decoration: none; }
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-badge { border-radius: 0; background: var(--ink); color: var(--accent); border: 0; }

/* Notices */
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-notice-banner { border-radius: 0; }

/* Cart ---------------------------------------------------------------------------- */

body.woocommerce-cart .wc-block-cart-items { border-block-start: 2px solid var(--ink); }
body.woocommerce-cart .wc-block-cart-items th { font-weight: 700; color: var(--muted); }
body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__image img { background: #E6E9E2; }
body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price { font: 700 32px/1 var(--font-display); }
body.woocommerce-cart .wc-block-components-quantity-selector { border-radius: 0; border: 2px solid var(--ink); }
body.woocommerce-cart .wc-block-components-quantity-selector::after { display: none; }
body.woocommerce-cart .wc-block-components-quantity-selector input { font-weight: 800; }
body.woocommerce-cart .wc-block-cart-item__remove-link { color: var(--text-soft) !important; }

/* Cross-sells ("שווה להוסיף") as a dark strip like the mockup */
body.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block {
	margin-block-start: 24px;
	padding: 24px;
	background: var(--ink);
	color: #F2F5F0;
}
body.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block h2,
body.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block a { color: #F2F5F0; }

/* Empty cart */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	font: 700 56px/0.9 var(--font-display);
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title::before { display: none; }

/* Checkout ------------------------------------------------------------------------- */

body.woocommerce-checkout .wc-block-checkout__main .wc-block-components-checkout-step {
	background: var(--surface);
	border: 1px solid var(--line);
	padding: 20px 24px;
	margin-block-end: 16px;
}
body.woocommerce-checkout .wc-block-components-checkout-step__container::after { display: none; }
body.woocommerce-checkout .wc-block-components-checkout-step__heading-container::before { display: none; }
body.woocommerce-checkout .wc-block-components-checkout-place-order-button { width: 100%; }
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button { font-weight: 800; color: var(--ink); }

/* Order received */
body.woocommerce-checkout .woocommerce-order { padding-block-start: 32px; }
body.woocommerce-checkout .woocommerce-thankyou-order-received,
body.woocommerce-checkout .wc-block-order-confirmation-status__description {
	margin: 0 0 24px;
	padding: 32px;
	background: var(--accent);
	font: 700 clamp(48px, 7vw, 96px)/0.85 var(--font-display);
}
body.woocommerce-checkout ul.woocommerce-order-overview { padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
body.woocommerce-checkout ul.woocommerce-order-overview li { border: 1px solid var(--line); background: var(--surface); padding: 12px 16px; margin: 0; }

/* Nothing in the cart/checkout may push the page sideways on phones. */
.checkout-flow { overflow-x: clip; }
body.woocommerce-cart .wc-block-cart-items { width: 100%; max-width: 100%; }
/* Let the product cell shrink (long names, quantity box) instead of widening the table. */
body.woocommerce-cart .wc-block-cart-items td,
body.woocommerce-cart .wc-block-cart-item__product,
body.woocommerce-cart .wc-block-cart-item__product * { min-width: 0; }
body.woocommerce-cart .wc-block-cart-item__product { overflow-wrap: anywhere; }

@media (max-width: 860px) {
	/* WooCommerce's sticky "proceed to checkout" bar: full width without overflow, above our tab bar. */
	body.woocommerce-cart .wc-block-cart__submit-container--sticky {
		inset-inline: 0;
		inset-block-end: var(--tabbar-h);
		width: auto;
		box-sizing: border-box;
		margin: 0;
		background: var(--ink);
		border-block-start: 1px solid var(--ink-line);
	}
	body.woocommerce-cart .wc-block-cart__submit-container--sticky::before { display: none; }
	/* Big display prices would widen the items table on narrow screens. */
	body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price { font-size: 22px; }
	body.woocommerce-cart .wc-block-cart-items .wc-block-components-sale-badge { white-space: normal; }
	.checkout-flow__content { padding-block-start: 20px; }
	.checkout-flow__title { font-size: 56px; margin-block-end: 16px; }
	.steps__item,
	.steps__item > a { font-size: 13px; gap: 6px; }
	.secure-badge { font-size: 13px; }
	body.woocommerce-checkout .wc-block-checkout__main .wc-block-components-checkout-step { padding: 16px; }
}
