/**
 * WooCommerce classic templates and WooCommerce Blocks.
 * Visual selectors only: no functional elements are hidden or replaced.
 */

body.ilg-active.woocommerce :where(.woocommerce-breadcrumb, .woocommerce-result-count, .product_meta, .woocommerce-product-details__short-description),
body.ilg-active.woocommerce-page :where(.woocommerce-breadcrumb, .woocommerce-result-count, .product_meta, .woocommerce-product-details__short-description) {
	color: var(--ilg-muted) !important;
}

body.ilg-active.woocommerce :where(.woocommerce-breadcrumb a, .product_meta a),
body.ilg-active.woocommerce-page :where(.woocommerce-breadcrumb a, .product_meta a) {
	color: var(--ilg-white) !important;
}

body.ilg-active.woocommerce :where(.woocommerce-breadcrumb a, .product_meta a):hover,
body.ilg-active.woocommerce-page :where(.woocommerce-breadcrumb a, .product_meta a):hover {
	color: var(--ilg-orange-light) !important;
}

/* Shop, category and product-search controls. */
body.ilg-active:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .search-results) .site-content > .ast-container {
	display: block;
	width: min(calc(100% - var(--ilg-gutter-mobile) - var(--ilg-gutter-mobile)), var(--ilg-container));
	max-width: var(--ilg-container);
	padding-inline: 0;
}

body.ilg-active:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .search-results) :where(.woocommerce-products-header, .ast-archive-description) {
	margin-bottom: var(--ilg-space-6);
	padding: clamp(18px, 3vw, 32px);
	border: 1px solid var(--ilg-border-orange);
	border-radius: var(--ilg-radius-lg);
	background: linear-gradient(145deg, var(--ilg-panel), #080808);
	box-shadow: var(--ilg-shadow-sm);
}

body.ilg-active :where(.il-shop-filters, .woocommerce-ordering, .woocommerce-result-count) {
	min-width: 0;
}

body.ilg-active .il-shop-filters {
	margin-bottom: var(--ilg-space-5);
	padding: var(--ilg-space-4);
	border: 1px solid var(--ilg-border-orange) !important;
	border-radius: var(--ilg-radius) !important;
	background: var(--ilg-panel) !important;
	box-shadow: var(--ilg-shadow-sm);
}

body.ilg-active :where(.il-shop-filters__row, .il-shop-filters__main) {
	display: flex;
	align-items: center;
	gap: var(--ilg-space-3);
	min-width: 0;
	flex-wrap: wrap;
}

body.ilg-active .il-shop-filter,
body.ilg-active .woocommerce-ordering select {
	min-height: 50px !important;
	border-color: var(--ilg-border-strong) !important;
	background-color: var(--ilg-panel-raised) !important;
	color: var(--ilg-white) !important;
}

body.ilg-active .woocommerce-ordering {
	margin-bottom: var(--ilg-space-5) !important;
}

/* Product loops: classic WooCommerce markup observed on Home/Shop/Search. */
body.ilg-active .woocommerce ul.products,
body.ilg-active.woocommerce ul.products,
body.ilg-active.woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(14px, 2vw, 24px) !important;
	margin: 0 !important;
}

body.ilg-active .woocommerce ul.products::before,
body.ilg-active .woocommerce ul.products::after {
	display: none !important;
}

