/* ==========================================================================
   Pure Idukki: WooCommerce styles (hook-friendly, no template forks needed)
   ========================================================================== */

.woo-main { padding-block: clamp(2rem, 5vw, 4rem); }
.woocommerce-breadcrumb { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 2rem; opacity: .75; }
.woocommerce-breadcrumb a { text-decoration: none; }
.crumb-sep { margin-inline: .6rem; opacity: .5; }

/* Shop header, filters, toolbar */
.woocommerce-products-header .term-description, .woocommerce-products-header .page-description { max-width: 40rem; opacity: .85; }
.shop-filters ul { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 0 0 2rem; }
.shop-filters a {
	display: inline-block; padding: .6rem 1.1rem; border: 1px solid var(--c-line); border-radius: 999px;
	font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; transition: all .25s var(--ease);
}
.shop-filters a:hover { border-color: var(--c-forest); color: var(--c-forest); }
.shop-filters a.is-active { background: var(--c-forest); border-color: var(--c-forest); color: var(--c-cream); }
.shop-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 1px solid var(--c-line); font-size: .85rem; }
.shop-toolbar .woocommerce-result-count, .shop-toolbar .woocommerce-ordering { margin: 0; float: none; }
.woocommerce-ordering select { width: auto; padding: .55rem 2rem .55rem .8rem; font-size: .85rem; }

/* Product loop: 4 / 2 / 2 columns, overriding WooCommerce floats */
.woocommerce ul.products, .woocommerce-page ul.products {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 2rem) clamp(.75rem, 1.5vw, 1.5rem);
	list-style: none; margin: 0 0 3rem; padding: 0; float: none; width: auto;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	float: none; width: auto; margin: 0; padding: 0; clear: none;
}
.woocommerce ul.products[class*="columns-"] li.product { width: auto; margin: 0; }
@media (max-width: 960px) {
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Pagination */
.woocommerce-pagination ul.page-numbers { border: 0; display: flex; justify-content: center; gap: .25rem; flex-wrap: wrap; }
.woocommerce-pagination ul.page-numbers li { border: 0; float: none; overflow: visible; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { padding: .5rem .9rem; background: none; color: inherit; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--c-forest); color: var(--c-cream); }

/* Price */
.woocommerce .price, .woocommerce-Price-amount { color: inherit; font-weight: 500; }
.woocommerce .price del { opacity: .5; }
.woocommerce .price ins { text-decoration: none; color: var(--c-earth); background: none; }
.woocommerce span.onsale {
	background: var(--c-honey); color: var(--c-char); border-radius: 0; min-height: 0; min-width: 0; line-height: 1;
	padding: .4rem .7rem; font-size: .65rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; top: 1rem; left: 1rem; right: auto; margin: 0;
}

/* WooCommerce buttons use theme buttons */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
	background: var(--c-forest); color: var(--c-cream); border: 1px solid var(--c-forest); border-radius: var(--radius);
	padding: .95rem 1.75rem; font: 500 .75rem/1.2 var(--font-sans); letter-spacing: .16em; text-transform: uppercase;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: transparent; color: var(--c-forest); }
.woocommerce a.button.loading::after, .woocommerce button.button.loading::after { top: .85em; }
.woocommerce button.button:disabled, .woocommerce button.button.disabled { opacity: .45; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	background: transparent; border: 1px solid var(--c-line); border-left: 3px solid var(--c-forest); color: inherit;
	padding: 1rem 1.25rem 1rem 1.5rem; margin: 0 0 2rem; list-style: none; font-size: .95rem;
}
.woocommerce-error { border-left-color: var(--c-earth); }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }
.woocommerce-message a.button, .woocommerce-info a.button { float: right; margin-left: 1rem; padding: .6rem 1rem; }

