/**
 * WooCommerce overrides — forced to match Electric Sugar Co theme.
 */

/* ---------------------------------------------------------------------
 * Single product
 * ------------------------------------------------------------------- */
.woocommerce-single { padding: 2.5rem 0; }
@media (min-width: 768px) { .woocommerce-single { padding: 4rem 0; } }

.woocommerce-single .woocommerce-notices-wrapper { margin-bottom: 1.5rem; }

.esc-back-to-menu {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	margin-bottom: 1.5rem !important;
	font-family: var(--font-body) !important;
	font-size: 0.875rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	color: var(--color-secondary) !important;
	text-decoration: none !important;
}
.esc-back-to-menu:hover { color: var(--color-primary) !important; }

.woocommerce div.product { display: grid !important; gap: 2rem !important; grid-template-columns: 1fr !important; }
@media (min-width: 1024px) {
	.woocommerce div.product { grid-template-columns: 1fr 1fr !important; gap: 3rem !important; }
}
.woocommerce div.product .woocommerce-product-gallery { margin: 0 !important; grid-column: 1; }
.woocommerce div.product .summary.entry-summary,
.woocommerce div.product div.summary { grid-column: auto; min-width: 0 !important; }
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .product_meta,
.woocommerce div.product .woocommerce-product-rating,
.woocommerce-product-gallery__trigger,
.woocommerce div.product .zoomImg {
	display: none !important;
}
.woocommerce-related-products,
.woocommerce div.product .woocommerce-tabs {
	grid-column: 1 / -1 !important;
	width: 100% !important;
	max-width: none !important;
}

.woocommerce div.product .woocommerce-product-gallery__image img {
	border-radius: 1.75rem !important;
	border: 2px solid rgba(30, 20, 16, 0.15) !important;
}

.esc-product-category {
	font-family: var(--font-body) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.16em !important;
	color: var(--color-secondary) !important;
	margin: 0 0 0.5rem !important;
}

.woocommerce div.product .product_title {
	font-family: var(--font-condensed) !important;
	font-size: 2.25rem !important;
	line-height: 1.05 !important;
	color: var(--color-ink) !important;
	margin: 0 0 0.75rem !important;
}
@media (min-width: 640px) {
	.woocommerce div.product .product_title { font-size: 3rem !important; }
}

.woocommerce div.product .price,
.woocommerce div.product .price-badge--product {
	font-family: var(--font-condensed) !important;
	font-size: 1.25rem !important;
	line-height: 1.2 !important;
	color: var(--color-ink) !important;
	margin-bottom: 1rem !important;
}

.woocommerce div.product .price-badge--product {
	display: inline-flex !important;
	align-items: center !important;
	border-radius: 999px !important;
	background: var(--color-primary) !important;
	padding: 0.4rem 1rem !important;
	color: var(--color-cream) !important;
}
.woocommerce div.product .price-badge--product .woocommerce-Price-amount { color: var(--color-cream) !important; }

.woocommerce div.product .woocommerce-product-details__short-description {
	font-family: var(--font-display) !important;
	font-style: italic !important;
	font-size: 1.25rem !important;
	color: var(--color-primary) !important;
	margin-bottom: 1.25rem !important;
}

.woocommerce div.product form.cart {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: 0.75rem !important;
	margin: 0 0 1.5rem !important;
	padding: 1.25rem 1.5rem !important;
	border-radius: 1.5rem !important;
	border: 2px solid rgba(30, 20, 16, 0.15) !important;
	background: var(--color-card) !important;
}

.woocommerce div.product .quantity {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.25rem !important;
	width: 100% !important;
	order: 1 !important;
}

.woocommerce div.product .single_add_to_cart_button {
	order: 2 !important;
	width: 100% !important;
}
.woocommerce div.product .esc-buy-now-button {
	order: 3 !important;
	width: 100% !important;
}

@media (min-width: 768px) {
	.woocommerce div.product form.cart {
		flex-direction: row !important;
		flex-wrap: wrap !important;
		align-items: center !important;
	}
	.woocommerce div.product .quantity { width: auto !important; justify-content: flex-start !important; }
	.woocommerce div.product .single_add_to_cart_button,
	.woocommerce div.product .esc-buy-now-button {
		width: auto !important;
		flex: 1 1 auto !important;
	}
}

.woocommerce div.product .quantity .qty,
.woocommerce .quantity .qty {
	width: 3.5rem !important;
	height: 2.75rem !important;
	border-radius: 0.75rem !important;
	border: 2px solid rgba(30, 20, 16, 0.15) !important;
	background: var(--color-cream) !important;
	padding: 0 0.5rem !important;
	font-family: var(--font-body) !important;
	font-size: 1rem !important;
	text-align: center !important;
	color: var(--color-ink) !important;
	-moz-appearance: textfield !important;
}
.woocommerce div.product .quantity .qty::-webkit-outer-spin-button,
.woocommerce div.product .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