body.ilg-active .woocommerce ul.products li.product,
body.ilg-active.woocommerce ul.products li.product,
body.ilg-active.woocommerce-page ul.products li.product {
	float: none !important;
	display: flex;
	flex-direction: column;
	width: 100% !important;
	min-width: 0;
	height: 100%;
	margin: 0 !important;
	padding: 10px 10px 16px !important;
	border: 1px solid var(--ilg-border-orange) !important;
	border-radius: var(--ilg-radius) !important;
	background: radial-gradient(circle at 100% 100%, rgba(255, 106, 0, 0.1), transparent 34%), linear-gradient(150deg, #1a1a1a, #090909) !important;
	box-shadow: var(--ilg-shadow-sm), inset 0 1px 0 rgba(255, 255, 255, 0.045) !important;
	overflow: hidden;
	transition: transform var(--ilg-transition), border-color var(--ilg-transition), box-shadow var(--ilg-transition);
}

body.ilg-active .woocommerce ul.products li.product:hover,
body.ilg-active.woocommerce ul.products li.product:hover,
body.ilg-active.woocommerce-page ul.products li.product:hover {
	border-color: var(--ilg-border-orange-active) !important;
	box-shadow: var(--ilg-shadow), 0 0 28px rgba(255, 90, 0, 0.07) !important;
	transform: translateY(-5px);
}

body.ilg-active .woocommerce ul.products li.product :where(a, .astra-shop-summary-wrap) {
	min-width: 0;
}

body.ilg-active .woocommerce ul.products li.product img {
	display: block;
	width: 100% !important;
	height: auto !important;
	margin: 0 0 var(--ilg-space-3) !important;
	border-radius: var(--ilg-radius-sm) !important;
	background: #f5f2ed;
}

body.ilg-active .woocommerce ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	min-height: 2.7em;
	margin: 4px 0 var(--ilg-space-2) !important;
	overflow: hidden;
	color: var(--ilg-white) !important;
	font-size: clamp(0.9rem, 1.25vw, 1.04rem) !important;
	font-weight: 750;
	line-height: 1.35;
	text-transform: none;
}

body.ilg-active .woocommerce :where(.price, p.price, span.price) {
	color: var(--ilg-orange-light) !important;
	font-weight: 850 !important;
}

body.ilg-active .woocommerce ul.products li.product :where(.button, .added_to_cart) {
	width: 100%;
	margin-top: auto !important;
}

body.ilg-active .woocommerce :where(.star-rating, .comment-form-rating .stars a) {
	color: var(--ilg-orange-light) !important;
}

body.ilg-active .woocommerce span.onsale {
	min-width: 54px;
	min-height: 32px;
	padding: 6px 10px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: var(--ilg-radius-pill);
	background: var(--ilg-orange) !important;
	color: var(--ilg-white) !important;
	font-weight: 850;
	line-height: 1.15;
}

body.ilg-active .woocommerce nav.woocommerce-pagination ul {
	display: flex;
	gap: 8px;
	border: 0;
}

body.ilg-active .woocommerce nav.woocommerce-pagination ul li {
	border: 0;
}

body.ilg-active .woocommerce nav.woocommerce-pagination ul li :where(a, span) {
	display: grid;
	place-items: center;
	min-width: 42px;
	min-height: 42px;
	border: 1px solid var(--ilg-border-strong);
	border-radius: var(--ilg-radius-sm);
	background: var(--ilg-panel);
	color: var(--ilg-white);
}

body.ilg-active .woocommerce nav.woocommerce-pagination ul li span.current {
	border-color: var(--ilg-orange);
	background: var(--ilg-orange);
	color: var(--ilg-white);
}

/* Single product: keep gallery, zoom, forms and hooks intact. */
body.ilg-active.single-product .site-content > .ast-container {
	display: block;
	width: min(calc(100% - var(--ilg-gutter-mobile) - var(--ilg-gutter-mobile)), var(--ilg-container));
	max-width: var(--ilg-container);
	padding-inline: 0;
}

body.ilg-active.single-product div.product {
	min-width: 0;
}

body.ilg-active.single-product div.product :where(
	.woocommerce-product-gallery,
	.summary,
	.woocommerce-tabs,
	.related.products,
	.up-sells
) {
	min-width: 0;
	padding: clamp(16px, 2.4vw, 28px);
	border: 1px solid var(--ilg-border-orange) !important;
	border-radius: var(--ilg-radius-lg) !important;
	background: radial-gradient(circle at 92% 5%, rgba(255, 106, 0, 0.07), transparent 28%), var(--ilg-panel) !important;
	box-shadow: var(--ilg-shadow);
}

body.ilg-active.single-product .woocommerce-product-gallery img {
	border-radius: var(--ilg-radius) !important;
}

body.ilg-active.single-product .product_title {
	color: var(--ilg-white) !important;
	font-size: clamp(1.6rem, 3vw, 2.6rem) !important;
	line-height: 1.1;
}

