/* WooCommerce styles
--------------------------------------------- */

/* CSS Cascade Layers - Allows overriding WooCommerce !important styles
   while still allowing editor customization via inline styles */
@layer woocommerce-default, theme-overrides;

:root {
	--ilnatural-header-height: 80px;
}

@media (min-width: 1025px) {
	:root {
		--ilnatural-header-height: 88px;
	}
}

/* ============================================
   Product Forms & Add to Cart
   ============================================ */

/* Variation selectors */
.woocommerce div.product form.cart .variations select {
	background-color: #fff;
	height: auto;
	padding: .5em 2em .5em 1em;
}

.woocommerce div.product form.cart .variations label {
	margin: 0;
}

/* Quantity selector */
.woocommerce .quantity .qty {
	margin: 0;
	border-radius: 5px;
	padding: .6em;
	width: 3.2em;
}

.wp-block-woocommerce-add-to-cart-form .variations_button>.quantity:not(.wc-block-components-quantity-selector) .qty {
	height: auto;
	padding: .6em;
	width: 4em;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button,
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled {
	opacity: 1;
	border-radius: 5px;
	width: 42px;
	transition: .2s ease;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover {
	background: var(--wp--preset--color--tertiary);
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus {
	outline: solid 2px var(--wp--preset--color--main);
	box-shadow: none;
	outline-offset: -2px;
}

.wc-block-components-quantity-selector:after {
	display: none;
}

div[data-block-name="woocommerce/add-to-cart-with-options"] .wc-block-components-quantity-selector {
	transform: none;
}

.wc-block-components-quantity-selector,
div[data-block-name="woocommerce/add-to-cart-with-options-grouped-product-selector"] .wc-block-components-quantity-selector {
	transform: scale(.8);
	transform-origin: left;
	width: auto;
	gap: 5px;
	margin: 0 !important;
	border: none;
}


.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	min-width: 55px;
	max-width: 55px;
	padding: .5em;
}

.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input:focus {
	box-shadow: inset 0 0 0px 1px currentColor;
	border-color: currentColor;
}

/* Variation pills */
.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pills label {
	width: auto;
	background-color: var(--wp--preset--color--tertiary);
	border: none;
	padding: 8px 15px;
	font-size: var(--wp--preset--font-size--small);
	border-radius: 5px;
	margin-bottom: 0;
	transition: .1s ease;
}

.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill:has(.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill-input:checked),
:where(.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill):where(:focus-within) {
	--pill-color: var(--wp--preset--color--main);
	--pill-background-color: var(--wp--preset--color--main);
	background-color: var(--wp--preset--color--tertiary);
	color: var(--wp--preset--color--contrast);
	outline: solid 2px var(--wp--preset--color--main);
	outline-offset: 0;
}

:where(.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill):where(:focus-within:has(.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill-input:checked)) {
	outline-color: transparent;
}

.wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-options {
	width: 100%;
}

.wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-options select {
	min-width: 50%;
}

.wp-block-woocommerce-add-to-cart-with-options-variation-selector,
.block-editor-block-list__block.wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute {
	gap: var(--wp--preset--spacing--small);
	display: flex;
	flex-direction: column;
}

label.wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-name {
	margin: 0;
}

/* Add to cart button */
.wp-block-add-to-cart-with-options .wc-block-components-product-button {
	flex: 1;
	max-width: 300px;
}

.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button {
	width: 100%;
}

.wp-block-group-is-layout-flex:has(.wc-block-components-product-button) {
	gap: 15px;
}

/* ============================================
   Product Gallery
   ============================================ */

.wc-block-product-gallery-large-image__container {
	padding: 0;
}

.wc-block-product-gallery-thumbnails__thumbnail img {
	border-radius: 5px;
}

.wp-block-woocommerce-product-gallery {
	gap: var(--wp--preset--spacing--small);
}

.wc-block-product-gallery-large-image__container img,
.wc-block-product-gallery-large-image img {
	width: 100%;
	height: auto;
	max-height: min(72vh, 640px);
	object-fit: contain;
	display: block;
	margin-inline: auto;
}

/* Gallery lightbox / dialog — below sticky header, above site chrome */
dialog.wc-block-product-gallery-dialog,
.wc-block-product-gallery-dialog {
	background: rgb(253 252 248 / 96%);
	border: none;
	border-radius: 14px;
	padding: 1rem;
	max-width: min(94vw, 780px);
	max-height: calc(100dvh - var(--ilnatural-header-height, 80px) - 2rem);
	margin-top: calc(var(--ilnatural-header-height, 80px) + 1rem) !important;
	margin-bottom: auto;
	overflow-y: auto;
	z-index: 100010 !important;
}

dialog.wc-block-product-gallery-dialog::backdrop,
.wc-block-product-gallery-dialog::backdrop {
	background: rgb(26 28 26 / 72%);
	z-index: 100009 !important;
}

.wc-block-product-gallery-dialog__image,
.wc-block-product-gallery-dialog img {
	max-width: min(90vw, 720px) !important;
	max-height: 85vh !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
	margin: 0 auto;
	display: block;
}

/* Single product — purchase stack */
body.single-product .wp-block-columns.is-stacked-on-mobile > .wp-block-column,
body.il-wc-product .wp-block-columns.is-stacked-on-mobile > .wp-block-column {
	min-width: 0;
}

body.single-product main .wp-block-columns.is-stacked-on-mobile,
body.il-wc-product main .wp-block-columns.is-stacked-on-mobile {
	width: 100%;
}

@media (min-width: 782px) {
	body.single-product main .wp-block-columns.is-stacked-on-mobile,
	body.il-wc-product main .wp-block-columns.is-stacked-on-mobile {
		display: grid !important;
		grid-template-columns: minmax(0, 42%) minmax(0, 1fr);
		align-items: start;
		gap: var(--wp--preset--spacing--large);
	}

	body.single-product main .wp-block-columns.is-stacked-on-mobile > .wp-block-column:first-child,
	body.il-wc-product main .wp-block-columns.is-stacked-on-mobile > .wp-block-column:first-child {
		grid-column: 1;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;
	}

	body.single-product main .wp-block-columns.is-stacked-on-mobile > .wp-block-column:last-child,
	body.il-wc-product main .wp-block-columns.is-stacked-on-mobile > .wp-block-column:last-child {
		grid-column: 2;
		display: flex;
		flex-direction: column;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;
	}
}

@media (max-width: 781px) {
	body.single-product main .wp-block-columns.is-stacked-on-mobile,
	body.il-wc-product main .wp-block-columns.is-stacked-on-mobile {
		display: flex !important;
		flex-direction: column !important;
		gap: var(--wp--preset--spacing--medium, 1.25rem);
	}

	body.single-product main .wp-block-columns.is-stacked-on-mobile > .wp-block-column,
	body.il-wc-product main .wp-block-columns.is-stacked-on-mobile > .wp-block-column {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;
		flex-basis: 100% !important;
	}

	body.single-product main .alignwide.is-stacked-on-mobile,
	body.il-wc-product main .alignwide.is-stacked-on-mobile {
		padding-inline: var(--wp--preset--spacing--small, 1rem);
		box-sizing: border-box;
	}
}

/* Never apply product-column grid to the sticky header row */
body.single-product header .wp-block-columns,
body.il-wc-product header .wp-block-columns {
	display: flex !important;
	grid-template-columns: unset !important;
}

/* Catalog grids: single full-res src, no lazy blur */
.ilnatural-sharp-catalog-img {
	filter: none !important;
	image-rendering: auto;
}

.ilnatural-single-product-add-to-cart,
.ilnatural-atc-layout-fix,
body.single-product .wp-block-add-to-cart-with-options,
body.il-wc-product .wp-block-add-to-cart-with-options {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	bottom: auto !important;
	inset: auto !important;
	z-index: 1 !important;
	transform: none !important;
	width: 100% !important;
	max-width: 100% !important;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-top: 0;
}

body.single-product .wp-block-add-to-cart-with-options .wp-block-group-is-layout-flex:has(.wc-block-components-product-button),
body.il-wc-product .wp-block-add-to-cart-with-options .wp-block-group-is-layout-flex:has(.wc-block-components-product-button) {
	flex-direction: column !important;
	align-items: stretch !important;
	width: 100% !important;
}

body.single-product .wp-block-add-to-cart-with-options .wp-block-woocommerce-add-to-cart-with-options-variation-selector,
body.il-wc-product .wp-block-add-to-cart-with-options .wp-block-woocommerce-add-to-cart-with-options-variation-selector {
	width: 100% !important;
}

body.single-product .wp-block-add-to-cart-with-options .wc-block-add-to-cart-with-options-variation-selector-attribute-options__pills,
body.il-wc-product .wp-block-add-to-cart-with-options .wc-block-add-to-cart-with-options-variation-selector-attribute-options__pills {
	flex-wrap: wrap !important;
}

body.single-product .wp-block-add-to-cart-with-options .wc-block-components-quantity-selector,
body.il-wc-product .wp-block-add-to-cart-with-options .wc-block-components-quantity-selector,
body.single-product .ilnatural-atc-layout-fix .wc-block-components-quantity-selector,
body.il-wc-product .ilnatural-atc-layout-fix .wc-block-components-quantity-selector {
	transform: none !important;
	margin: 0 !important;
}

body.single-product .wp-block-column:last-child > .wp-block-group,
body.il-wc-product .wp-block-column:last-child > .wp-block-group {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
}

body.single-product .ilnatural-product-purchase-stack,
body.il-wc-product .ilnatural-product-purchase-stack,
body.single-product .wp-block-column:last-child > .wp-block-group,
body.il-wc-product .wp-block-column:last-child > .wp-block-group {
	gap: 0.65rem;
	width: 100%;
}

body.single-product .ilnatural-product-details,
body.il-wc-product .ilnatural-product-details,
body.single-product .wp-block-column:last-child .wp-block-group:has(.wp-block-post-title),
body.il-wc-product .wp-block-column:last-child .wp-block-group:has(.wp-block-post-title) {
	order: 1;
}

body.single-product .ilnatural-single-product-add-to-cart,
body.il-wc-product .ilnatural-single-product-add-to-cart,
body.single-product .wp-block-column:last-child .wp-block-group:has(.wp-block-add-to-cart-with-options),
body.il-wc-product .wp-block-column:last-child .wp-block-group:has(.wp-block-add-to-cart-with-options) {
	order: 2;
}

body.single-product .ilnatural-product-meta-badges,
body.il-wc-product .ilnatural-product-meta-badges,
body.single-product .wp-block-column:last-child .wp-block-group:has(.product-meta-row),
body.il-wc-product .wp-block-column:last-child .wp-block-group:has(.product-meta-row) {
	order: 3;
	margin-top: 0.35rem;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
}

body.single-product .ilnatural-product-meta-badges .product-meta-row,
body.il-wc-product .ilnatural-product-meta-badges .product-meta-row {
	margin-inline-start: 0;
}

body.single-product .wp-block-add-to-cart-with-options .wc-block-components-product-button:not(.ilnatural-purchase-toolbar *),
body.il-wc-product .wp-block-add-to-cart-with-options .wc-block-components-product-button:not(.ilnatural-purchase-toolbar *) {
	flex: none !important;
	max-width: 100% !important;
	width: 100% !important;
}

.ilnatural-atc-actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
	width: 100%;
	max-width: 28rem;
}

.ilnatural-purchase-toolbar {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 0.75rem;
	width: 100%;
}

.ilnatural-purchase-toolbar .wc-block-components-quantity-selector {
	display: inline-flex;
	align-items: center;
	flex-wrap: nowrap;
	width: max-content;
	max-width: none;
	transform: none;
	overflow: visible;
	gap: 0.25rem;
}

.ilnatural-purchase-toolbar .wc-block-components-quantity-selector__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.625rem;
	min-width: 2.625rem;
	flex-shrink: 0;
}