.esc-qty-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 2.75rem !important;
	height: 2.75rem !important;
	border-radius: 999px !important;
	border: 2px solid rgba(30, 20, 16, 0.15) !important;
	background: var(--color-cream) !important;
	font-family: var(--font-body) !important;
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	color: var(--color-ink) !important;
	cursor: pointer !important;
	padding: 0 !important;
}
.esc-qty-btn:hover { border-color: var(--color-primary) !important; color: var(--color-primary) !important; }

.woocommerce div.product .single_add_to_cart_button,
.woocommerce div.product button.button.alt,
.woocommerce #place_order,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 2.75rem !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--color-primary) !important;
	padding: 0.75rem 2rem !important;
	font-family: var(--font-body) !important;
	font-size: 0.875rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.14em !important;
	color: var(--color-cream) !important;
	cursor: pointer !important;
	text-decoration: none !important;
}
.woocommerce div.product .single_add_to_cart_button:hover,
.woocommerce div.product button.button.alt:hover,
.woocommerce #place_order:hover,
.woocommerce a.button.alt:hover {
	background: var(--color-orange) !important;
	color: var(--color-cream) !important;
}

.esc-buy-now-button {
	background: var(--color-secondary) !important;
}
.esc-buy-now-button:hover { background: var(--color-ink) !important; }

.esc-product-details { margin-top: 0.25rem !important; }
.esc-product-details__heading {
	font-family: var(--font-body) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.16em !important;
	color: rgba(30, 20, 16, 0.55) !important;
	margin: 0 0 0.75rem !important;
}
.esc-product-details__list {
	margin: 0 !important;
	padding: 0 0 0 1.1rem !important;
	font-family: var(--font-body) !important;
	font-size: 0.9375rem !important;
	line-height: 1.6 !important;
	color: rgba(30, 20, 16, 0.85) !important;
}
.esc-product-details__list li { margin: 0 0 0.4rem !important; }
.esc-product-details__list li::marker { color: var(--color-accent); }
.esc-product-details__allergens {
	margin: 1rem 0 0 !important;
	font-family: var(--font-body) !important;
	font-size: 0.875rem !important;
	color: rgba(30, 20, 16, 0.75) !important;
}
.esc-product-details__allergens-label { font-weight: 600 !important; color: var(--color-ink) !important; }

.woocommerce div.product table.variations {
	width: 100% !important;
	margin: 0 0 0.75rem !important;
	border-collapse: collapse !important;
}
.woocommerce div.product table.variations td,
.woocommerce div.product table.variations th {
	padding: 0.25rem 0 !important;
	border: 0 !important;
	vertical-align: middle !important;
}
.woocommerce div.product table.variations label {
	font-family: var(--font-body) !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	color: var(--color-ink) !important;
}
.woocommerce div.product table.variations select,
.woocommerce-checkout select,
.woocommerce form .form-row select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
	min-height: 2.75rem !important;
	width: 100% !important;
	border-radius: 0.75rem !important;
	border: 2px solid rgba(30, 20, 16, 0.15) !important;
	background: var(--color-cream) !important;
	padding: 0.65rem 1rem !important;
	font-family: var(--font-body) !important;
	font-size: 0.9375rem !important;
	color: var(--color-ink) !important;
	box-shadow: none !important;
}
.woocommerce div.product table.variations select { border-radius: 999px !important; }

.woocommerce-related-products { margin-top: 3.5rem !important; }
.woocommerce-related-products .related-heading {
	font-family: var(--font-condensed) !important;
	font-size: 1.75rem !important;
	color: var(--color-primary) !important;
	margin-bottom: 1.5rem !important;
}
.woocommerce-related-products .treat-grid {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 1.5rem !important;
	width: 100% !important;
}
@media (min-width: 640px) {
	.woocommerce-related-products .treat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (min-width: 1024px) {
	.woocommerce-related-products .treat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 2rem !important; }
}
.woocommerce-related-products .treat-grid__item {
	display: flex !important;
	min-width: 0 !important;
	width: 100% !important;
}
.woocommerce-related-products .treat-card { width: 100% !important; }

/* ---------------------------------------------------------------------
 * Checkout
 * ------------------------------------------------------------------- */
.woocommerce-checkout { padding: 2.5rem 0 4rem !important; }
.woocommerce-checkout .woocommerce { max-width: 80rem !important; margin: 0 auto !important; padding: 0 1.5rem !important; }

.esc-checkout-grid {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 2rem !important;
	align-items: start !important;
}
@media (min-width: 1024px) {
	.esc-checkout-grid { grid-template-columns: 1fr 1fr !important; }
	.esc-checkout-grid__col--details { order: 1 !important; }
	.esc-checkout-grid__col--order { order: 2 !important; }
}
.esc-checkout-grid__col { min-width: 0 !important; width: 100% !important; }

