/* ==========================================================================
   ADARA BEAUTY — WooCommerce overrides (loaded only when Woo is active)
   ========================================================================== */

.woocommerce-page .container--shop { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }

/* Shop notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
	background: var(--surface); border: 1px solid var(--c-line); border-left: 3px solid var(--c-sage);
	border-radius: var(--r-md); padding: 1rem 1.2rem; color: var(--text); list-style: none;
	margin-bottom: var(--sp-5); font-size: var(--fs-300);
}
.woocommerce-error { border-left-color: var(--c-clay); }
.woocommerce-message a.button, .woocommerce-info a.button { float: right; }

/* Result count + ordering bar */
.woocommerce-result-count { color: var(--text-muted); font-size: var(--fs-300); margin: 0; }
.woocommerce-ordering select { padding: .55em 2.2em .55em 1em; border-radius: var(--r-pill); border: 1.5px solid var(--c-line-strong); background: var(--surface); }
.shop-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: var(--sp-6); }

/* Product grid */
.woocommerce ul.products, .woocommerce-page ul.products {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gutter); margin: 0; padding: 0; list-style: none;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none; }
@media (max-width: 900px) { .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: 1fr; } }

ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; }

/* Product card (our content-product.php) */
.product-card { background: var(--surface); border: 1px solid var(--c-line); border-radius: var(--r-lg); overflow: hidden; display: flex; flex-direction: column; height: 100%; transition: transform var(--dur) var(--ease-out), box-shadow var(--dur); position: relative; }
.product-card:hover { transform: translateY(-6px); box-shadow: var(--sh-lg); }
.product-card__media { position: relative; aspect-ratio: 1/1; overflow: hidden; background: #fff; display: block; }
.product-card__media img { width: 100%; height: 100%; object-fit: contain; padding: 8%; transition: transform var(--dur-slow) var(--ease-out); margin: 0; }
.product-card:hover .product-card__media img { transform: scale(1.04); }
.product-card__brand { position: absolute; top: .8rem; left: .8rem; z-index: 2; font-size: var(--fs-200); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--c-sage-700); background: var(--bg); padding: .35em .7em; border-radius: var(--r-pill); }
.product-card__body { padding: 1.1rem 1.2rem 1.3rem; display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.product-card__title { font-family: var(--ff-display); font-size: var(--fs-500); line-height: 1.2; margin: 0; }
.product-card__title a { color: var(--text); transition: color var(--dur); }
.product-card:hover .product-card__title a { color: var(--c-clay-600); }
.product-card .price { font-family: var(--ff-display); font-size: var(--fs-500); color: var(--c-forest); display: block; }
/* Beat WooCommerce's default green price colour (.woocommerce ul.products li.product .price). */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .woocommerce-Price-amount,
.woocommerce div.product .price .woocommerce-Price-amount { color: var(--c-forest); }
.product-card .price del, .woocommerce ul.products li.product .price del { color: var(--c-ink-70); font-size: .7em; margin-right: .4em; opacity: 1; }
.product-card .price ins, .woocommerce ul.products li.product .price ins { color: var(--c-clay-btn); text-decoration: none; }
.product-card__foot { margin-top: auto; padding-top: .6rem; display: flex; align-items: center; justify-content: space-between; gap: .6rem; }

.onsale { position: absolute; top: .8rem; right: .8rem; z-index: 2; background: var(--c-clay-btn); color: #fff; font-size: var(--fs-200); font-weight: 700; padding: .35em .7em; border-radius: var(--r-pill); text-transform: uppercase; letter-spacing: .04em; }

/* Buttons in Woo context */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce .button,
.wc-block-components-button, .wp-block-woocommerce-cart .wc-block-cart__submit-button {
	background-color: var(--c-sage-700) !important; color: #fff !important; border-radius: var(--r-pill); padding: .7em 1.3em; font-weight: 600; font-size: var(--fs-300); border: 0; transition: background var(--dur), transform var(--dur); line-height: 1.2;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce .button:hover, .woocommerce #respond input#submit:hover, .wc-block-components-button:hover { background-color: #454d3a !important; transform: translateY(-2px); }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce .single_add_to_cart_button, .woocommerce #place_order,
.wc-block-components-checkout-place-order-button, .wc-block-cart__submit-button {
	background-color: var(--c-clay-btn) !important; box-shadow: var(--sh-clay); color: #fff !important;
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce .single_add_to_cart_button:hover, .woocommerce #place_order:hover, .wc-block-components-checkout-place-order-button:hover { background-color: var(--c-clay-btn-hover) !important; }
/* WooCommerce dims .disabled buttons to 0.5 which fails AA on the visual-only
   "select a variation" state — keep them full-contrast (intent shown via cursor). */
.woocommerce .button.disabled, .woocommerce .single_add_to_cart_button.disabled { opacity: 1 !important; cursor: not-allowed; }
.product-card .button.adara-enquire, .adara-enquire { background-color: transparent !important; color: var(--c-sage-700) !important; border: 1.5px solid var(--c-sage); }
.product-card .button.adara-enquire:hover, .adara-enquire:hover { background-color: var(--c-sage-700) !important; color: #fff !important; }
.price--enquiry { font-family: var(--ff-body); font-style: italic; color: var(--c-sage-700); font-size: var(--fs-300); }

.added_to_cart { display: inline-block; margin-left: .5rem; font-size: var(--fs-200); color: var(--c-sage-700); text-decoration: underline; }

/* ---------- Single product ---------- */
.single-product div.product { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.single-product .woocommerce-product-gallery { margin: 0; }
.single-product .woocommerce-product-gallery img { border-radius: var(--r-lg); background: #fff; }
.single-product div.product .product_title { font-size: var(--fs-800); margin: .2em 0 .3em; }
.single-product .woocommerce-product-rating { margin-bottom: 1rem; }
.single-product div.product p.price, .single-product div.product span.price { font-family: var(--ff-display); font-size: var(--fs-700); color: var(--c-forest); }
.single-product .woocommerce-product-details__short-description { color: var(--text-muted); margin: 1.2rem 0; line-height: 1.6; }
.single-product .quantity input.qty { width: 4.5rem; padding: .7em; border-radius: var(--r-md); border: 1.5px solid var(--c-line-strong); text-align: center; }
.single-product form.cart { display: flex; gap: .8rem; align-items: center; flex-wrap: wrap; margin: 1.5rem 0; }
.single-product .single_add_to_cart_button { padding: .9em 1.8em; }
.single-product .product_meta { font-size: var(--fs-300); color: var(--text-muted); margin-top: 1.5rem; border-top: 1px solid var(--c-line); padding-top: 1rem; }
.single-product .product_meta > span { display: block; margin-bottom: .3rem; }
.adara-enquiry-box { background: var(--surface); border: 1px solid var(--c-line); border-radius: var(--r-lg); padding: 1.5rem; margin: 1.5rem 0; }
.adara-enquiry-box p { margin-bottom: 1rem; color: var(--text-muted); }

/* variations */
.woocommerce div.product form.cart .variations { margin-bottom: 1rem; }
.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th { padding: .4rem .6rem .4rem 0; }
.woocommerce div.product form.cart .variations select { min-width: 200px; }
.single-product .variations_form.cart { display: block; }
.single-product .woocommerce-variation-add-to-cart { display: flex; gap: .8rem; align-items: center; flex-wrap: wrap; margin-top: 1rem; }

/* tabs → cards */
.woocommerce-tabs { margin-top: 3rem; grid-column: 1 / -1; }
.woocommerce-tabs ul.tabs { display: flex; gap: .5rem; list-style: none; padding: 0; margin: 0 0 1.5rem; border-bottom: 1px solid var(--c-line); flex-wrap: wrap; }
.woocommerce-tabs ul.tabs li { margin: 0; }
.woocommerce-tabs ul.tabs li a { display: inline-block; padding: .8rem 1.2rem; font-weight: 600; color: var(--text-muted); border-bottom: 2px solid transparent; }
.woocommerce-tabs ul.tabs li.active a { color: var(--c-forest); border-bottom-color: var(--c-clay); }
.woocommerce-tabs .panel { color: var(--text-muted); line-height: 1.7; }
.woocommerce-tabs .panel h2 { font-size: var(--fs-600); color: var(--text); margin-bottom: 1rem; }

@media (max-width: 820px) { .single-product div.product { grid-template-columns: 1fr; } }

/* related products */
.related.products, .up-sells { grid-column: 1 / -1; margin-top: 3.5rem; }
.related.products > h2, .up-sells > h2, .cross-sells > h2 { font-family: var(--ff-display); font-size: var(--fs-700); margin-bottom: 1.5rem; }

/* ---------- Cart ---------- */
.woocommerce-cart .shop_table { width: 100%; border-collapse: collapse; background: var(--surface); border: 1px solid var(--c-line); border-radius: var(--r-lg); overflow: hidden; }
.woocommerce-cart .shop_table th { text-align: left; padding: 1rem; font-size: var(--fs-300); text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted); border-bottom: 1px solid var(--c-line); }
.woocommerce-cart .shop_table td { padding: 1rem; border-bottom: 1px solid var(--c-line); vertical-align: middle; }
.woocommerce-cart .cart_item img { width: 64px; border-radius: var(--r-sm); }
.woocommerce-cart .cart-collaterals { margin-top: 2rem; display: flex; justify-content: flex-end; }
.woocommerce-cart .cart_totals { width: min(420px, 100%); background: var(--surface); border: 1px solid var(--c-line); border-radius: var(--r-lg); padding: 1.5rem; }
.woocommerce-cart .cart_totals h2 { font-family: var(--ff-display); margin-bottom: 1rem; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button { display: block; text-align: center; margin-top: 1rem; }
.woocommerce .cart-empty { font-size: var(--fs-500); font-family: var(--ff-display); }

/* ---------- Checkout ---------- */
.woocommerce-checkout .col2-set, .woocommerce-checkout #customer_details { display: grid; grid-template-columns: 1fr; gap: 1rem; }
.woocommerce-checkout h3 { font-family: var(--ff-display); font-size: var(--fs-600); margin-bottom: 1rem; }
.woocommerce form .form-row { margin-bottom: 1rem; }
.woocommerce form .form-row label { font-weight: 600; font-size: var(--fs-300); margin-bottom: .3rem; display: block; }
.woocommerce-checkout #order_review { background: var(--surface); border: 1px solid var(--c-line); border-radius: var(--r-lg); padding: 1.5rem; margin-top: 1.5rem; }
.woocommerce-checkout #payment { background: transparent; border-radius: var(--r-md); }
@media (min-width: 900px) { .woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1.4fr 1fr; gap: 2.5rem; align-items: start; } .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 2; } .woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; } }

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin-bottom: 2rem; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: inline-block; padding: .6rem 1.1rem; border-radius: var(--r-pill); border: 1px solid var(--c-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--c-sage); color: #fff; border-color: var(--c-sage); }
.woocommerce form.login, .woocommerce form.register { background: var(--surface); border: 1px solid var(--c-line); border-radius: var(--r-lg); padding: 1.5rem; max-width: 460px; }

/* Pagination */
.woocommerce nav.woocommerce-pagination ul { display: flex; gap: .4rem; justify-content: center; border: 0; margin-top: 3rem; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { display: inline-flex; min-width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: var(--r-pill); border: 1px solid var(--c-line); padding: 0; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--c-sage); color: #fff; border-color: var(--c-sage); }
