/* MY2LK V1 storefront layout fixes — WooCommerce + homepage grids */

html, body {
	overflow-x: hidden;
}

/* Homepage category cards: keep labels readable and contained. */
.my2lk-section--categories .my2lk-wc-block ul.products {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}
.my2lk-section--categories .product-category {
	min-width: 0;
}
.my2lk-section--categories .product-category > a {
	display: block;
	height: 100%;
	text-decoration: none;
}
.my2lk-section--categories .product-category img,
.my2lk-section--categories .product-category .product-images img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: contain;
	background: #f7faf8;
}
.my2lk-section--categories .woocommerce-loop-category__title,
.my2lk-section--categories .product-category .product-title,
.my2lk-section--categories .product-category h2 {
	margin: 0 !important;
	padding: 16px 18px 18px !important;
	color: var(--my2lk-ink) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	letter-spacing: -.015em !important;
	white-space: normal !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
}
.my2lk-section--categories .count {
	font-size: .82em !important;
	font-weight: 700 !important;
	background: transparent !important;
}

/* Product cards: keep card actions and details inside the card. */
.my2lk-wc-block ul.products li.product,
.woocommerce ul.products li.product {
	min-width: 0;
}
.my2lk-wc-block ul.products li.product .product-details,
.woocommerce ul.products li.product .product-details {
	box-sizing: border-box;
}
.my2lk-wc-block ul.products li.product .product-buttons,
.woocommerce ul.products li.product .product-buttons {
	display: grid;
	gap: 8px;
	padding: 0 16px 16px;
	border: 0 !important;
}
.my2lk-wc-block ul.products li.product .product-buttons .button,
.woocommerce ul.products li.product .product-buttons .button,
.my2lk-wc-block ul.products li.product > .button,
.woocommerce ul.products li.product > .button {
	width: auto;
	margin: 0;
}
.my2lk-wc-block ul.products li.product .show_details_button,
.woocommerce ul.products li.product .show_details_button,
.my2lk-wc-block ul.products li.product .product-buttons a:not(.button),
.woocommerce ul.products li.product .product-buttons a:not(.button) {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	min-height: 24px;
	margin: 0;
	color: var(--my2lk-muted);
	font-size: 12px;
	font-weight: 650;
	text-decoration: none;
}

/* Give all WooCommerce customer pages the same MY2LK page width. */
.woocommerce-shop #main,
.tax-product_cat #main,
.single-product #main,
.woocommerce-cart #main,
.woocommerce-checkout #main,
.woocommerce-account #main {
	box-sizing: border-box;
	width: 100%;
	padding: 48px 20px 64px;
}
.woocommerce-shop #main > .fusion-row,
.tax-product_cat #main > .fusion-row,
.single-product #main > .fusion-row,
.woocommerce-cart #main > .fusion-row,
.woocommerce-checkout #main > .fusion-row,
.woocommerce-account #main > .fusion-row,
.woocommerce-shop #main .post-content,
.tax-product_cat #main .post-content,
.single-product #main .post-content,
.woocommerce-cart #main .post-content,
.woocommerce-checkout #main .post-content,
.woocommerce-account #main .post-content {
	box-sizing: border-box;
	width: min(1180px, 100%);
	max-width: 1180px;
	margin-inline: auto;
}

/* WooCommerce Blocks cart / checkout containment. */
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-cart .wc-block-cart,
.woocommerce-checkout .wp-block-woocommerce-checkout,
.woocommerce-checkout .wc-block-checkout {
	box-sizing: border-box;
	width: 100%;
	max-width: 1180px;
	margin-inline: auto;
}
.woocommerce-cart .wc-block-cart__main,
.woocommerce-cart .wc-block-cart__sidebar,
.woocommerce-checkout .wc-block-checkout__main,
.woocommerce-checkout .wc-block-checkout__sidebar,
.woocommerce-checkout .wc-block-components-sidebar,
.woocommerce-checkout .wc-block-components-main {
	min-width: 0;
}
.woocommerce-cart .wc-block-cart__main {
	padding-right: clamp(20px, 4vw, 48px);
}
.woocommerce-cart .wc-block-cart__sidebar,
.woocommerce-checkout .wc-block-checkout__sidebar,
.woocommerce-checkout .wc-block-components-sidebar {
	box-sizing: border-box;
}