body.ilg-active.single-product table.variations,
body.ilg-active.single-product table.variations :where(tbody, tr, th, td) {
	border: 0 !important;
	background: transparent !important;
}

body.ilg-active.single-product :where(.quantity, form.cart, form.variations_form) {
	max-width: 100%;
}

body.ilg-active.single-product .woocommerce-tabs ul.tabs {
	border-color: var(--ilg-border) !important;
}

body.ilg-active.single-product .woocommerce-tabs ul.tabs li {
	border-color: var(--ilg-border) !important;
	background: var(--ilg-panel-raised) !important;
}

body.ilg-active.single-product .woocommerce-tabs ul.tabs li.active a {
	color: var(--ilg-orange-light) !important;
}

body.ilg-active.single-product :where(.il-guide-trigger, .il-pers-toggle) {
	border-color: var(--ilg-border-orange-active) !important;
	background: var(--ilg-panel-raised) !important;
	color: var(--ilg-white) !important;
}

body.ilg-active.single-product :where(.il-guide-modal__panel, .il-guide-table-panel, .il-pers-wrap) {
	border-color: var(--ilg-border-orange) !important;
	background: var(--ilg-panel) !important;
	color: var(--ilg-white) !important;
}

/* Notices and validation messages. */
body.ilg-active .woocommerce :where(.woocommerce-message, .woocommerce-info, .woocommerce-error),
body.ilg-active :where(.wc-block-components-notice-banner, .wc-block-store-notice) {
	margin-bottom: var(--ilg-space-5);
	padding: 16px 18px;
	border: 1px solid var(--ilg-border-orange) !important;
	border-radius: var(--ilg-radius-sm) !important;
	background: var(--ilg-panel-raised) !important;
	color: var(--ilg-white) !important;
}

body.ilg-active .woocommerce :where(.woocommerce-message, .woocommerce-info)::before {
	color: var(--ilg-orange-light) !important;
}

/* Classic cart and checkout shells. */
body.ilg-active:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .site-content > .ast-container {
	display: block;
	width: min(calc(100% - var(--ilg-gutter-mobile) - var(--ilg-gutter-mobile)), var(--ilg-container));
	max-width: var(--ilg-container);
	padding-inline: 0;
}

body.ilg-active:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) :where(.entry-header, .entry-content) {
	max-width: 100%;
}

body.ilg-active:is(.woocommerce-cart, .woocommerce-checkout) :where(
	.woocommerce-checkout-review-order,
	.woocommerce-billing-fields,
	.woocommerce-shipping-fields,
	.woocommerce-additional-fields,
	.woocommerce-form-coupon,
	.woocommerce-form-login,
	#payment
) {
	padding: clamp(16px, 2.5vw, 28px);
	border: 1px solid var(--ilg-border-orange) !important;
	border-radius: var(--ilg-radius) !important;
	background: radial-gradient(circle at 100% 100%, rgba(255, 106, 0, 0.08), transparent 34%), var(--ilg-panel) !important;
	box-shadow: var(--ilg-shadow-sm);
}

body.ilg-active:not(.woocommerce-cart) .woocommerce table.shop_table {
	width: 100%;
	max-width: 100%;
	border-color: var(--ilg-border) !important;
	border-radius: var(--ilg-radius-sm) !important;
	background: transparent !important;
	color: var(--ilg-white) !important;
}

body.ilg-active:not(.woocommerce-cart) .woocommerce table.shop_table :where(th, td) {
	border-color: var(--ilg-border) !important;
	background: transparent !important;
	color: var(--ilg-white) !important;
}

body.ilg-active:not(.woocommerce-cart) .woocommerce table.shop_table .order-total .amount,
body.ilg-active .woocommerce .cart_totals .order-total .amount {
	color: var(--ilg-orange-light) !important;
	font-size: 1.15em;
	font-weight: 900;
}

body.ilg-active.woocommerce-cart .cart_totals h2,
body.ilg-active.woocommerce-checkout #order_review_heading {
	margin-top: 0 !important;
	background: transparent !important;
	color: var(--ilg-white) !important;
}

