/**
 * WooCommerce styling: shop archive, product cards, single product, cart,
 * checkout and account pages. WooCommerce's own stylesheet is dequeued
 * (see inc/woocommerce.php) so these rules are the only styling those
 * pages get — written against WooCommerce's default template markup since
 * this theme intentionally does not override the plugin's templates.
 *
 * @package WeCuree
 */

/* -------------------------------------------------------------------- */
/* Breadcrumb                                                           */
/* -------------------------------------------------------------------- */
.breadcrumb { padding-top: 1.5rem; font-size: 0.85rem; color: rgba(42, 36, 28, 0.6); }
.breadcrumb__list { display: flex; flex-wrap: wrap; gap: 0.4em; }
.breadcrumb__list li:not(:last-child)::after { content: '/'; margin-left: 0.4em; opacity: 0.5; }
.breadcrumb__list a:hover { color: var(--color-green-dark); }

/* -------------------------------------------------------------------- */
/* Shop header                                                          */
/* -------------------------------------------------------------------- */
.woocommerce-products-header { margin-block: 1.5rem 2.5rem; }
.woocommerce-products-header__title { margin-bottom: 0.4rem; }
.woocommerce-result-count,
.woocommerce-ordering { font-size: 0.85rem; color: rgba(42, 36, 28, 0.65); }
.woocommerce-ordering select {
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-sm);
	padding: 0.5em 0.75em;
	background: var(--color-white);
}
form.woocommerce-ordering { margin-bottom: 2rem; }

