/* =========================================================================
   Shayan AI Chat — Cart / Checkout display fixes (WooCommerce BLOCK cart)
   Root causes found by live inspection of shayanebrahimi.ir (WC 11):
   1) Product grid cards crushed to 67px  -> WC's `max-width:25%;flex:1 0 25%`
      still applies inside the theme grid (25% of each 269px track).
   2) Totals sidebar crushed (133px) and the checkout button turned into a
      circle -> WC's `width:65%` / `width:35%` resolve against EACH grid
      track, so both columns shrink inside their own track.
   3) Currency glued to price (﷼600.000.000) -> fixed in PHP via
      woocommerce_price_format; CSS below is defensive only.
   ========================================================================= */

/* ---- 1) Block product grids («تازه در فروشگاه» on the empty cart) ---- */
.wc-block-grid__products,
.wp-block-woocommerce-cart .wc-block-grid__products,
.wp-block-woocommerce-all-products .wc-block-grid__products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 18px !important;
	justify-items: stretch !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wc-block-grid__product,
.wp-block-woocommerce-cart .wc-block-grid__product {
	width: auto !important;
	max-width: 100% !important;
	min-width: 0 !important;
	flex: none !important;
	float: none !important;
	box-sizing: border-box !important;
}

/* Buttons inside product cards must never wrap letter-by-letter */
.wc-block-grid__product .wc-block-components-product-button__button,
.wc-block-grid__product .wp-block-button__link,
.wc-block-grid__product .wc-block-components-button {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	text-align: center !important;
	display: block !important;
	box-sizing: border-box !important;
}

/* Product images keep a sane square inside cards */
.wc-block-grid__product .wc-block-components-product-image img {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

/* ---- 2) Cart + Checkout two-column layout (main / sidebar) ---- */
.wc-block-components-sidebar-layout,
.wc-block-cart.wc-block-components-sidebar-layout,
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.9fr) minmax(300px, 1fr) !important;
	gap: 24px !important;
	align-items: start !important;
	width: 100% !important;
}

/* Neutralize anonymous wrappers between the layout and its children */
.wc-block-components-sidebar-layout > div:not([class]),
.wc-block-cart.wc-block-components-sidebar-layout > div:not([class]) {
	display: contents !important;
}

/* THE core fix: WC sets width:65% (main) / width:35% (sidebar) which
   resolve against each grid track -> columns shrink inside themselves. */
.wc-block-components-sidebar-layout .wc-block-components-main,
.wc-block-components-sidebar-layout .wc-block-cart__main {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	flex: none !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

.wc-block-components-sidebar-layout .wc-block-components-sidebar,
.wc-block-components-sidebar-layout .wc-block-cart__sidebar {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	flex: none !important;
	box-sizing: border-box !important;
}

/* ---- 3) Checkout button: a real button, never a circle ---- */
.wc-block-cart__submit .wc-block-components-button,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
	width: 100% !important;
	max-width: 100% !important;
	min-height: 52px !important;
	height: auto !important;
	border-radius: 14px !important;
	white-space: nowrap !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	padding: 12px 20px !important;
}

.wc-block-cart__submit-container {
	width: 100% !important;
	max-width: 100% !important;
}

/* ---- 4) Totals sidebar stays a proper card ---- */
.wp-block-woocommerce-cart-order-summary-block {
	width: 100% !important;
	max-width: 100% !important;
}

.wc-block-components-totals-footer-item .wc-block-formatted-money-amount,
.wc-block-components-totals-item__value {
	white-space: nowrap;
}

/* Price bidi safety: keep currency and amount on one visual run */
.wc-block-formatted-money-amount,
.wc-block-components-formatted-money-amount {
	unicode-bidi: isolate;
}

/* ---- 5) Items table polish ---- */
table.wc-block-cart-items {
	width: 100% !important;
	max-width: 100% !important;
	border-collapse: collapse;
}

.wc-block-cart-item__image img {
	width: 74px !important;
	max-width: 74px !important;
	height: auto !important;
	object-fit: contain;
}

/* ---- 6) Classic shortcode fallback (if a page uses [woocommerce_cart]) ---- */
.woocommerce-cart-form table.shop_table,
.woocommerce-checkout-review-order-table {
	width: 100% !important;
	max-width: 100% !important;
	border-collapse: collapse;
}

.woocommerce-cart-form table.shop_table img {
	width: 72px !important;
	max-width: 72px !important;
	height: auto !important;
	object-fit: contain;
}

.woocommerce-cart-form .quantity .qty {
	width: 64px !important;
	height: 42px !important;
	text-align: center !important;
}

.cart-collaterals {
	width: 100% !important;
	float: none !important;
}

/* ---- 7) Responsive ---- */
@media screen and (max-width: 900px) {
	.wc-block-components-sidebar-layout,
	.wc-block-cart.wc-block-components-sidebar-layout,
	.wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
	.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.wc-block-components-sidebar-layout .wc-block-cart__sidebar,
	.wc-block-components-sidebar-layout .wc-block-components-sidebar {
		position: static !important;
		order: 2;
	}

	.wc-block-grid__products,
	.wp-block-woocommerce-cart .wc-block-grid__products,
	.wp-block-woocommerce-all-products .wc-block-grid__products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}
}

@media screen and (max-width: 420px) {
	.wc-block-grid__products,
	.wp-block-woocommerce-cart .wc-block-grid__products,
	.wp-block-woocommerce-all-products .wc-block-grid__products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.wc-block-grid__product .wc-block-components-product-button__button,
	.wc-block-grid__product .wp-block-button__link,
	.wc-block-grid__product .wc-block-components-button {
		white-space: normal !important;
		line-height: 1.9 !important;
	}
}

/* ---- 8) Horizontal overflow guard ---- */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.woocommerce-account .woocommerce {
	max-width: 100%;
	overflow-x: clip;
}