/* Single product */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: auto; margin: 0; }
.woocommerce div.product div.images { position: relative; background: #EDE7D6; }
.woocommerce div.product div.images img { width: 100%; }
.woocommerce div.product .product_title { font-size: clamp(2.5rem, 5vw, 4.25rem); margin-bottom: 1rem; }
.woocommerce div.product p.price, .woocommerce div.product span.price { font-size: 1.5rem; color: var(--c-char); margin-bottom: 1.25rem; }
.woocommerce div.product .woocommerce-product-details__short-description { font-size: 1.05rem; opacity: .85; margin-bottom: 1.75rem; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: .75rem; align-items: stretch; margin-bottom: 1.5rem; }
.woocommerce div.product form.cart .quantity input.qty { width: 5rem; height: 100%; text-align: center; padding: .85rem .5rem; }
.woocommerce div.product form.cart .variations { width: 100%; margin-bottom: 1rem; }
.woocommerce div.product .product_meta { font-size: .8rem; letter-spacing: .06em; padding-top: 1.25rem; border-top: 1px solid var(--c-line); }
.woocommerce div.product .product_meta > span { display: block; margin-bottom: .35rem; }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells { grid-column: 1 / -1; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 2rem; border-bottom: 1px solid var(--c-line); display: flex; gap: 2rem; overflow: hidden; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none; border: 0; border-radius: 0; margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: .75rem 0; font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 500; opacity: .6; text-decoration: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { opacity: 1; border-bottom: 1px solid var(--c-forest); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 46rem; margin: 0 0 3rem; }
.woocommerce div.product .related > h2, .woocommerce div.product .upsells > h2 { font-size: clamp(2rem, 4vw, 3rem); margin-bottom: 2rem; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; margin: .5rem 0 0; padding: 0; list-style: none; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto; float: none; }
.woocommerce-product-gallery__trigger { top: .75rem; right: .75rem; }
@media (max-width: 860px) {
	.woocommerce div.product { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
	.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1 1 100%; }
	.woocommerce div.product .woocommerce-tabs ul.tabs { gap: 1.25rem; flex-wrap: wrap; }
}

/* Cart */
.woocommerce-cart .entry, .woocommerce-checkout .entry, .woocommerce-account .entry { max-width: none; }
.woocommerce-cart .narrow, .woocommerce-checkout .narrow, .woocommerce-account .narrow { max-width: var(--max); }
.woocommerce table.shop_table { border: 0; border-collapse: collapse; border-radius: 0; margin: 0 0 2rem; }
.woocommerce table.shop_table th { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 500; padding: 1rem .75rem; border-bottom: 1px solid var(--c-char); text-align: left; }
.woocommerce table.shop_table td { padding: 1.25rem .75rem; border-top: 1px solid var(--c-line); vertical-align: middle; }
.woocommerce-cart table.cart img { width: 84px; height: 84px; object-fit: cover; background: #EDE7D6; }
.woocommerce a.remove { color: var(--c-char) !important; background: none; font-size: 1.4rem; }
.woocommerce a.remove:hover { background: var(--c-earth); color: var(--c-cream) !important; }
.woocommerce .quantity .qty { width: 4.5rem; text-align: center; }
.woocommerce-cart .cart-collaterals { display: block; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals { float: none; width: 100%; max-width: 480px; margin-left: auto; }
.cart_totals h2 { font-size: 2rem; }
.woocommerce .wc-proceed-to-checkout a.checkout-button { display: block; text-align: center; padding: 1.1rem; }
.woocommerce-cart table.cart td.actions .coupon { display: flex; gap: .5rem; float: left; flex-wrap: wrap; }
.woocommerce-cart table.cart td.actions .coupon .input-text { width: 12rem; }

@media (max-width: 768px) {
	.woocommerce table.shop_table_responsive tr td, .woocommerce-page table.shop_table_responsive tr td { padding: .8rem .5rem; }
	.woocommerce-cart table.cart td.actions .coupon { float: none; margin-bottom: 1rem; }
	.woocommerce-cart table.cart td.actions .button { width: 100%; }
}

/* Checkout */
.woocommerce-checkout h3, .woocommerce-checkout h2 { font-size: 2rem; }
.woocommerce form .form-row { padding: 0; margin: 0 0 1.1rem; }
.woocommerce form .form-row label { font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.woocommerce form .form-row .required { color: var(--c-earth); }
.woocommerce-checkout #payment { background: transparent; border: 1px solid var(--c-line); border-radius: 0; }
.woocommerce-checkout #payment div.payment_box { background: rgba(169, 184, 155, .25); color: inherit; border-radius: 0; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: rgba(169, 184, 155, .25); }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--c-line); }
.woocommerce #payment #place_order { width: 100%; padding: 1.1rem; float: none; }
.woocommerce-checkout-review-order-table { background: transparent; }
@media (min-width: 961px) {
	.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); column-gap: 4rem; align-items: start; }
	.woocommerce-checkout form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; }
	.woocommerce-checkout form.checkout #order_review_heading, .woocommerce-checkout form.checkout #order_review { grid-column: 2; }
	.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { float: none; width: 100%; }
}
.select2-container--default .select2-selection--single { border: 1px solid var(--c-line); border-radius: var(--radius); height: 46px; background: transparent; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 44px; padding-left: 1rem; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px; }

/* My Account */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.woocommerce-account:not(.logged-in) .woocommerce { display: block; max-width: 520px; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--c-line); }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--c-line); }
.woocommerce-MyAccount-navigation a { display: block; padding: .85rem 0; text-decoration: none; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; }
.woocommerce-MyAccount-navigation .is-active a { color: var(--c-earth); font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }
.woocommerce-form-login, .woocommerce-form-register, .woocommerce form.login, .woocommerce form.register { border: 1px solid var(--c-line); border-radius: 0; padding: 1.75rem; }
@media (max-width: 768px) { .woocommerce-account.logged-in .woocommerce { grid-template-columns: 1fr; } }

/* Star rating */
.woocommerce .star-rating span::before, .woocommerce .star-rating::before { color: var(--c-honey); }

/* Search results header on shop */
.woocommerce-no-products-found .woocommerce-info { margin-top: 1rem; }