/* -------------------------------------------------------------------- */
/* Product grid & cards (shop archive + homepage bestsellers)           */
/* -------------------------------------------------------------------- */
ul.products {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
	margin: 0 0 2.5rem !important;
}
ul.products li.product {
	list-style: none;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 1rem 1rem 1.5rem;
	position: relative;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
ul.products li.product { box-shadow: 0 2px 12px rgba(42, 36, 28, 0.05); }
ul.products li.product:hover { box-shadow: var(--shadow-soft); transform: translateY(-3px); }
ul.products li.product a.woocommerce-LoopProduct-link { display: block; }
ul.products li.product img {
	border-radius: var(--radius-sm);
	aspect-ratio: 4 / 5;
	object-fit: cover;
	background: var(--color-cream-dark);
	margin-bottom: 1rem;
}
.woocommerce-loop-product__title {
	font-family: var(--font-display);
	font-size: 1.05rem;
	margin: 0 0 0.35rem;
	color: var(--color-black);
}
ul.products .price {
	font-weight: 700;
	color: var(--color-black);
}
ul.products .price del { opacity: 0.5; font-weight: 400; margin-right: 0.4em; }
ul.products .price ins { text-decoration: none; }
ul.products .star-rating { font-size: 0.8rem; color: var(--color-gold); margin-bottom: 0.35rem; }

.product-badges { position: absolute; top: 0.85rem; left: 0.85rem; display: flex; flex-direction: column; gap: 0.4rem; z-index: 2; }
.badge {
	display: inline-flex; align-items: center; gap: 0.35em;
	font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em;
	padding: 0.35em 0.65em; border-radius: 999px;
}
.badge--bestseller { background: var(--color-black); color: var(--color-cream-soft); }
.badge--ayurvedic { background: var(--color-green-soft); color: var(--color-green-dark); }
.badge--ayurvedic .icon { width: 0.9em; height: 0.9em; }

.onsale {
	position: absolute; top: 0.85rem; right: 0.85rem; z-index: 2;
	background: var(--color-gold); color: var(--color-black);
	font-size: 0.68rem; font-weight: 700;
	padding: 0.35em 0.65em; border-radius: 999px;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.5em;
	background: var(--color-black); color: var(--color-cream-soft);
	padding: 0.75em 1.4em; border-radius: 999px;
	font-weight: 600; font-size: 0.88rem;
	margin-top: 0.75rem; width: 100%;
	transition: background-color 0.18s ease, transform 0.18s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: var(--color-green-dark); transform: translateY(-2px); }
.woocommerce a.button.loading { opacity: 0.6; }

@media (min-width: 640px) {
	ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 900px) {
	ul.products { grid-template-columns: repeat(3, 1fr); gap: 2rem; }
}

/* -------------------------------------------------------------------- */
/* Single product                                                       */
/* -------------------------------------------------------------------- */
.single-product div.product {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
	margin-block: 1.5rem 3rem;
}
.woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery__wrapper { border-radius: var(--radius-lg); overflow: hidden; background: var(--color-cream-dark); }
.woocommerce-product-gallery img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.flex-control-thumbs { display: flex; gap: 0.75rem; margin-top: 0.75rem; }
.flex-control-thumbs li { width: 72px; }
.flex-control-thumbs img { border-radius: var(--radius-sm); opacity: 0.65; transition: opacity 0.2s ease; }
.flex-control-thumbs img.flex-active { opacity: 1; outline: 2px solid var(--color-gold); }

.product_title { margin-bottom: 0.5rem; }
.summary .price { font-size: 1.6rem; font-family: var(--font-display); color: var(--color-black); display: block; margin-block: 0.5rem 1rem; }
.summary .price del { font-size: 1.1rem; opacity: 0.5; margin-right: 0.5em; }
.woocommerce-product-details__short-description { color: rgba(42, 36, 28, 0.8); margin-bottom: 1.25rem; }

.woocommerce-product-rating { display: flex; align-items: center; gap: 0.6em; margin-bottom: 1rem; }
.star-rating { color: var(--color-gold); font-size: 0.9rem; }
.woocommerce-review-link { font-size: 0.85rem; text-decoration: underline; }

form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-bottom: 1.25rem; }
.quantity { display: inline-flex; align-items: stretch; }
.quantity .qty {
	width: 3.4rem; text-align: center;
	border: 1.5px solid var(--color-border);
	border-left: none; border-right: none;
	padding: 0.75em 0.25em;
	-moz-appearance: textfield;
}
.quantity .qty::-webkit-outer-spin-button,
.quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.quantity__step {
	width: 2.4rem;
	border: 1.5px solid var(--color-border);
	background: var(--color-white);
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--color-black);
}
.quantity__step--minus { border-radius: var(--radius-sm) 0 0 var(--radius-sm); }
.quantity__step--plus { border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.quantity__step:hover { background: var(--color-cream-dark); }
.quantity:not(.wecuree-has-stepper) .qty {
	border-left: 1.5px solid var(--color-border);
	border-right: 1.5px solid var(--color-border);
	border-radius: var(--radius-sm);
	width: 4.2rem;
}
form.cart .button { width: auto; margin-top: 0; flex: 1 1 auto; min-width: 180px; }

.product-reassurance {
	display: flex; align-items: center; gap: 0.6em;
	font-size: 0.85rem; color: var(--color-green-dark);
	background: var(--color-green-soft);
	padding: 0.75em 1em; border-radius: var(--radius-sm);
	margin-bottom: 1.25rem;
}

.trust-row { display: grid; gap: 0.75rem; margin-top: 1.5rem; }
.trust-row li { display: flex; align-items: center; gap: 0.6em; font-size: 0.85rem; }
.trust-row .icon { color: var(--color-green-dark); width: 1.1rem; height: 1.1rem; }
@media (min-width: 500px) {
	.trust-row--product { grid-template-columns: repeat(2, 1fr); }
}

.woocommerce-tabs { margin-top: 3rem; border-top: 1px solid var(--color-border); padding-top: 2rem; }
.woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 2rem; }
.woocommerce-tabs ul.tabs li {
	list-style: none;
}
.woocommerce-tabs ul.tabs li a {
	display: inline-block;
	padding: 0.65em 1.25em;
	border-radius: 999px;
	background: var(--color-cream-dark);
	font-weight: 600; font-size: 0.88rem;
}
.woocommerce-tabs ul.tabs li.active a { background: var(--color-black); color: var(--color-cream-soft); }
.woocommerce-tabs .panel { max-width: 760px; }
.product-tab-list { display: grid; gap: 0.85rem; padding-left: 0; }
.product-tab-list li { list-style: none; display: flex; align-items: flex-start; gap: 0.6em; padding-left: 0; }
.product-tab-list--ingredients li::before { content: '•'; color: var(--color-gold); font-weight: 700; }
.product-tab-list--steps { counter-reset: usage-step; }
.product-tab-list--steps li { counter-increment: usage-step; }
.product-tab-list--steps li::before {
	content: counter(usage-step);
	flex-shrink: 0;
	display: inline-flex; align-items: center; justify-content: center;
	width: 1.6em; height: 1.6em; border-radius: 999px;
	background: var(--color-green-soft); color: var(--color-green-dark);
	font-weight: 700; font-size: 0.8rem;
}
.product-tab-list--benefits .icon { color: var(--color-green-dark); margin-top: 0.15em; }

.related.products,
.upsells.products { margin-top: 4rem; }
.related.products > h2,
.upsells.products > h2 { font-size: 1.6rem; margin-bottom: 1.5rem; }

@media (min-width: 900px) {
	.single-product div.product { grid-template-columns: 1fr 1fr; gap: 3.5rem; }
}