/* Prevent block controls, tables and long text from pushing the viewport. */
.woocommerce-cart #main *,
.woocommerce-checkout #main * {
	box-sizing: border-box;
}
.woocommerce-cart .wc-block-components-product-name,
.woocommerce-checkout .wc-block-components-product-name,
.woocommerce-cart .wc-block-components-product-metadata,
.woocommerce-checkout .wc-block-components-product-metadata,
.woocommerce-cart .wc-block-cart-item__product,
.woocommerce-checkout .wc-block-components-order-summary-item__description {
	min-width: 0;
	overflow-wrap: anywhere;
}
.woocommerce-cart .wc-block-cart table,
.woocommerce-checkout .wc-block-checkout table {
	max-width: 100%;
}

/* Empty-cart state: compact, centered and contained. */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block,
.woocommerce-cart .wc-block-cart__empty-cart {
	box-sizing: border-box;
	width: min(1180px, 100%);
	margin: 0 auto;
	padding: 56px 20px 20px;
	text-align: center;
}
.woocommerce-cart .wc-block-cart__empty-cart__title,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2:first-of-type {
	margin-top: 0;
	font-size: clamp(30px, 4vw, 46px);
	line-height: 1.15;
}
.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .with-empty-cart-icon::before {
	width: 72px !important;
	height: 72px !important;
	margin: 0 auto 26px !important;
	background-size: contain !important;
}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-heading,
.woocommerce-cart .wc-block-grid__products {
	max-width: 1180px;
	margin-inline: auto;
}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-heading:not(:first-child) {
	margin-top: 42px;
	font-size: clamp(24px, 3vw, 34px);
}
.woocommerce-cart .wc-block-grid__products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	padding: 0;
}
.woocommerce-cart .wc-block-grid__product {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	border: 1px solid var(--my2lk-line);
	border-radius: 16px;
	overflow: hidden;
	background: #fff;
}
.woocommerce-cart .wc-block-grid__product-image img {
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: #f7faf8;
}

@media (max-width: 980px) {
	.my2lk-section--categories .my2lk-wc-block ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.woocommerce-shop #main,
	.tax-product_cat #main,
	.single-product #main,
	.woocommerce-cart #main,
	.woocommerce-checkout #main,
	.woocommerce-account #main {
		padding: 36px 18px 52px;
	}
	.woocommerce-cart .wc-block-cart,
	.woocommerce-checkout .wc-block-checkout {
		gap: 28px;
	}
	.woocommerce-cart .wc-block-cart__main {
		padding-right: 0;
	}
	.woocommerce-cart .wc-block-grid__products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.my2lk-section--categories .my2lk-wc-block ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
	.my2lk-section--categories .woocommerce-loop-category__title,
	.my2lk-section--categories .product-category .product-title,
	.my2lk-section--categories .product-category h2 {
		padding: 12px 12px 14px !important;
		font-size: 15px !important;
	}
	.woocommerce-shop #main,
	.tax-product_cat #main,
	.single-product #main,
	.woocommerce-cart #main,
	.woocommerce-checkout #main,
	.woocommerce-account #main {
		padding: 28px 14px 44px;
	}
	.woocommerce-cart .wp-block-woocommerce-cart,
	.woocommerce-cart .wc-block-cart,
	.woocommerce-checkout .wp-block-woocommerce-checkout,
	.woocommerce-checkout .wc-block-checkout {
		width: 100%;
		max-width: 100%;
	}
	.woocommerce-cart .wc-block-cart__main,
	.woocommerce-cart .wc-block-cart__sidebar,
	.woocommerce-checkout .wc-block-checkout__main,
	.woocommerce-checkout .wc-block-checkout__sidebar,
	.woocommerce-checkout .wc-block-components-main,
	.woocommerce-checkout .wc-block-components-sidebar {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.woocommerce-cart .wp-block-woocommerce-empty-cart-block,
	.woocommerce-cart .wc-block-cart__empty-cart {
		padding: 36px 0 12px;
	}
	.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before,
	.woocommerce-cart .wp-block-woocommerce-empty-cart-block .with-empty-cart-icon::before {
		width: 56px !important;
		height: 56px !important;
		margin-bottom: 20px !important;
	}
	.woocommerce-cart .wc-block-grid__products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
}