body.ilg-active.woocommerce-checkout #payment,
body.ilg-active.woocommerce-checkout #payment ul.payment_methods,
body.ilg-active.woocommerce-checkout #payment div.payment_box {
	border-color: var(--ilg-border) !important;
	background: var(--ilg-panel-raised) !important;
	color: var(--ilg-white) !important;
}

body.ilg-active.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--ilg-panel-raised) !important;
}

body.ilg-active:is(.woocommerce-cart, .woocommerce-checkout) :where(.checkout-button, #place_order) {
	min-height: 58px;
	border-radius: var(--ilg-radius) !important;
}

/* WooCommerce Blocks cart/checkout. */
body.ilg-active :where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) {
	width: min(100%, var(--ilg-container));
	margin-inline: auto;
	color: var(--ilg-white);
}

body.ilg-active :where(
	.wc-block-cart__main,
	.wc-block-cart__sidebar,
	.wc-block-checkout__main,
	.wc-block-checkout__sidebar,
	.wc-block-components-sidebar,
	.wc-block-components-order-summary,
	.wc-block-components-totals-wrapper,
	.wc-block-components-panel,
	.wc-block-components-checkout-step
) {
	min-width: 0;
	border-color: var(--ilg-border) !important;
	background-color: transparent !important;
	color: var(--ilg-white) !important;
}

body.ilg-active :where(.wc-block-cart__sidebar, .wc-block-checkout__sidebar, .wc-block-components-sidebar) {
	padding: clamp(16px, 2.5vw, 28px) !important;
	border: 1px solid var(--ilg-border-orange) !important;
	border-radius: var(--ilg-radius) !important;
	background: radial-gradient(circle at 100% 100%, rgba(255, 106, 0, 0.08), transparent 34%), var(--ilg-panel) !important;
	box-shadow: var(--ilg-shadow-sm);
}

body.ilg-active :where(
	.wc-block-components-title,
	.wc-block-components-totals-item__label,
	.wc-block-components-totals-item__value,
	.wc-block-components-order-summary-item__description,
	.wc-block-components-product-name,
	.wc-block-components-checkout-step__heading
) {
	color: var(--ilg-white) !important;
}

body.ilg-active :where(
	.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
	.wc-block-components-totals-item__value,
	.wc-block-components-product-price
) {
	color: var(--ilg-orange-light) !important;
}

body.ilg-active :where(
	.wc-block-cart__submit-button,
	.wc-block-components-checkout-place-order-button,
	.wc-block-components-button
) {
	min-height: 58px !important;
	border: 1px solid rgba(255, 139, 37, 0.48) !important;
	border-radius: var(--ilg-radius) !important;
	background: linear-gradient(105deg, var(--ilg-orange-light), var(--ilg-orange)) !important;
	color: var(--ilg-white) !important;
	font-weight: 850 !important;
	box-shadow: var(--ilg-shadow-orange) !important;
}

/* My Account — slim shell, preserving every native WooCommerce endpoint. */
body.ilg-active.woocommerce-account .entry-content {
	padding: 22px 0 52px !important;
}

body.ilg-active.woocommerce-account .woocommerce {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 14px !important;
	align-items: start;
}

body.ilg-active.woocommerce-account :where(
	.il-account-hero,
	.il-login-hero,
	.woocommerce-MyAccount-navigation,
	.woocommerce-MyAccount-content,
	form.login,
	form.register,
	form.lost_reset_password
) {
	min-width: 0;
	border: 1px solid var(--ilg-border-orange) !important;
	border-radius: 16px !important;
	background: var(--ilg-panel) !important;
	box-shadow: none !important;
}

body.ilg-active.woocommerce-account .il-account-hero,
body.ilg-active.woocommerce-account .il-login-hero {
	margin: 0 0 2px !important;
	padding: 20px 24px !important;
	background:
		radial-gradient(circle at 100% 50%, rgba(255, 106, 0, 0.13), transparent 28%),
		linear-gradient(115deg, var(--ilg-panel), var(--ilg-black)) !important;
}

body.ilg-active.woocommerce-account .il-account-hero::after,
body.ilg-active.woocommerce-account .il-login-hero::after {
	width: 190px;
	height: 190px;
	top: -95px;
	right: -60px;
	opacity: 0.55;
}