/* -------------------------------------------------------------------- */
/* Cart page                                                            */
/* -------------------------------------------------------------------- */
.woocommerce-cart-form table.shop_table { width: 100%; border-collapse: collapse; margin-bottom: 2rem; }
.woocommerce-cart-form table.shop_table th { text-align: left; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.04em; color: rgba(42,36,28,0.55); padding-bottom: 0.75rem; border-bottom: 1px solid var(--color-border); }
.woocommerce-cart-form table.shop_table td { padding: 1.1rem 0.5rem; border-bottom: 1px solid var(--color-border); vertical-align: middle; }
.woocommerce-cart-form .product-thumbnail img { width: 64px; height: 80px; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius-sm); }
.woocommerce-cart-form .product-remove a { font-size: 1.3rem; color: rgba(42,36,28,0.4); }
.woocommerce-cart-form .product-remove a:hover { color: #a6392a; }
td.actions .button { width: auto !important; }
.cart-collaterals { margin-top: 2rem; }
.cart_totals { background: var(--color-cream-soft); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: 1.75rem; }
.cart_totals h2 { margin-bottom: 1rem; }
.cart_totals table { width: 100%; }
.cart_totals table th,
.cart_totals table td { padding: 0.6rem 0; border-bottom: 1px solid var(--color-border); }
.cart_totals .order-total .amount { font-weight: 700; font-size: 1.2rem; }
.wc-proceed-to-checkout .button { width: 100%; }
.trust-row--cart { margin-top: 1.5rem; }

@media (min-width: 900px) {
	.woocommerce-cart .cart-collaterals { display: grid; grid-template-columns: 1fr; }
}

/* -------------------------------------------------------------------- */
/* Checkout page                                                        */
/* -------------------------------------------------------------------- */
.woocommerce-checkout { display: block; }
.checkout.woocommerce-checkout { display: grid; grid-template-columns: 1fr; gap: 2.5rem; }
#customer_details { background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: 1.75rem; }
.woocommerce-billing-fields h3,
#order_review_heading { margin-bottom: 1.25rem; }
.form-row { margin-bottom: 1.1rem; }
.form-row label { font-size: 0.85rem; font-weight: 600; margin-bottom: 0.35rem; display: block; }
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
	width: 100%;
	padding: 0.8em 1em;
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: var(--color-white);
}
.woocommerce-checkout .select2-container { width: 100% !important; }

#order_review {
	background: var(--color-cream-soft);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 1.75rem;
}
table.woocommerce-checkout-review-order-table th,
table.woocommerce-checkout-review-order-table td { padding: 0.75rem 0; border-bottom: 1px solid var(--color-border); }
.woocommerce-checkout-review-order-table .order-total .amount { font-weight: 700; font-size: 1.15rem; }

.checkout-payment-note {
	display: flex; align-items: center; gap: 0.6em;
	font-size: 0.82rem; color: var(--color-green-dark);
	background: var(--color-green-soft);
	padding: 0.75em 1em; border-radius: var(--radius-sm);
	margin-block: 1rem;
}

ul.payment_methods { border-top: 1px solid var(--color-border); padding-top: 1rem; }
ul.payment_methods li {
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	padding: 0.85em 1em;
	margin-bottom: 0.75rem;
}
ul.payment_methods li label { font-weight: 600; }
.payment_box { background: var(--color-white); padding: 1em; margin-top: 0.75rem; border-radius: var(--radius-sm); font-size: 0.88rem; }

#place_order { width: 100%; font-size: 1rem; padding: 1em 1.5em; }

@media (min-width: 900px) {
	.checkout.woocommerce-checkout { grid-template-columns: 1.2fr 1fr; align-items: start; }
}

/* -------------------------------------------------------------------- */
/* Account pages (minimal, orders/track-order friendly)                 */
/* -------------------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 2rem; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: inline-block; padding: 0.6em 1.1em; border-radius: 999px;
	background: var(--color-cream-dark); font-size: 0.85rem; font-weight: 600;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--color-black); color: var(--color-cream-soft); }
.woocommerce-MyAccount-content table.shop_table { width: 100%; }
.woocommerce-MyAccount-content table.shop_table th,
.woocommerce-MyAccount-content table.shop_table td { padding: 0.75rem 0.5rem; border-bottom: 1px solid var(--color-border); }

/* -------------------------------------------------------------------- */
/* Notices                                                               */
/* -------------------------------------------------------------------- */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
	list-style: none;
	background: var(--color-green-soft);
	color: var(--color-green-dark);
	border-radius: var(--radius-sm);
	padding: 1em 1.25em;
	margin: 1.5rem 0;
	font-weight: 600;
}
.woocommerce-error { background: #f7e3df; color: #8a3b2c; }
.woocommerce-message .button,
.woocommerce-info .button { margin-left: 1em; width: auto; }