.ilnatural-purchase-toolbar .wc-block-components-product-button,
.ilnatural-purchase-toolbar .wp-block-woocommerce-product-button {
	min-width: 0;
	width: 100%;
	max-width: none;
}

.ilnatural-purchase-toolbar .wc-block-components-product-button__button,
.ilnatural-purchase-toolbar .wp-block-button__link {
	width: 100%;
	white-space: nowrap;
	min-height: 2.85rem;
}

/* ============================================
   Product Page Layout
   ============================================ */

.woocommerce div.product {
	margin: 0;
}

.woocommerce .woocommerce-breadcrumb {
	margin: 0;
}

/* Breadcrumb bar pattern (ilnatural/woo-breadcrumb-bar) */
.ilnatural-woo-breadcrumb-bar {
	box-sizing: border-box;
	padding-top: var(--wp--preset--spacing--medium, 1.5rem) !important;
	padding-bottom: var(--wp--preset--spacing--small, 1rem) !important;
}

header.site-header + .ilnatural-woo-breadcrumb-bar,
.wp-site-blocks > .wp-block-template-part.site-header + .ilnatural-woo-breadcrumb-bar {
	padding-top: var(--wp--preset--spacing--medium, 1.5rem) !important;
}

.ilnatural-woo-breadcrumb-bar .woocommerce-breadcrumb {
	font-size: var(--wp--preset--font-size--x-small, 0.75rem);
	letter-spacing: 0.02em;
	line-height: 1.5;
	color: var(--wp--preset--color--primary, #1b4332);
	font-weight: 600;
}

.ilnatural-woo-breadcrumb-bar .woocommerce-breadcrumb a {
	color: var(--wp--preset--color--primary, #1b4332);
	text-decoration: none;
	font-weight: 600;
	transition: color 0.15s ease;
}

.ilnatural-woo-breadcrumb-bar .woocommerce-breadcrumb a:hover {
	color: var(--wp--preset--color--accent-green, #4a5d4e);
}

.ilnatural-woo-breadcrumb-bar .wp-block-query-title {
	margin: 0;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.ilnatural-woo-breadcrumb-bar--minimal {
	max-width: var(--wp--style--global--content-size, 1140px);
	margin-left: auto;
	margin-right: auto;
	padding-bottom: var(--wp--preset--spacing--2xs, 0.5rem);
}

body.single-product main.wp-block-group {
	padding-top: var(--wp--custom--product-breadcrumb-title-gap, clamp(1rem, 2vw, 1.75rem)) !important;
}

/* Shop archive results toolbar */
.ilnatural-woo-toolbar {
	align-items: center;
	width: 100%;
	box-sizing: border-box;
}

.ilnatural-woo-toolbar .woocommerce-result-count,
.ilnatural-woo-toolbar .woocommerce-ordering {
	margin: 0;
}

.woocommerce .wc-block-components-product-price bdi {
	font-weight: normal;
}

.wp-block-post-terms a:hover {
	text-decoration: underline;
}

/* Stock indicator */
.wp-block-woocommerce-product-stock-indicator:empty {
	display: none;
}

.product-meta-row:has(.wp-block-woocommerce-product-stock-indicator:empty) .wp-block-outermost-icon-block {
	display: none;
}

.product-meta-row:has(.wp-block-woocommerce-product-stock-indicator:not(:empty)) .wp-block-outermost-icon-block {
	color: #c0392b !important;
}

.product-meta-row:has(.wp-block-woocommerce-product-stock-indicator:not(:empty)) .wp-block-outermost-icon-block .icon-container {
	color: #c0392b !important;
}

.product-meta-row .wp-block-woocommerce-product-stock-indicator {
	color: #c0392b;
	font-weight: 600;
}

.single-product .wp-block-group:has(.product-meta-row) {
	gap: var(--wp--preset--spacing--medium);
	flex-wrap: wrap;
}

.single-product .product-meta-row {
	margin-inline-start: 0;
}

.single-product .wp-block-woocommerce-store-notices:empty {
	display: none;
	margin: 0 !important;
	padding: 0 !important;
}

/* Hide .wp-block-outermost-icon-block if it does not have a sibling */
.product-meta-row .wp-block-outermost-icon-block:only-child {
	display: none;
}

.wp-block-woocommerce-add-to-cart-with-options-grouped-product-selector {
	font-size: var(--wp--preset--font-size--small);
	margin-bottom: var(--wp--preset--spacing--medium);
	background: var(--wp--preset--color--base);
	border-radius: 5px;
	padding: var(--wp--preset--spacing--medium);
	border: solid 1px var(--wp--preset--color--border-light);
}

.wp-block-woocommerce-add-to-cart-with-options-grouped-product-selector .wp-element-button {
	font-size: var(--wp--preset--font-size--x-small);
	text-align: center;
}

.wp-block-woocommerce-add-to-cart-with-options-grouped-product-item > .wp-block-group {
	border-bottom: solid 1px var(--wp--preset--color--border-light);
	padding-bottom: 10px;
	padding-top: 10px;
	margin: 0 !important;
}

.wp-block-woocommerce-add-to-cart-with-options-grouped-product-item:first-child > .wp-block-group {
	padding-top: 0;
}

.wp-block-woocommerce-add-to-cart-with-options-grouped-product-item:last-child > .wp-block-group {
	border-bottom: none;
	padding-bottom: 0;
}

.wp-block-post-terms__prefix {
	font-weight: 600;
}

.single-product .wp-block-post-excerpt__excerpt {
	max-width: 525px;
}

/* ============================================
   Product Details & Tabs
   ============================================ */

.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce table.shop_attributes {
	margin: 0;
}

.woocommerce div.product .woocommerce-tabs .panel p:last-of-type {
	margin-bottom: 0;
}

.html body .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs li {
	border: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-weight: 500;
	font-size: var(--wp--preset--font-size--small);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: var(--wp--preset--color--main) !important;
	color: var(--wp--preset--color--base) !important;
	border-radius: 5px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:hover {
	border: none !important;
}

.woocommerce-Tabs-panel h2 {
	font-size: var(--wp--preset--font-size--medium);
	margin: var(--wp--preset--spacing--medium) 0;
}

.wp-block-woocommerce-product-reviews-title {
	font-size: var(--wp--preset--font-size--medium);
}

/* ============================================
   Product Attributes Table
   ============================================ */

table.woocommerce-product-attributes {
	background: #fff;
	border-radius: 5px;
	border: none;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--border-light) 80%, var(--wp--preset--color--base) 5%) !important;
	border-spacing: 0;
	font-size: var(--wp--preset--font-size--small);
}

.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
	border: none;
}

.woocommerce table.shop_attributes th {
	padding: 1.4rem;
	text-align: left;
}

.woocommerce table.shop_attributes tr:nth-child(even) td,
.woocommerce table.shop_attributes tr:nth-child(even) th {
	background-color: color-mix(in srgb, var(--wp--preset--color--tertiary) 80%, var(--wp--preset--color--base) 4%);
}

/* ============================================
   Product Reviews & Comments
   ============================================ */

.wp-block-woocommerce-product-reviews .wp-block-woocommerce-product-reviews-title {
	margin-bottom: var(--wp--preset--spacing--large);
}

.woocommerce .woocommerce-Reviews .comment-reply-title,
#review_form_wrapper .comment-reply-title {
	margin-bottom: calc(var(--wp--preset--spacing--medium) - 15px);
	display: block;
}

.woocommerce .woocommerce-Reviews #comments {
	margin-bottom: 0;
}

.woocommerce #reviews #comments ol.commentlist {
	padding: 0;
}

.woocommerce #reviews #comments ol.commentlist li {
	margin-bottom: var(--wp--preset--spacing--medium);
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
	border-radius: 100px;
	background: none;
	padding: 0;
	border: none;
	width: 44px;
	height: 44px;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text,
.wp-block-woocommerce-product-review-template .wp-block-column:has(.wp-block-woocommerce-product-review-content) {
	padding: 1.5em 1.5em .5em;
	background: #fff;
	border-radius: 5px;
	border: none;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--border-light) 80%, var(--wp--preset--color--base) 5%);
	margin: 0px 0 0 60px;
}