body.ilg-active.woocommerce-account :where(.il-account-hero, .il-login-hero) h1 {
	margin: 2px 0 0 !important;
	font-size: clamp(30px, 4vw, 44px) !important;
	line-height: 1 !important;
	letter-spacing: -0.04em !important;
}

body.ilg-active.woocommerce-account :where(.il-account-hero, .il-login-hero) p {
	max-width: 760px;
	margin: 8px 0 0 !important;
	font-size: 14px;
	line-height: 1.5;
}

body.ilg-active.woocommerce-account .il-account-trust {
	gap: 6px;
	margin-top: 13px;
}

body.ilg-active.woocommerce-account .il-account-trust span {
	padding: 6px 10px;
	border-color: var(--ilg-border) !important;
	background: rgba(255, 255, 255, 0.025) !important;
	font-size: 11px;
	font-weight: 750;
}

body.ilg-active.woocommerce-account .woocommerce-MyAccount-navigation {
	position: static !important;
	width: 100% !important;
	max-width: 100%;
	padding: 6px !important;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	scrollbar-width: thin;
}

body.ilg-active.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: flex !important;
	flex-wrap: nowrap;
	gap: 5px;
	width: max-content;
	min-width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

body.ilg-active.woocommerce-account .woocommerce-MyAccount-navigation li {
	flex: 1 0 auto;
	margin: 0 !important;
	list-style: none;
}

body.ilg-active.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 8px 13px !important;
	border: 1px solid transparent !important;
	border-radius: 10px !important;
	background: transparent !important;
	color: var(--ilg-muted) !important;
	font-size: 12px !important;
	font-weight: 800;
	line-height: 1.15;
	text-align: center;
	white-space: nowrap;
}

body.ilg-active.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.ilg-active.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
body.ilg-active.woocommerce-account .woocommerce-MyAccount-navigation li a:focus-visible {
	border-color: var(--ilg-border-orange-active) !important;
	background: rgba(255, 106, 0, 0.11) !important;
	color: var(--ilg-orange-light) !important;
}

body.ilg-active.woocommerce-account .woocommerce-MyAccount-content {
	width: 100% !important;
	max-width: 100%;
	padding: 20px 22px !important;
	color: var(--ilg-text);
}

body.ilg-active.woocommerce-account .woocommerce-MyAccount-content > :first-child {
	margin-top: 0 !important;
}

body.ilg-active.woocommerce-account .woocommerce-MyAccount-content > :last-child {
	margin-bottom: 0 !important;
}

body.ilg-active.woocommerce-account .woocommerce-MyAccount-content p {
	margin-bottom: 8px;
	font-size: 14px;
	line-height: 1.6;
}

body.ilg-active.woocommerce-account .il-account-section-head {
	margin-bottom: 14px;
}

body.ilg-active.woocommerce-account .il-account-section-head h2 {
	font-size: clamp(22px, 3vw, 28px) !important;
}

body.ilg-active.woocommerce-account :where(
	input.input-text,
	input[type="email"],
	input[type="password"],
	input[type="text"],
	input[type="tel"],
	select,
	textarea,
	.select2-container--default .select2-selection--single
) {
	min-height: 44px !important;
	border-radius: 10px !important;
	padding: 10px 12px !important;
}

body.ilg-active.woocommerce-account :where(.woocommerce-button, button.button, input.button) {
	min-height: 42px;
	padding: 10px 15px !important;
	border-radius: 10px !important;
	font-size: 12px !important;
}

body.ilg-active.woocommerce-account :where(table.shop_table th, table.shop_table td) {
	padding: 11px 12px !important;
}

body.ilg-active.woocommerce-account .woocommerce-Address {
	padding: 16px !important;
	border-radius: 13px !important;
}

/* Empty cart uses the real WooCommerce message and button. */
body.ilg-active.woocommerce-cart .woocommerce:has(.cart-empty) {
	min-height: 46vh;
}

body.ilg-active.woocommerce-cart .cart-empty.woocommerce-info {
	text-align: center;
}

body.ilg-active.woocommerce-cart .return-to-shop {
	text-align: center;
}