.woocommerce-checkout .col2-set,
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	display: block !important;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-checkout .woocommerce-billing-fields__wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__wrapper {
	margin-bottom: 1.5rem !important;
}

.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
	font-family: var(--font-condensed) !important;
	font-size: 1.5rem !important;
	color: var(--color-ink) !important;
	margin: 0 0 1rem !important;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout #order_review {
	border-radius: 1.5rem !important;
	border: 2px solid rgba(30, 20, 16, 0.15) !important;
	background: var(--color-card) !important;
	padding: 1.5rem !important;
}

.woocommerce-checkout .form-row label {
	font-family: var(--font-body) !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	color: var(--color-ink) !important;
	margin-bottom: 0.375rem !important;
}

.woocommerce-checkout-review-order-table {
	width: 100% !important;
	border-collapse: collapse !important;
	font-family: var(--font-body) !important;
	font-size: 0.9375rem !important;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 0.75rem 0 !important;
	border-top: 1px solid rgba(30, 20, 16, 0.1) !important;
}

/* Checkout-only layout fixes (do not affect home). */
body.woocommerce-checkout {
	display: flex !important;
	flex-direction: column !important;
	min-height: 100vh !important;
	min-height: 100dvh !important;
}
body.woocommerce-checkout.admin-bar {
	min-height: calc(100vh - 32px) !important;
	min-height: calc(100dvh - 32px) !important;
}
@media (max-width: 782px) {
	body.woocommerce-checkout.admin-bar {
		min-height: calc(100vh - 46px) !important;
		min-height: calc(100dvh - 46px) !important;
	}
}
body.woocommerce-checkout #main,
body.woocommerce-checkout main.woocommerce-page {
	flex: 1 0 auto !important;
}
body.woocommerce-checkout .site-footer {
	margin-top: auto !important;
	margin-bottom: 0 !important;
}

/* Checkout: announcement bar stays in document flow (same as home). */
body.woocommerce-checkout .announcement-bar {
	position: relative !important;
	top: auto !important;
}

/* Mobile + tablet: one order summary at the bottom only. */
@media (max-width: 1023px) {
	.esc-checkout-grid {
		display: flex !important;
		flex-direction: column !important;
	}
	.esc-checkout-grid__col--details { order: 1 !important; }
	.esc-checkout-grid__col--order { order: 2 !important; }

	/* Classic: drop any extra order-review columns beyond the first. */
	body.woocommerce-checkout .esc-checkout-grid__col--order ~ .esc-checkout-grid__col--order {
		display: none !important;
	}

	/* Classic checkout: hide duplicate order review inside billing column. */
	body.woocommerce-checkout .esc-checkout-grid__col--details #order_review,
	body.woocommerce-checkout .esc-checkout-grid__col--details #order_review_heading,
	body.woocommerce-checkout .esc-checkout-grid__col--details .woocommerce-checkout-review-order {
		display: none !important;
	}

	/* Block checkout: hide in-form mobile summary; keep sidebar as the only one. */
	body.woocommerce-checkout .wc-block-checkout {
		display: flex !important;
		flex-direction: column !important;
	}
	body.woocommerce-checkout .wc-block-checkout__main { order: 1 !important; }
	body.woocommerce-checkout .wc-block-checkout__sidebar {
		order: 2 !important;
		display: block !important;
	}
	body.woocommerce-checkout .wc-block-checkout__main .wp-block-woocommerce-checkout-order-summary-block,
	body.woocommerce-checkout .wc-block-checkout__main .wc-block-components-order-summary,
	body.woocommerce-checkout .wc-block-checkout-order-summary-block,
	body.woocommerce-checkout .wc-block-checkout__order-summary--mobile {
		display: none !important;
	}
}

/* Hide shipping method UI; keep markup so WooCommerce checkout still submits. */
body.woocommerce-checkout .woocommerce-shipping-totals,
body.woocommerce-checkout tr.woocommerce-shipping-totals,
body.woocommerce-checkout tr.shipping,
body.woocommerce-checkout ul#shipping_method,
body.woocommerce-checkout .woocommerce-shipping-methods,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.shipping,
body.woocommerce-checkout #order_review .shipping,
body.woocommerce-checkout .wc-block-components-totals-shipping,
body.woocommerce-checkout .wc-block-components-shipping-rates-control,
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package,
body.woocommerce-checkout .wc-block-components-radio-control--shipping-option,
body.woocommerce-checkout [data-block-name="woocommerce/checkout-shipping-methods-block"],
body.woocommerce-checkout .wc-block-checkout__shipping-option,
body.woocommerce-checkout #shipping_method_0_free_shipping,
body.woocommerce-checkout .shipping ul {
	display: none !important;
}