.wp-block-woocommerce-product-review-template .wp-block-column:has(.wp-block-woocommerce-product-review-content) {
	margin-left: 0;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p,
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta,
.wp-block-woocommerce-product-review-content p {
	font-size: var(--wp--preset--font-size--small);
}

.wp-block-woocommerce-product-review-author-name {
	font-weight: 600;
}

/* ============================================
   Notices & Banners
   ============================================ */

.wc-block-components-notice-banner {
	padding: 10px !important;
	align-items: center;
	border-radius: 5px;
}

.wc-block-components-notice-banner svg {
	width: 20px;
}

.wc-block-components-notice-banner.is-error {
	color: #cc1818;
	border-color: #e9afaf;
}

.wc-block-components-notice-banner.is-success {
	color: #29683a;
	border-color: #95caa2;
}

.wc-block-components-notice-banner.is-warning {
	color: #7d5c0c;
	border-color: #e3cea3;
}

.wc-block-components-notice-banner>.wc-block-components-button {
	margin-top: 0 !important;
}

/* Hide store notices block when wrapper is empty */
.wc-block-store-notices:has(.woocommerce-notices-wrapper:empty),
.wp-block-woocommerce-store-notices:has(.woocommerce-notices-wrapper:empty) {
	display: none;
}

.wp-block-woocommerce-store-notices:has(.woocommerce-notices-wrapper:empty) + .entry-content,
.wp-block-group > .wp-block-woocommerce-store-notices:has(.woocommerce-notices-wrapper:empty) {
	margin-top: 0;
}

.wp-block-group:has(> .wc-block-store-notices .woocommerce-notices-wrapper:empty) {
	margin-bottom: 0 !important;
}

/* ============================================
   Navigation & Buttons
   ============================================ */

:where(.wc-block-next-previous-buttons__button) {
	border-radius: 5px;
}

:where(.wc-block-next-previous-buttons__icon) {
	padding: 0;
}

/* ============================================
   Product Card Hover Effects
   ============================================ */

.ilnatural-product-button-hover-image {
	position: relative;
	overflow: hidden;
}

.ilnatural-product-button-hover .wp-block-woocommerce-product-image {
	overflow: hidden;
}

.ilnatural-product-button-hover .wp-block-woocommerce-product-button {
	flex-direction: row;
	margin: 0;
	gap: 10px;
}

.ilnatural-product-button-hover .wp-block-woocommerce-product-button > * {
	flex-shrink: 0;
	margin: 0;
	padding: 0;
	width: auto !important;
}

.ilnatural-product-button-hover .wp-block-woocommerce-product-button a,
.ilnatural-product-button-hover .wp-block-woocommerce-product-button a button {
	margin: 0;
	padding: 0;
}

.ilnatural-product-button-hover .wp-block-woocommerce-product-button a:not(:first-child):before {
	content: "\00B7";
	margin: 0 5px 0 8px;
}

.ilnatural-product-button-hover-group {
	border-radius: 5px;
	transform: translateY(100%);
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	margin: 0 !important;
	position: absolute !important;
	bottom: 12px;
	right: 12px;
	opacity: 0;
}

.ilnatural-product-button-hover:hover .ilnatural-product-button-hover-group {
	transform: translateY(0);
	opacity: 1;
}

.ilnatural-product-button-full-width {
	width: 100%;
	border-radius: 0;
	left: 0;
	bottom: 0;
}

/* Editor preview */
.editor-styles-wrapper .ilnatural-product-button-hover-group {
	opacity: 1 !important;
	transform: translateY(0) !important;
	position: absolute !important;
}

.editor-styles-wrapper .ilnatural-product-button-hover-group.is-selected {
	opacity: 1 !important;
	transform: translateY(0) !important;
	position: absolute !important;
}

.block-editor-block-list__layout .ilnatural-product-button-hover .wp-block-woocommerce-product-price .wc-block-components-product-price__value:empty:before {
	content: "$9.99";
}

/* Mobile: Always show hover group */
@media (max-width: 722px) {
	.ilnatural-product-button-hover-group {
		opacity: 1;
		transform: translateY(0);
		position: absolute;
	}
}

/* Premium product grid pattern (Product Query, 4 columns) */
.ilnatural-product-grid-premium__item {
	position: relative;
	display: grid;
	grid-template-rows: auto auto auto auto auto;
	align-content: start;
	height: 100%;
	text-align: center;
}

.ilnatural-product-grid-premium__media {
	position: relative;
	overflow: hidden;
}

.ilnatural-product-grid-premium__media .wp-block-woocommerce-product-image {
	overflow: hidden;
}

.ilnatural-product-grid-premium__quick {
	position: static;
	padding: 0.25rem 0 0 0;
	margin: auto 0 0 0 !important;
	opacity: 1;
	transform: none;
	pointer-events: auto;
}

.ilnatural-product-grid-premium__quick .wp-block-woocommerce-product-button {
	margin: 0;
}

.ilnatural-product-grid-premium__quick .wc-block-components-product-button__button {
	box-shadow: 0 4px 14px rgba(27, 67, 50, 0.12);
}

.editor-styles-wrapper .ilnatural-product-grid-premium__quick,
.block-editor-block-list__layout .ilnatural-product-grid-premium__item.is-selected .ilnatural-product-grid-premium__quick {
	opacity: 1;
	transform: none;
	pointer-events: auto;
}

@media (max-width: 1024px) {
	.ilnatural-product-grid-premium__quick {
		opacity: 1;
		transform: none;
		pointer-events: auto;
	}
}

/* ============================================
   Product Collection Title Override
   ============================================ */

/* Override WooCommerce's medium font size for product titles in collections
   Using cascade layers to override !important without blocking editor customization.
   Cascade layers allow our styles to override WooCommerce's !important styles,
   while inline styles from the editor will still take precedence. */
@layer theme-overrides {
	/* Target product titles within product collection blocks with high specificity */
	.wp-block-woocommerce-product-collection .wp-block-post-title.has-medium-font-size,
	.wp-block-woocommerce-product-collection .wp-block-post-title[class*="has-medium-font-size"],
	.wp-block-woocommerce-product-template .wp-block-post-title.has-medium-font-size,
	.wp-block-woocommerce-product-template .wp-block-post-title[class*="has-medium-font-size"] {
		font-size: var(--wp--preset--font-size--small) !important;
	}
}

/* ============================================
   Product Categories
   ============================================ */

.ilnatural-search-category-list {
	display: flex;
	gap: 8px;
}

.ilnatural-search-category-list .taxonomy-product_cat,
.ilnatural-search-category-list li {
	margin: 0;
}

.wc-block-product-categories__button {
	background: var(--wp--preset--color--main);
	color: var(--wp--preset--color--base);
	border-radius: 5px;
	border: none;
	min-width: 40px;
	justify-content: center;
}

.wc-block-product-categories__button:hover {
	cursor: pointer;
}

.wc-block-product-categories__button:active {
	color: var(--wp--preset--color--base);
}

.wc-block-product-categories__button svg {
	width: 18px;
}

/* ============================================
   Pagination
   ============================================ */

.wp-block-query-pagination-numbers a,
.wp-block-query-pagination-next,
.wp-block-query-pagination-previous {
	background: var(--wp--preset--color--tertiary);
	transition: .1s ease;
}

.wp-block-query-pagination-numbers a:hover,
.wp-block-query-pagination-next:hover,
.wp-block-query-pagination-previous:hover {
	text-decoration: none;
	background: color-mix(in srgb, var(--wp--preset--color--tertiary) 100%, var(--wp--preset--color--main) 3%);
}

.wc-block-product-template__responsive + .wp-block-group:empty {
	display: none;
}

/* ============================================
   Product Grid & Template
   ============================================ */

.wc-block-product-template__responsive {
	row-gap: 2em;
}

.accordion-content__wrapper {
	margin-top: var(--wp--preset--spacing--medium);
}

.wc-block-next-previous-buttons {
	gap: 10px;
}

.wc-block-next-previous-buttons button {
	background: var(--wp--preset--color--tertiary);
	color: var(--wp--preset--color--main);
}

:where(.wc-block-product-template .wc-block-product)>:not(:last-child) {
    margin-bottom: var(--wp--preset--spacing--small);
    margin-top: 0;
}

.wc-block-product-template .wc-block-product .wp-block-post-title {
	margin-bottom: 0;
}

.wc-block-product-template .wc-block-product .add_to_cart_button {
	font-size: var(--wp--preset--font-size--x-small);
}

.wc-block-product-template .wc-block-product .wc-block-components-product-sale-badge {
	background: var(--wp--preset--color--main);
	color: var(--wp--preset--color--base);
	font-size: 0.75rem;
	padding: .25em .75em;
	border: none;
	border-radius: 100px;
}

.wc-block-product-template .wc-block-product div:not(.wc-block-components-product-image) a.added_to_cart {
	margin-top: 0;
	font-size: 0.8rem;
}

.wp-block-button.wc-block-components-product-button.is-style-outline .wp-block-button__link {
	border-width: 1px;
	outline-width: 1px;
    outline-offset: -2px;
}

.wp-block-woocommerce-product-collection h2.wp-block-heading,
.editor-styles-wrapper .wp-block-woocommerce-product-collection h2.wp-block-heading {
    font-size: var(--wp--preset--font-size--large);
    line-height: var(--wp--custom--line-height--snug);
}

input[type=checkbox].wc-block-product-filter-checkbox-list__input[type="checkbox"] {
	width: auto;
	min-width: auto;
	padding: 8px;
	height: 18px;
	width: 18px;
}

input[type=checkbox].wc-block-product-filter-checkbox-list__input:checked+.wc-block-product-filter-checkbox-list__mark {
	background: var(--wp--preset--color--main);
	color: var(--wp--preset--color--base);
	border-radius: 5px;
	height: 18px;
	width: 18px;
}

.wc-block-product-filter-checkbox-list__input-wrapper:before {
	border-radius: 5px;
	display: none;
}

.wc-block-product-filter-removable-chips__items .wc-block-product-filter-removable-chips__item {
	border-radius: 100px;
	background: var(--wp--preset--color--tertiary);
	border: none;
	width: 100%;
	padding: 8px 10px 8px 15px;
}

.wc-block-product-filter-removable-chips__items {
	gap: 8px;
	width: 100%;
}

.wp-block-woocommerce-product-filter-clear-button button {
	padding: var(--wp--preset--spacing--medium);
}

.wc-block-product-filter-price-slider .text input[type=text] {
	max-width: 70px;
}

/* ============================================
   Sale Badge
   ============================================ */

.editor-styles-wrapper .wc-block-grid__products .wc-block-grid__product .wc-block-components-product-image .wc-block-components-product-sale-badge--align-right,
.wc-block-components-product-image .wc-block-components-product-sale-badge--align-right {
	top: 12px;
	right: 12px;
}

.wc-block-cart-item__total-price-and-sale-badge-wrapper .wc-block-components-sale-badge {
	margin-top: 8px;
}

/* ============================================
   Product Badges
   ============================================ */

.wc-block-components-product-badge {
	font-size: calc(var(--wp--preset--font-size--x-small) - 0.2rem);
	background: var(--wp--preset--color--tertiary);
	border-radius: 100px;
	border: none;
	padding: 4px 10px;
	font-weight: 500;
	width: fit-content;
}

.wc-block-components-sale-badge {
	background: #effcee;
	color: #519a48;
}

/* ============================================
   Cart Styles
   ============================================ */

.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
	padding: 0;
	border-left: none;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

.wc-block-cart .wc-block-cart__payment-options {
	border-top: none;
}

.wp-block-woocommerce-proceed-to-checkout-block {
	border-top: none;
}

.wc-block-components-sidebar {
	padding-left: var(--wp--preset--spacing--large);
}

/* Cart items table */
.wc-block-cart__main .wc-block-cart-items {
	border-bottom: none;
}

.wc-block-cart__main .wc-block-cart-items:not(:has(+ *)) {
	margin-bottom: 0 !important;
}

.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img,
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img,
.wc-block-components-order-summary .wc-block-components-order-summary-item__image>img {
	border-radius: 5px;
}


.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-formatted-money-amount {
	font-weight: 500;
	font-size: var(--wp--preset--font-size--x-small);
}

.wc-block-cart-item__prices {
	font-size: var(--wp--preset--font-size--x-small);
}

.wc-block-cart-item__wrap,
.wc-block-components-order-summary .wc-block-components-order-summary-item__description {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.wc-block-cart-item__wrap > *,
.wc-block-components-order-summary-item__description > *,
.wc-block-components-product-metadata__description p,
.wc-block-components-product-details.wc-block-components-product-details:last-of-type {
	margin: 0 !important;
}

.wc-block-components-product-metadata__description p {
	font-size: 13px;
}

.wc-block-cart-item__quantity,
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity {
	align-self: flex-start !important;
	display: flex;
	flex-direction: row;
	align-items: center;
	width: 100%;
	padding-right: 0 !important;
	margin-top: 6px !important;
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
	line-height: 1.4;
}

.wc-block-cart__main .wc-block-cart-items th {
	text-align: left;
}

.wc-block-cart__main .wc-block-cart-items th:last-child,
.wc-block-cart__main .wc-block-cart-items td:last-child {
	padding-right: 0;
}

.wc-block-cart__main .wc-block-cart-items td {
	padding-left: 0;
	padding-right: 20px;
}

.wc-block-components-product-name:hover {
	text-decoration: none;
}

#ppcp-cart-paylater-messages {
	margin-top: 20px;
}

.ppcp-messages {
	margin-top: var(--wp--preset--spacing--small);
}

.wc-block-cart-link {
	gap: 4px;
}

.wc-block-cart-link svg {
	width: 28px;
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
	margin-top: 0;
}

@container (min-width: 700px) {
    .wc-block-cart__main .wc-block-cart-items td {
        padding: 25px 0 25px 16px;
    }
}

@container (max-width: 699px) {
    .wc-block-components-sidebar-layout {
        gap: var(--wp--preset--spacing--large);
    }
}

/* Classic table styles */

.woocommerce-page table.shop_table_responsive {
	background: var(--wp--preset--color--base);
	border-radius: 5px;
	overflow: hidden;
    box-shadow: 0px 0px 0px 1px hsla(0, 0%, 7%, .11);
	font-size: var(--wp--preset--font-size--x-small);
	border: none;
}

.woocommerce-account .wp-block-post-title, 
.woocommerce-account main .woocommerce, 
.woocommerce-cart .wp-block-post-title, 
.woocommerce-cart main .woocommerce, 
.woocommerce-checkout .wp-block-post-title, 
.woocommerce-checkout main .woocommerce {
	max-width: 100%;
}

.woocommerce-page table.shop_table_responsive .button, 
.woocommerce-page table.shop_table_responsive input.button {
	font-size: var(--wp--preset--font-size--x-small);
}

.woocommerce-page table.shop_table_responsive #coupon_code {
	height: 41px;
	padding: .5em;
	font-size: var(--wp--preset--font-size--x-small);
}

.woocommerce-page table.shop_table_responsive .quantity .qty {
	width: 4em;
	padding: .5em .2em .5em .2em;
}

.woocommerce-page table.shop_table_responsive .variation,
.woocommerce-page table.shop_table_responsive .variation p {
	color: var(--wp--preset--color--secondary);
	margin-top: 5px;
}

#add_payment_method .wc-proceed-to-checkout a.checkout-button, 
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button, 
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
	font-size: var(--wp--preset--font-size--small);
}

.wc-block-components-form .wc-block-components-checkout-step {
	margin-bottom: var(--wp--preset--spacing--medium);
}

.wc-block-components-express-payment-continue-rule {
	margin: var(--wp--preset--spacing--medium) 0;
}

@media only screen and (max-width: 768px) {
    .woocommerce-page table.shop_table_responsive #coupon_code {
        width: 50%;
        margin-right: 10px;
		height: 36px;
    }

	.woocommerce-page table.shop_table_responsive td.actions .coupon .input-text+.button {
		width: auto;
	}

	.woocommerce-page table.shop_table_responsive td.actions .coupon {
		margin-bottom: 10px;
	}

	.woocommerce-page table.shop_table_responsive td.actions {
		padding: var(--wp--preset--spacing--medium);
	}
}

/* ============================================
   Mini Cart
   ============================================ */

:root {
	--show-basket-total: block;
	--header-icon-size: var(--wp--custom--header-icon-size, 24px);
	--header-icon-color: var(--wp--custom--header-icon-color, #2c3e2d);
}

/*
 * WooCommerce hides the mini-cart on cart/checkout with aria-hidden="true".
 * Theme previously hid any aria-hidden mini-cart globally — that removed the header basket on checkout.
 */
.wc-block-mini-cart[aria-hidden="true"] {
	display: none !important;
}

.ilnatural-header-shell .wc-block-mini-cart[aria-hidden="true"] {
	display: inline-flex !important;
}

.ilnatural-header-shell .wc-block-mini-cart {
	display: inline-flex !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/* Basket total next to icon + Poppins; hide via --show-basket-total: none; */
.wc-block-mini-cart.ilnatural-basket-total .wc-block-mini-cart__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	gap: 10px;
}

/* Total before icon: Customizer (body) or block style. "Total after icon" overrides when both are set. */
body.ilnatural-mini-cart-total-before .ilnatural-header-shell .wc-block-mini-cart.ilnatural-basket-total .wc-block-mini-cart__button,
.wc-block-mini-cart.ilnatural-basket-total.is-style-ilnatural-total-before-icon .wc-block-mini-cart__button {
	flex-direction: row-reverse;
}

body.ilnatural-mini-cart-total-before .ilnatural-header-shell .wc-block-mini-cart.ilnatural-basket-total.is-style-ilnatural-total-after-icon .wc-block-mini-cart__button,
.wc-block-mini-cart.ilnatural-basket-total.is-style-ilnatural-total-after-icon .wc-block-mini-cart__button {
	flex-direction: row;
}

.wc-block-mini-cart.ilnatural-basket-total .wc-block-mini-cart__amount {
	display: var(--show-basket-total, block);
	font-family: var(--wp--preset--font-family--primary, "Poppins", sans-serif);
	font-size: var(--wp--custom--header-cart-total-size, 0.8125rem);
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	color: var(--wp--custom--header-cart-total-color, #e8a020) !important;
}

.wc-block-mini-cart.ilnatural-basket-total .wc-block-mini-cart__icon {
	width: var(--header-icon-size);
	height: var(--header-icon-size);
	flex-shrink: 0;
	color: var(--header-icon-color);
}

.wc-block-mini-cart.ilnatural-basket-total .wc-block-mini-cart__icon svg {
	width: 100%;
	height: 100%;
}

/* Header utility icons scale / color (account + mini-cart) */
.ilnatural-header-cell-actions .wc-block-customer-account svg {
	width: var(--header-icon-size);
	height: var(--header-icon-size);
	color: var(--header-icon-color);
}

/* Mobile dock: total beside cart icon */
.ilnatural-mobile-dock__cart-row {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	flex-wrap: nowrap;
	min-height: 24px;
}

.ilnatural-mobile-dock__link--cart .ilnatural-mobile-dock__icon svg {
	width: var(--header-icon-size);
	height: var(--header-icon-size);
	color: var(--header-icon-color);
	stroke: currentColor;
}

.ilnatural-mobile-dock__basket-total {
	display: var(--show-basket-total, block);
	font-family: var(--wp--preset--font-family--primary, "Poppins", sans-serif);
	font-size: 0.6875rem;
	font-weight: 600;
	line-height: 1.1;
	white-space: nowrap;
	color: var(--wp--preset--color--main, #1a1c1a);
	max-width: 4.5rem;
	overflow: hidden;
	text-overflow: ellipsis;
}

h2.wc-block-mini-cart__title {
	font-size: var(--wp--preset--font-size--base);
}

.wc-block-mini-cart__items .wc-block-mini-cart__products-table .wc-block-cart-items__row {
	border-bottom: 1px solid var(--wp--preset--color--border-light);
	padding: 25px 0 !important;
}

.wc-block-mini-cart__items .wc-block-mini-cart__products-table .wc-block-cart-items__row:last-child {
	border-bottom: none;
}

.wc-block-mini-cart__footer {
	background: var(--wp--preset--color--tertiary);
	border: none;
}

.wc-block-mini-cart__footer:after {
	display: none;
}

.wc-block-mini-cart__badge {
	font-size: 12px;
	margin-left: -40%;
}

.ilnatural-header-shell .wc-block-mini-cart__badge,
.ilnatural-header-shell .wc-block-mini-cart__badge-count,
.wc-block-mini-cart__badge,
.wc-block-mini-cart__badge-count {
	background-color: var(--wp--preset--color--primary, #2c3e2d) !important;
	color: #fff !important;
	font-weight: 700;
}

/* ============================================
   Checkout Styles
   ============================================ */

.wp-block-woocommerce-checkout {
	padding: 0;
}

.wc-block-components-sidebar-layout {
	margin: 0;
}

.wc-block-components-sidebar-layout .wc-block-components-main {
	padding-right: var(--wp--preset--spacing--large);
	border-right: solid 1px hsla(0, 0%, 7%, .11);
	font-size: var(--wp--preset--font-size--small);
}

.wc-block-components-address-card {
	font-size: var(--wp--preset--font-size--small);
}

.wp-block-woocommerce-checkout-order-summary-block {
	border: none;
	border-radius: 0;
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text,
.wc-block-components-order-summary,
.wc-block-components-sidebar .slot-wrapper .wc-block-components-panel,
.wc-block-components-sidebar .wc-block-components-panel,
.wc-block-components-sidebar .wc-block-components-totals-coupon,
.wc-block-components-sidebar .wc-block-components-totals-item {
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
	font-size: var(--wp--preset--font-size--base);
	font-weight: 600;
}

.wp-block-woocommerce-checkout-order-summary-cart-items-block.wc-block-components-totals-wrapper {
	padding-bottom: 30px;
}

.wc-block-cart__submit-button {
	min-height: 48px;
}

/* Order summary */
.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
	background: var(--wp--preset--color--main);
	color: var(--wp--preset--color--base);
	border: none;
	box-shadow: none;
	font-size: 12px;
	font-weight: 500;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__individual-prices,
.wc-block-cart .wc-block-components-product-price {
	padding-top: 0;
	line-height: 1;
	font-size: var(--wp--preset--font-size--x-small);
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__image {
	margin-top: 7px;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-product-metadata,
.wc-block-components-order-summary .wc-block-components-order-summary-item__description p,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-details {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	-webkit-line-clamp: 2;
	font-size: 13px;
}

/* Totals */
.wc-block-components-totals-item__label,
.wc-block-components-panel__button {
	font-size: var(--wp--preset--font-size--small);
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-item__value .wc-block-formatted-money-amount {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	line-height: 1;
}

/* Checkout steps */
.wc-block-components-checkout-step__description {
	color: var(--wp--preset--color--secondary);
}

.wc-block-components-address-form__address_2-toggle {
	font-size: var(--wp--preset--font-size--small);
}

/* Payment methods */
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__label {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.wc-block-components-radio-control-accordion-content {
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--preset--color--secondary);
}

.wc-block-components-radio-control--highlight-checked:after {
	border-color: color-mix(in srgb, var(--wp--preset--color--tertiary) 100%, var(--wp--preset--color--main) 40%);
	border-radius: 5px;
	z-index: 1;
}

.wc-block-components-radio-control--highlight-checked div.wc-block-components-radio-control-accordion-option {
	border-radius: 5px;
	z-index: 5;
}

.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
	box-shadow: inset 0 0 0 2px currentColor;
}

/* Checkboxes */
.wp-block-woocommerce-checkout-fields-block .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] {
	padding: 0;
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked {
	background: var(--wp--preset--color--main);
}

.wc-block-components-checkbox .wc-block-components-checkbox__mark {
	fill: var(--wp--preset--color--base);
}

/* Terms and actions */
.wc-block-checkout__terms.wc-block-checkout__terms--with-separator {
	border-color: var(--wp--preset--color--border-light);
}

.wc-block-checkout__terms {
	font-size: var(--wp--preset--font-size--x-small);
	background: var(--wp--preset--color--tertiary);
	border-radius: 5px;
	border: none !important;
	padding: var(--wp--preset--spacing--small) !important;
	margin-bottom: var(--wp--preset--spacing--medium);
}

.wc-block-components-checkout-return-to-cart-button {
	font-size: var(--wp--preset--font-size--small);
}

.wc-block-checkout__actions:not(:has(+ *)) {
	padding-bottom: 0;
}

/* PayPal */
p.ppcp-place-order-description {
	text-align: left !important;
}

#ppcp-checkout-paylater-messages {
	margin-top: 10px;
}

.site-header .wp-block-search__input::placeholder {
	font-size: inherit;
}

.wp-block-search__button {
	padding-left: .6em;
	padding-right: .6em;
}

/* ============================================
   Order Confirmation
   ============================================ */

.wp-block-woocommerce-order-confirmation-status {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--small);
}

.wp-block-woocommerce-order-confirmation-status h1 {
	font-size: var(--wp--preset--font-size--large);
	margin: 0;
}


/* ============================================
   Form Inputs
   ============================================ */

.wc-block-components-form .wc-block-components-text-input input[type=email],
.wc-block-components-form .wc-block-components-text-input input[type=number],
.wc-block-components-form .wc-block-components-text-input input[type=password],
.wc-block-components-form .wc-block-components-text-input input[type=tel],
.wc-block-components-form .wc-block-components-text-input input[type=text],
.wc-block-components-form .wc-block-components-text-input input[type=url],
.wc-block-components-text-input input[type=email],
.wc-block-components-text-input input[type=number],
.wc-block-components-text-input input[type=password],
.wc-block-components-text-input input[type=tel],
.wc-block-components-text-input input[type=text],
.wc-block-components-text-input input[type=url],
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-checkout__add-note .wc-block-components-textarea {
	color: var(--wp--preset--color--main);
	border-radius: 5px;
	border: solid 1px color-mix(in srgb, var(--wp--preset--color--tertiary) 100%, var(--wp--preset--color--main) 40%);
	padding: .5em 1em;
	font-size: var(--wp--preset--font-size--small);
	background-color: #fff;
	box-shadow:
		0 1px 2px rgba(0, 0, 0, 0.02),
		0 0.5px 1px rgba(0, 0, 0, 0.04);
	height: 3.4em;
}

.wc-block-components-form .wc-block-components-text-input input[type=email]:focus,
.wc-block-components-form .wc-block-components-text-input input[type=number]:focus,
.wc-block-components-form .wc-block-components-text-input input[type=password]:focus,
.wc-block-components-form .wc-block-components-text-input input[type=tel]:focus,
.wc-block-components-form .wc-block-components-text-input input[type=text]:focus,
.wc-block-components-form .wc-block-components-text-input input[type=url]:focus,
.wc-block-components-text-input input[type=email]:focus,
.wc-block-components-text-input input[type=number]:focus,
.wc-block-components-text-input input[type=password]:focus,
.wc-block-components-text-input input[type=tel]:focus,
.wc-block-components-text-input input[type=text]:focus,
.wc-block-components-text-input input[type=url]:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus {
	border-width: 1px;
}

.wc-block-checkout__add-note .wc-block-components-textarea {
	height: 6rem;
}

body:not(.il-wc-checkout):not(.il-wc-cart) .wc-block-components-form .wc-block-components-text-input label,
body:not(.il-wc-checkout):not(.il-wc-cart) .wc-block-components-text-input label {
	font-size: var(--wp--preset--font-size--small);
	top: 1.7em;
	color: var(--wp--preset--color--secondary);
}

.wc-blocks-components-select .wc-blocks-components-select__select {
	padding-top: 24px;
	padding-left: 9px;
	height: 3.4em;
}

.wc-blocks-components-select .wc-blocks-components-select__label {
	transform: translateY(4px) scale(.75);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--secondary);
	transform-origin: left;
}

#ppcp-recaptcha-v2-container:empty {
	display: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	padding: 0;
	margin-bottom: 6px;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
	padding: .8em 1em;
    border-radius: 5px;
	width: 100%;
	display: block;
	font-size: var(--wp--preset--font-size--small);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
    background: var(--wp--preset--color--tertiary);
	font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background: var(--wp--preset--color--tertiary);
	text-decoration: none;
}

@media only screen and (min-width: 768px) {
	.woocommerce-account .woocommerce-MyAccount-content {
		width: 65%;
	}
}

.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register {
	background: var(--wp--preset--color--tertiary);
	border: none;
	padding: var(--wp--preset--spacing--medium);
	font-size: var(--wp--preset--font-size--small);
}

.woocommerce table.shop_table th {
	padding: 10px 15px;
}

.woocommerce table.my_account_orders td, .woocommerce table.my_account_orders th {
	padding: 10px 15px;
}

.woocommerce-page table.shop_table_responsive .button, .woocommerce-page table.shop_table_responsive input.button {
	font-size: var(--wp--preset--font-size--x-small);
	margin: 0;
}

.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward {
	font-size: var(--wp--preset--font-size--x-small);
}

.woocommerce-Address-title h2 {
	font-size: var(--wp--preset--font-size--medium);
	margin-top: 0;
}

.woocommerce-account .addresses .title .edit {
	float: none;
}

.woocommerce-Address,
.woocommerce-EditAccountForm {
	background: var(--wp--preset--color--tertiary);
	padding: var(--wp--preset--spacing--medium);
	border-radius: 5px;
	border: none;
	font-size: var(--wp--preset--font-size--small);
}

.woocommerce-EditAccountForm {
	padding: var(--wp--preset--spacing--large);
}

/* ============================================
   Responsive Styles
   ============================================ */

@container (max-width: 699px) {
	/* Checkout layout */
	.wc-block-components-sidebar-layout .wc-block-components-main {
		overflow: hidden;
		border-right: none;
		padding: 0;
	}

	.wc-block-components-sidebar-layout .wc-block-components-sidebar {
		padding: 0;
		margin: 0;
	}

	.wc-block-checkout__sidebar {
		margin: 0;
	}

	/* Order summary */
	.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
		border-top: none;
		padding: var(--wp--preset--spacing--small) 0;
		margin: 0;
	}

	.wp-block-woocommerce-checkout-order-summary-cart-items-block.wc-block-components-totals-wrapper {
		padding-bottom: 30px;
		padding-top: 30px;
	}

	.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
		margin-bottom: var(--wp--preset--spacing--large);
	}

	/* Terms */
	.wc-block-checkout__terms.wc-block-checkout__terms--with-separator {
		padding: 0 0 28px 0;
	}

	/* PayPal */
	#ppcp-checkout-paylater-messages {
		padding: var(--wp--preset--spacing--small) var(--wp--preset--spacing--medium) 0 var(--wp--preset--spacing--medium);
	}

	#ppcp-cart-paylater-messages {
		margin-bottom: 20px;
	}

	/* Cart table */
	table.wc-block-cart-items {
		margin-bottom: 0 !important;
	}

	table.wc-block-cart-items tbody tr {
		border-bottom: 1px solid hsla(0, 0%, 7%, .11);
		grid-template-columns: auto 1fr auto auto;
	}

	table.wc-block-cart-items tbody tr:last-child {
		border-bottom: none;
	}

	.is-medium table.wc-block-cart-items .wc-block-cart-items__row,
	.is-mobile table.wc-block-cart-items .wc-block-cart-items__row,
	.is-small table.wc-block-cart-items .wc-block-cart-items__row {
		grid-template-columns: auto 1fr auto auto;
		gap: 5px;
		padding: var(--wp--preset--spacing--medium) 0;
	}

	.is-medium table.wc-block-cart-items .wc-block-cart-items__row:first-child,
	.is-mobile table.wc-block-cart-items .wc-block-cart-items__row:first-child,
	.is-small table.wc-block-cart-items .wc-block-cart-items__row:first-child {
		padding-top: 0;
	}

	.is-medium table.wc-block-cart-items .wc-block-cart-items__row:last-child,
	.is-mobile table.wc-block-cart-items .wc-block-cart-items__row:last-child,
	.is-small table.wc-block-cart-items .wc-block-cart-items__row:last-child {
		padding-bottom: 0;
	}

	.wc-block-cart-item__image {
		width: 70px;
	}

	.wc-block-cart table.wc-block-cart-items, 
	.wc-block-cart table.wc-block-cart-items td, 
	.wc-block-cart table.wc-block-cart-items th {
		margin: 0;
	}

	.wc-block-checkout__actions .wc-block-checkout__actions_row {
		column-gap: var(--wp--preset--spacing--medium);
	}

	.wc-block-checkout__actions .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
		width: 100%;
	}

	.wc-block-components-checkout-return-to-cart-button {
		flex-shrink: 0;
	}
}

.wc-block-components-order-summary .wc-block-components-order-summary-item {
	border-bottom: 1px solid var(--wp--preset--color--border-light);
	padding: var(--wp--preset--spacing--small) 0 0 0;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.wc-block-components-product-metadata {
	font-size: var(--wp--preset--font-size--x-small);
}

@media (max-width: 570px) {
	.wc-block-checkout__terms.wc-block-checkout__terms--with-separator {
		padding: 28px 0 0 0;
	}
}


@container (max-width: 500px) {

	.wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
		text-align: left;
	}

	.wc-block-components-order-summary .wc-block-components-order-summary-item__total-price {
		margin-left: 0;
	}

	.wc-block-components-order-summary .wc-block-components-order-summary__content {
		display: block;
	}

	.wc-block-components-order-summary .wc-block-components-order-summary-item {
		display: grid;
		grid-template-columns: auto 1fr auto auto;
	}

	.wc-block-components-order-summary .wc-block-components-order-summary-item__individual-prices,
	.wc-block-components-product-price {
		flex-wrap: wrap;
		display: flex;
	}
}

/* ============================================
   ILNATURAL — product card, single product, cart/checkout, my account
   ============================================ */

.ilnatural-product-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	transition: background-color 0.28s ease, box-shadow 0.28s ease, transform 0.28s ease;
	border: 1px solid transparent;
	border-radius: 16px;
	padding: var(--wp--preset--spacing--small);
}

.ilnatural-product-card:hover {
	background-color: color-mix(in srgb, var(--wp--preset--color--tertiary) 88%, transparent);
	border-color: color-mix(in srgb, var(--wp--preset--color--primary) 10%, transparent);
	box-shadow: 0 14px 32px rgba(27, 67, 50, 0.1);
	transform: translateY(-3px);
}

/* Media: rounded, clipped frame with a subtle zoom on hover. */
.ilnatural-product-card__media {
	border-radius: 12px;
	overflow: hidden;
	background: color-mix(in srgb, var(--wp--preset--color--tertiary) 60%, transparent);
}

/* Uniform, compact square image frame (keeps products from becoming oversized
   on wide cards and gives a clean, even grid like a modern catalogue). */
.ilnatural-product-card__media {
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ilnatural-product-card__media .wp-block-woocommerce-product-image,
.ilnatural-product-card__media .wp-block-woocommerce-product-image > a,
.ilnatural-product-card__media .wp-block-woocommerce-product-image .wc-block-components-product-image {
	width: 100%;
	height: 100%;
	margin: 0;
}

.ilnatural-product-card__media .wp-block-woocommerce-product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: none !important;
	image-rendering: auto;
	backface-visibility: hidden;
	aspect-ratio: 1 / 1 !important;
}

/* Catalog grids: square frames, no theme.json 3/4 upscale blur */
.ilnatural-product-card__media .wp-block-woocommerce-product-image img,
.il-featured-product-card .wp-block-post-featured-image img,
.il-products-collection .wp-block-woocommerce-product-image img,
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-image img {
	object-fit: cover !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	filter: none !important;
}

.il-featured-product-card .wp-block-post-featured-image {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 12px;
}

.il-featured-product-card .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ilnatural-product-card__media .wp-block-woocommerce-product-image,
.ilnatural-product-card__media .wp-block-woocommerce-product-image img {
	border: none !important;
	box-shadow: none;
}

.ilnatural-product-card__media .wp-block-woocommerce-product-image img {
	transition: transform 0.4s ease;
}

.ilnatural-product-card:hover .ilnatural-product-card__media .wp-block-woocommerce-product-image img {
	transform: none;
}

/* Details grow so the CTA always pins to the bottom (equal-height rows). */
.ilnatural-product-card__details {
	flex: 1 1 auto;
}

.ilnatural-product-card__cta {
	display: flex;
	justify-content: center;
	width: 100%;
	margin-top: auto;
}

.ilnatural-product-card__cta .wp-block-button__link {
	border-radius: 999px;
	padding-top: 0.72em;
	padding-bottom: 0.72em;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.ilnatural-product-card__cta .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--secondary-dark) !important;
}

/* Stretch each product-collection cell so cards fill the full row height.
 * Must be a COLUMN flex: a row flex collapses cards that don't set their own
 * width (e.g. the featured-products collection), squashing titles to 1ch. */
.wp-block-woocommerce-product-template > li {
	display: flex;
	flex-direction: column;
}

.wp-block-woocommerce-product-template > li > .wp-block-group {
	flex: 1 1 auto;
	width: 100%;
}

.ilnatural-product-card__cta .wp-block-woocommerce-product-button,
.ilnatural-product-card__cta .wp-block-woocommerce-product-button .wp-block-button__link {
	width: 100%;
	max-width: 100%;
	text-align: center;
	justify-content: center;
}

@media (min-width: 1025px) {
	.ilnatural-product-gallery-sticky {
		position: sticky !important;
		top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--wp--preset--spacing--medium));
		align-self: flex-start;
	}
}

@media (max-width: 1024px) {
	.ilnatural-product-gallery-sticky {
		position: static !important;
		top: auto !important;
	}
}

.ilnatural-single-product-add-to-cart .wc-block-components-button:not(.is-link),
.ilnatural-single-product-add-to-cart .wp-block-button__link,
.ilnatural-single-product-add-to-cart button.single_add_to_cart_button {
	background-color: var(--wp--preset--color--secondary) !important;
	color: #fff !important;
	border-color: transparent !important;
	font-weight: 600;
}

.ilnatural-single-product-add-to-cart .wc-block-components-button:not(.is-link):hover,
.ilnatural-single-product-add-to-cart .wp-block-button__link:hover,
.ilnatural-single-product-add-to-cart button.single_add_to_cart_button:hover {
	background-color: var(--wp--preset--color--secondary-dark) !important;
	color: #fff !important;
}

body.single-product .wp-block-post-title,
body.single-product h1.wp-block-post-title {
	font-family: var(--wp--preset--font-family--heading);
}

/* Cart & checkout — Natural UI shells (overflow:visible so step titles / order summary headings are not clipped) */
.ilnatural-wc-route--cart .wc-block-cart__main,
.ilnatural-wc-route--cart .wc-block-cart__sidebar,
.ilnatural-wc-route--checkout .wc-block-checkout__main,
.ilnatural-wc-route--checkout .wc-block-checkout__sidebar {
	border-radius: 24px;
	border: 1px solid var(--wp--preset--color--border-light);
	overflow: visible;
	box-sizing: border-box;
	padding: var(--wp--preset--spacing--medium);
	background-color: var(--wp--preset--color--base, #fff);
}

.ilnatural-wc-route--checkout .wc-block-components-checkout-step {
	overflow: visible;
	margin-inline: 0;
	padding-inline: 0;
}

.ilnatural-wc-route--checkout .wc-block-components-checkout-step .wc-block-components-checkout-step__title {
	overflow: visible;
	word-break: normal;
}

.ilnatural-wc-route--checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
	padding-inline: 0;
	padding-block: 0;
	margin-inline: 0;
	overflow: visible;
}

@media (max-width: 1024px) {
	.ilnatural-wc-route--cart .wc-block-cart,
	.ilnatural-wc-route--checkout .wc-block-checkout {
		flex-direction: column !important;
	}

	.ilnatural-wc-route--cart .wc-block-cart__main,
	.ilnatural-wc-route--cart .wc-block-cart__sidebar,
	.ilnatural-wc-route--checkout .wc-block-checkout__main,
	.ilnatural-wc-route--checkout .wc-block-checkout__sidebar {
		flex-basis: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.ilnatural-wc-route--checkout .wc-block-components-sidebar-layout .wc-block-components-main {
		border-right: none;
		padding-right: 0;
	}
}

/* My Account — parchment panel, thumb-width buttons on small screens */
.ilnatural-my-account-page {
	background-color: var(--wp--preset--color--tertiary);
	min-height: 40vh;
}

.ilnatural-my-account-panel {
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	background-color: #fdfcf8;
	border-radius: 24px;
	border: 1px solid var(--wp--preset--color--border-light);
	padding: var(--wp--preset--spacing--large) var(--wp--preset--spacing--medium);
	box-sizing: border-box;
}

@media (max-width: 1024px) {
	.ilnatural-my-account-panel .woocommerce-button,
	.ilnatural-my-account-panel .wp-block-button__link,
	.ilnatural-my-account-panel button[type="submit"],
	.ilnatural-my-account-panel .wc-block-components-button {
		width: 100% !important;
		box-sizing: border-box;
	}

	.ilnatural-my-account-panel .woocommerce-form-row,
	.ilnatural-my-account-panel .wc-block-components-text-input {
		width: 100%;
	}
}

/* ============================================
   Checkout & cart — block UI alignment (ILNATURAL)
   ============================================ */

body.il-wc-checkout .wc-block-components-checkout-step {
	margin-bottom: var(--wp--preset--spacing--large);
}

body.il-wc-checkout .wc-block-components-form .wc-block-components-text-input label,
body.il-wc-checkout .wc-block-components-text-input label {
	top: 0.85rem;
	left: 1rem;
	font-size: var(--wp--preset--font-size--x-small);
	line-height: 1.25;
	max-width: calc(100% - 2.75rem);
}

body.il-wc-checkout .wc-block-components-form .wc-block-components-text-input input[type="email"],
body.il-wc-checkout .wc-block-components-form .wc-block-components-text-input input[type="tel"],
body.il-wc-checkout .wc-block-components-form .wc-block-components-text-input input[type="text"],
body.il-wc-checkout .wc-block-components-text-input input[type="email"],
body.il-wc-checkout .wc-block-components-text-input input[type="tel"],
body.il-wc-checkout .wc-block-components-text-input input[type="text"] {
	padding-top: 1.45rem;
	padding-bottom: 0.65rem;
	padding-right: 1rem;
	padding-left: 1rem;
	min-height: 3.25rem;
	height: auto;
}

body.il-wc-checkout .wc-block-components-text-input__icon,
body.il-wc-checkout .wc-block-components-text-input svg.wc-block-components-text-input__icon {
	display: none !important;
}

body.il-wc-cart .wc-block-components-text-input__icon,
body.il-wc-cart .wc-block-components-text-input svg.wc-block-components-text-input__icon {
	display: none !important;
}

body.il-wc-cart .wc-block-components-form .wc-block-components-text-input label,
body.il-wc-cart .wc-block-components-text-input label {
	top: 0.85rem;
	left: 1rem;
	font-size: var(--wp--preset--font-size--x-small);
	max-width: calc(100% - 2.75rem);
}

body.il-wc-cart .wc-block-components-form .wc-block-components-text-input input[type="email"],
body.il-wc-cart .wc-block-components-form .wc-block-components-text-input input[type="tel"],
body.il-wc-cart .wc-block-components-form .wc-block-components-text-input input[type="text"],
body.il-wc-cart .wc-block-components-text-input input[type="email"],
body.il-wc-cart .wc-block-components-text-input input[type="tel"],
body.il-wc-cart .wc-block-components-text-input input[type="text"] {
	padding-top: 1.45rem;
	padding-bottom: 0.65rem;
	padding-right: 1rem;
	min-height: 3.25rem;
	height: auto;
}

body.il-wc-checkout .wc-blocks-components-select .wc-blocks-components-select__select {
	padding-top: 1.35rem;
	padding-bottom: 0.55rem;
	min-height: 3.25rem;
	height: auto;
}

body.il-wc-checkout .wc-block-checkout__add-note {
	display: grid;
	gap: var(--wp--preset--spacing--small);
	align-items: start;
}

body.il-wc-checkout .wc-block-checkout__add-note .wc-block-components-textarea {
	min-height: 5.5rem;
	margin-top: 0;
}

body.il-wc-checkout .wc-block-checkout__payment-method {
	margin-top: var(--wp--preset--spacing--small);
}

body.il-wc-cart table.wc-block-cart-items .wc-block-cart-items__row td {
	vertical-align: middle;
}

body.il-wc-cart .wc-block-components-sidebar .wc-block-cart__totals-title {
	margin-top: 0;
}

/* ============================================
   Product Collection Title Override (Final)
   ============================================ */

/* Final override at end of file to ensure it loads after WooCommerce styles.
   Uses high specificity and !important to override WooCommerce's !important styles.
   Inline styles from the editor will still take precedence over this. */
.wp-block-woocommerce-product-collection .wp-block-post-title.has-medium-font-size,
.wp-block-woocommerce-product-collection .wp-block-post-title[class*="has-medium-font-size"],
.wp-block-woocommerce-product-template .wp-block-post-title.has-medium-font-size,
.wp-block-woocommerce-product-template .wp-block-post-title[class*="has-medium-font-size"],
.wc-block-product-template__responsive .wp-block-post-title.has-medium-font-size,
.wc-block-product-template__responsive .wp-block-post-title[class*="has-medium-font-size"] {
	font-size: var(--wp--preset--font-size--small) !important;
}

/* ============================================================
   Modern My Account + auth forms (match wp-login portal)
   ------------------------------------------------------------
   Mirrors the login portal styling (inc/app-experience.php): white inputs,
   soft divider border, focus ring, uppercase labels, amber primary buttons,
   and neat placeholder text.
   ============================================================ */

/* Form cards */
.woocommerce form.woocommerce-form-login,
.woocommerce form.woocommerce-form-register,
.woocommerce form.lost_reset_password,
.woocommerce-EditAccountForm,
.woocommerce-Address {
	background: var(--wp--preset--color--base, #ffffff);
	border: 1px solid var(--wp--preset--color--border-light, #dde6d9);
	border-radius: 12px;
	padding: clamp(1.25rem, 4vw, 2rem);
	box-shadow: 0 1px 3px rgba(27, 67, 50, 0.04);
	font-size: var(--wp--preset--font-size--small);
}

/* Field labels */
.woocommerce form.woocommerce-form-login .form-row > label,
.woocommerce form.woocommerce-form-register .form-row > label,
.woocommerce form.lost_reset_password .form-row > label,
.woocommerce-EditAccountForm .form-row > label,
.woocommerce-Address .form-row > label {
	display: block;
	margin-bottom: 8px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--main-accent, #4a5250);
}

/* Inputs */
.woocommerce-account .woocommerce form .input-text,
.woocommerce form.woocommerce-form-login .input-text,
.woocommerce form.woocommerce-form-register .input-text,
.woocommerce form.lost_reset_password .input-text,
.woocommerce-EditAccountForm .input-text,
.woocommerce-EditAccountForm input[type="text"],
.woocommerce-EditAccountForm input[type="email"],
.woocommerce-EditAccountForm input[type="password"],
.woocommerce-Address input.input-text,
.woocommerce-Address select,
.woocommerce-address-fields input.input-text,
.woocommerce-address-fields select {
	width: 100%;
	font-size: 15px;
	line-height: 1.4;
	color: var(--wp--preset--color--main, #1a1c1a);
	background: var(--wp--preset--color--base, #ffffff);
	border: 1.5px solid var(--wp--preset--color--border-light, #dde6d9);
	border-radius: 8px;
	padding: 13px 16px;
	box-shadow: 0 1px 3px rgba(27, 67, 50, 0.04);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	-webkit-appearance: none;
	appearance: none;
}

/* Placeholders */
.woocommerce-account .woocommerce form .input-text::placeholder,
.woocommerce-EditAccountForm .input-text::placeholder,
.woocommerce-Address input.input-text::placeholder {
	color: color-mix(in srgb, var(--wp--preset--color--main, #1a1c1a) 45%, transparent);
	opacity: 1;
}

/* Focus state */
.woocommerce-account .woocommerce form .input-text:focus,
.woocommerce form.woocommerce-form-login .input-text:focus,
.woocommerce form.woocommerce-form-register .input-text:focus,
.woocommerce form.lost_reset_password .input-text:focus,
.woocommerce-EditAccountForm .input-text:focus,
.woocommerce-EditAccountForm input:focus,
.woocommerce-Address input.input-text:focus,
.woocommerce-Address select:focus {
	border-color: var(--wp--preset--color--primary, #1b4332);
	box-shadow: 0 0 0 3px rgba(27, 67, 50, 0.1);
	outline: none;
}

/* Remember me + small print */
.woocommerce form.woocommerce-form-login .woocommerce-form-login__rememberme {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 4px 0 16px;
	font-size: 13px;
	color: var(--wp--preset--color--main-accent, #4a5250);
}

/* Primary action buttons */
.woocommerce form.woocommerce-form-login button.button,
.woocommerce form.woocommerce-form-register button.button,
.woocommerce form.lost_reset_password button.button,
.woocommerce-EditAccountForm button.button,
.woocommerce-Address button.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 14px 28px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #ffffff;
	background: var(--wp--preset--color--secondary, #e8a020);
	border: none;
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.1s ease;
}

.woocommerce form.woocommerce-form-login button.button:hover,
.woocommerce form.woocommerce-form-register button.button:hover,
.woocommerce form.lost_reset_password button.button:hover,
.woocommerce-EditAccountForm button.button:hover,
.woocommerce-Address button.button:hover {
	background: var(--wp--preset--color--secondary-dark, #7a4a00);
	transform: translateY(-1px);
}

/* Block checkout / cart: consistent focus ring + neat placeholders. */
body.il-wc-checkout .wc-block-components-text-input input:focus,
body.il-wc-cart .wc-block-components-text-input input:focus,
body.il-wc-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus,
body.il-wc-checkout .wc-block-components-textarea:focus {
	border-color: var(--wp--preset--color--primary, #1b4332);
	box-shadow: 0 0 0 3px rgba(27, 67, 50, 0.1);
	outline: none;
}

body.il-wc-checkout .wc-block-components-text-input input::placeholder,
body.il-wc-cart .wc-block-components-text-input input::placeholder {
	color: color-mix(in srgb, var(--wp--preset--color--main, #1a1c1a) 45%, transparent);
	opacity: 1;
}

/* ------------------------------------------------------------
   Premium polish: My Account login / register layout
   ------------------------------------------------------------ */

/* Two-column login | register grid on wider screens. */
.woocommerce-account:not(.logged-in) .woocommerce .u-columns,
.woocommerce-account:not(.logged-in) .woocommerce .col2-set {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--medium, 1.5rem);
	max-width: 920px;
	margin-inline: auto;
}

@media (min-width: 768px) {
	.woocommerce-account:not(.logged-in) .woocommerce .u-columns,
	.woocommerce-account:not(.logged-in) .woocommerce .col2-set {
		grid-template-columns: 1fr 1fr;
	}
}

.woocommerce-account:not(.logged-in) .woocommerce .u-columns .col,
.woocommerce-account:not(.logged-in) .woocommerce .col2-set .col-1,
.woocommerce-account:not(.logged-in) .woocommerce .col2-set .col-2 {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

/* Card heading with amber accent rule. */
.woocommerce-account .woocommerce h2 {
	font-family: var(--wp--preset--font-family--secondary, inherit);
	font-size: var(--wp--preset--font-size--large, 1.5rem);
	font-weight: 700;
	color: var(--wp--preset--color--primary, #1b4332);
	margin: 0 0 1rem;
	padding-bottom: 0.6rem;
	position: relative;
}

.woocommerce-account .woocommerce h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 44px;
	height: 3px;
	border-radius: 999px;
	background: var(--wp--preset--color--secondary, #e8a020);
}

/* Subtle top accent on each form card. */
.woocommerce form.woocommerce-form-login,
.woocommerce form.woocommerce-form-register {
	position: relative;
	overflow: hidden;
}

.woocommerce form.woocommerce-form-login::before,
.woocommerce form.woocommerce-form-register::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--wp--preset--color--primary, #1b4332), var(--wp--preset--color--secondary, #e8a020));
}

/* Full-width primary auth buttons for an app-like feel. */
.woocommerce form.woocommerce-form-login button.button,
.woocommerce form.woocommerce-form-register button.button,
.woocommerce form.lost_reset_password button.button {
	width: 100%;
}

/* Field hover affordance. */
.woocommerce-account .woocommerce form .input-text:hover,
.woocommerce-EditAccountForm .input-text:hover,
.woocommerce-Address input.input-text:hover {
	border-color: color-mix(in srgb, var(--wp--preset--color--primary, #1b4332) 35%, var(--wp--preset--color--border-light, #dde6d9));
}

/* ------------------------------------------------------------
   Premium polish: block checkout field surfaces
   ------------------------------------------------------------ */
body.il-wc-checkout .wc-block-components-text-input,
body.il-wc-cart .wc-block-components-text-input,
body.il-wc-checkout .wc-blocks-components-select {
	border-radius: 10px;
}

body.il-wc-checkout .wc-block-components-text-input input,
body.il-wc-cart .wc-block-components-text-input input,
body.il-wc-checkout .wc-blocks-components-select .wc-blocks-components-select__select {
	border: 1.5px solid var(--wp--preset--color--border-light, #dde6d9);
	border-radius: 10px;
	background: var(--wp--preset--color--base, #ffffff);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.il-wc-checkout .wc-block-components-checkout-step {
	border-radius: 14px;
}

/* Hide native browser password reveal on front-end account forms too. */
.woocommerce input[type="password"]::-ms-reveal,
.woocommerce input[type="password"]::-ms-clear {
	display: none !important;
}

/* ------------------------------------------------------------
   Constrain + center the logged-out account screens
   (login, register, lost password, set new password)
   ------------------------------------------------------------ */
.woocommerce-account:not(.logged-in) .woocommerce,
.woocommerce-lost-password .woocommerce {
	max-width: 960px;
	margin-inline: auto;
}

/* Single login form (when registration is disabled) — narrow + centered. */
.woocommerce-account:not(.logged-in) .woocommerce > form.woocommerce-form-login {
	max-width: 460px;
	margin-inline: auto;
}

/* Lost password + set-new-password forms — narrow card, centered. */
.woocommerce form.woocommerce-ResetPassword,
.woocommerce form.lost_reset_password {
	max-width: 460px;
	margin-inline: auto;
	background: var(--wp--preset--color--base, #ffffff);
	border: 1px solid var(--wp--preset--color--border-light, #dde6d9);
	border-radius: 14px;
	padding: clamp(1.5rem, 4vw, 2.25rem);
	box-shadow: 0 1px 3px rgba(27, 67, 50, 0.04);
	position: relative;
	overflow: hidden;
}

/* Gradient top accent on every auth card (parity with the login portal). */
.woocommerce form.woocommerce-form-login::before,
.woocommerce form.woocommerce-form-register::before,
.woocommerce form.woocommerce-ResetPassword::before,
.woocommerce form.lost_reset_password::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--wp--preset--color--primary, #1b4332), var(--wp--preset--color--secondary, #e8a020));
}

/* Lost-password intro copy. */
.woocommerce form.woocommerce-ResetPassword > p:first-of-type,
.woocommerce form.lost_reset_password > p:first-of-type {
	font-size: 0.95rem;
	color: var(--wp--preset--color--main-accent, #4a5250);
	line-height: 1.6;
	margin: 0 0 1.25rem;
}

/* Larger radius on all account inputs to match the portal (12px). */
.woocommerce-account .woocommerce form .input-text,
.woocommerce form.woocommerce-ResetPassword .input-text,
.woocommerce form.lost_reset_password .input-text,
.woocommerce-EditAccountForm .input-text,
.woocommerce-Address input.input-text,
.woocommerce-Address select {
	border-radius: 12px;
}

.woocommerce form.woocommerce-ResetPassword button.button,
.woocommerce form.lost_reset_password button.button,
.woocommerce form.woocommerce-ResetPassword input[type="submit"],
.woocommerce form.lost_reset_password input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 14px 28px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #ffffff;
	background: var(--wp--preset--color--secondary, #e8a020);
	border: none;
	border-radius: 12px;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.1s ease;
}

.woocommerce form.woocommerce-ResetPassword button.button:hover,
.woocommerce form.lost_reset_password button.button:hover,
.woocommerce form.woocommerce-ResetPassword input[type="submit"]:hover,
.woocommerce form.lost_reset_password input[type="submit"]:hover {
	background: var(--wp--preset--color--secondary-dark, #7a4a00);
	transform: translateY(-1px);
}

/* ============================================
   Cart: mobile remove icon, empty state, confirm modal
   ============================================ */

.ilnatural-wc-route--cart .wc-block-components-sidebar-layout .wc-block-components-main {
	overflow: visible;
}

.ilnatural-wc-route--cart .wc-block-components-quantity-selector {
	transform: none;
	transform-origin: center;
}

body.il-wc-cart .wc-block-cart-item__remove-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	margin-inline-start: 6px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--accent-green, #4a5d4e);
	text-decoration: none;
	cursor: pointer;
	flex-shrink: 0;
}

body.il-wc-cart .wc-block-cart-item__remove-link svg {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	fill: currentColor;
}

body.il-wc-cart .wc-block-cart-item__remove-link:hover,
body.il-wc-cart .wc-block-cart-item__remove-link:focus-visible {
	color: #c0392b;
	outline: 2px solid color-mix(in srgb, #c0392b 35%, transparent);
	outline-offset: 2px;
}

body.il-wc-cart .wc-block-cart-item__quantity {
	flex-wrap: nowrap;
	gap: 4px;
}

@container (max-width: 699px) {
	.ilnatural-wc-route--cart .wc-block-components-sidebar-layout .wc-block-components-main {
		overflow: visible;
	}

	.is-mobile table.wc-block-cart-items .wc-block-cart-items__row {
		grid-template-columns: auto 1fr auto auto;
		align-items: center;
	}
}

/* Empty basket icon */
.wc-block-cart__empty-cart,
.wp-block-woocommerce-empty-cart-block {
	text-align: center;
	padding: var(--wp--preset--spacing--x-large) var(--wp--preset--spacing--medium);
}

.wc-block-cart__empty-cart svg,
.wp-block-woocommerce-empty-cart-block svg {
	display: none !important;
}

.wc-block-cart__empty-cart::before,
.wp-block-woocommerce-empty-cart-block::before {
	content: "";
	display: block;
	width: 72px;
	height: 72px;
	margin: 0 auto var(--wp--preset--spacing--medium);
	background-color: var(--wp--preset--color--accent-green, #4a5d4e);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2h12l1 4H5z'/%3E%3Cpath d='M5 6l1.4 13.2a1 1 0 0 0 1 .9h9.2a1 1 0 0 0 1-.9L19 6'/%3E%3Cpath d='M9 10v5'/%3E%3Cpath d='M15 10v5'/%3E%3Cpath d='M4 6h16'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2h12l1 4H5z'/%3E%3Cpath d='M5 6l1.4 13.2a1 1 0 0 0 1 .9h9.2a1 1 0 0 0 1-.9L19 6'/%3E%3Cpath d='M9 10v5'/%3E%3Cpath d='M15 10v5'/%3E%3Cpath d='M4 6h16'/%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	opacity: 0.88;
}

.wc-block-cart__empty-cart__title,
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	font-family: var(--wp--preset--font-family--heading, "Poppins", sans-serif);
	font-weight: 600;
	color: var(--wp--preset--color--primary, #1b4332);
	margin-top: 0;
}

/* Shared confirm modal (cart remove) */
.ilnatural-modal {
	position: fixed;
	inset: 0;
	background: rgba(26, 28, 26, 0.35);
	display: none;
	z-index: 100000;
	padding: 1rem;
}

.ilnatural-modal.is-open {
	display: grid;
	place-items: start center;
}

.ilnatural-modal__panel {
	width: min(420px, 100%);
	background: #fdfcf8;
	border: 1px solid #e2e6de;
	border-radius: 10px;
	margin-top: 12vh;
	box-shadow: 0 18px 40px rgba(27, 67, 50, 0.12);
}

.ilnatural-modal__head {
	padding: 0.9rem 1rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid #e2e6de;
}

.ilnatural-modal__head h3 {
	margin: 0;
	font-size: 1.05rem;
	color: var(--wp--preset--color--primary, #1b4332);
}

.ilnatural-modal__close {
	border: 0;
	background: transparent;
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
	color: #5c5e5c;
}

.ilnatural-modal__body {
	padding: 1rem;
}

.ilnatural-modal__body p {
	margin: 0;
	color: #1a1c1a;
	line-height: 1.5;
}

.ilnatural-modal__actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem;
	padding: 0 1rem 1rem;
}

.ilnatural-modal__btn {
	min-height: 44px;
	border-radius: 10px;
	font-weight: 600;
	cursor: pointer;
	border: 1px solid #e2e6de;
	background: #fff;
	color: #1a1c1a;
}

.ilnatural-modal__btn--remove {
	background: #c0392b;
	border-color: #c0392b;
	color: #fff;
}

.ilnatural-modal__btn--remove:hover {
	background: #a93226;
}
