/* =================================================================
   WEIGHT & MIND ACADEMY — WooCommerce bridge
   Maps WooCommerce's default markup onto the design system tokens
   defined in main.css (:root). Loaded only on Woo pages.
   ================================================================= */

.wm-woocommerce { padding-top: clamp(8px, 3vw, 26px); }
.woocommerce .wm-woocommerce, .woocommerce-page .wm-woocommerce { }

/* ---- buttons → design pills ---- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #place_order,
.woocommerce .checkout-button {
	display: inline-flex; align-items: center; justify-content: center; gap: .55em;
	font-family: var(--sans); font-size: .92rem; font-weight: 600; letter-spacing: .01em;
	padding: 1.02em 1.7em; border-radius: 100px;
	background: var(--ink); color: var(--paper);
	border: 0; line-height: 1; text-transform: none;
	transition: all .4s var(--ease);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #place_order:hover,
.woocommerce .checkout-button:hover { background: var(--mauve-deepest); color: var(--paper); }
.woocommerce .button.checkout, .woocommerce .checkout-button, .woocommerce #place_order { width: 100%; }

/* secondary / ghost buttons (continue shopping, update cart, view cart) */
.woocommerce .cart .button[name="update_cart"],
.woocommerce a.button.wc-backward,
.woocommerce-mini-cart__buttons a.button:not(.checkout) {
	background: transparent; color: var(--ink); border: 1px solid var(--line);
}
.woocommerce .cart .button[name="update_cart"]:hover,
.woocommerce a.button.wc-backward:hover,
.woocommerce-mini-cart__buttons a.button:not(.checkout):hover {
	background: var(--ink); color: var(--paper); border-color: var(--ink);
}

/* ---- messages / notices ---- */
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.woocommerce-notices-wrapper .wc-block-components-notice-banner {
	border: 1px solid var(--line); border-left: 3px solid var(--mauve-deep);
	background: var(--cream); border-radius: 10px; padding: 16px 18px; color: var(--ink);
	font-size: .95rem; margin-bottom: 22px; list-style: none;
}
.woocommerce-error { border-left-color: #b4564f; }
.woocommerce-message a, .woocommerce-info a, .woocommerce-error a { color: var(--mauve-deep); font-weight: 600; }

/* ---- shop loop (products grid) ---- */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(18px, 2.4vw, 32px); margin: 0; padding: 0; list-style: none; }
.woocommerce ul.products li.product { margin: 0; width: auto; float: none; text-align: left; border: 1px solid var(--line); border-radius: 12px; background: var(--cream); padding: clamp(20px,2.4vw,30px); transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.woocommerce ul.products li.product:hover { transform: translateY(-5px); box-shadow: 0 30px 56px -34px rgba(43,45,49,.3); }
.woocommerce ul.products li.product img { border-radius: 8px; margin-bottom: 1em; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--serif); font-size: 1.3rem; font-weight: 500; padding: 0; }
.woocommerce ul.products li.product .price { color: var(--mauve-deepest); font-family: var(--serif); font-size: 1.25rem; }
.woocommerce ul.products li.product .price del { color: var(--ink-faint); font-size: .9em; }
.woocommerce ul.products li.product .button { margin-top: 1em; }
@media (max-width: 980px) { .woocommerce ul.products { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .woocommerce ul.products { grid-template-columns: 1fr; } }

/* ---- single product ---- */
.single-product div.product { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(34px, 5vw, 72px); align-items: start; }
.single-product div.product .woocommerce-product-gallery { margin: 0; }
.single-product div.product .woocommerce-product-gallery img { border-radius: 14px; }
.single-product div.product .product_title { font-family: var(--serif); font-size: clamp(2rem, 3.6vw, 3rem); font-weight: 400; }
.single-product div.product p.price, .single-product div.product span.price { color: var(--mauve-deepest); font-family: var(--serif); font-size: 2rem; }
.single-product div.product .woocommerce-product-details__short-description { color: var(--ink-soft); }
.single-product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 1em; }
.single-product .woocommerce-tabs ul.tabs { padding: 0; border-bottom: 1px solid var(--line); display: flex; gap: 8px; list-style: none; }
.single-product .woocommerce-tabs ul.tabs li { background: none; border: 0; border-radius: 0; margin: 0; }
.single-product .woocommerce-tabs ul.tabs li a { color: var(--ink-soft); font-weight: 600; padding: 12px 4px; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--ink); border-bottom: 2px solid var(--mauve); }
.single-product .quantity input.qty { width: 64px; }
@media (max-width: 920px) { .single-product div.product { grid-template-columns: 1fr; } }

/* ---- quantity input (real Woo uses input.qty) ---- */
.woocommerce .quantity input.qty {
	height: 44px; width: 70px; text-align: center;
	border: 1px solid var(--line); border-radius: 100px; background: var(--paper);
	font-family: var(--sans); font-size: .95rem; color: var(--ink);
	-moz-appearance: textfield;
}
.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* ---- cart page (real Woo markup; complements .shop_table.cart in main.css) ---- */
.woocommerce table.shop_table { border: 0; border-radius: 0; }
.woocommerce-cart table.cart img { width: 80px; border-radius: 8px; }
.woocommerce-cart table.cart td.product-name a { font-family: var(--serif); font-size: 1.15rem; font-weight: 500; color: var(--ink); }
.woocommerce-cart table.cart td.product-name a:hover { color: var(--mauve-deep); }
.woocommerce a.remove { color: var(--ink-soft) !important; border: 1px solid var(--line); border-radius: 50%; }
.woocommerce a.remove:hover { background: #b4564f !important; color: #fff !important; border-color: #b4564f; }
.woocommerce .cart-collaterals .cart_totals { background: var(--cream); border: 1px solid var(--line); border-radius: 14px; padding: clamp(24px,3vw,34px); }
.woocommerce .cart_totals h2 { font-family: var(--serif); font-weight: 500; }
.woocommerce .cart_totals .order-total .amount { color: var(--mauve-deepest); font-family: var(--serif); }
.woocommerce form.woocommerce-cart-form .coupon { display: flex; gap: 10px; }
.woocommerce #coupon_code { border: 1px solid var(--line); border-radius: 100px; padding: 11px 16px; background: var(--paper); }

/* ---- checkout — layout comes from .checkout-cols / .checkout-review in main.css
   (the theme's form-checkout.php emits the design wrapper) ---- */
.woocommerce-checkout #customer_details .col2-set, .woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; }
.woocommerce-checkout h3 { font-family: var(--serif); font-size: 1.5rem; font-weight: 500; margin-bottom: 1em; padding-bottom: .6em; border-bottom: 1px solid var(--line); }
.woocommerce form .form-row label { font-size: .82rem; font-weight: 600; color: var(--ink); margin-bottom: .5em; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row .select2-container .select2-selection,
.woocommerce form .form-row select {
	width: 100%; font-family: var(--sans); font-size: 1rem; color: var(--ink);
	background: var(--paper); border: 1px solid var(--line); border-radius: 8px; padding: 13px 15px;
	transition: border-color .25s, box-shadow .25s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus { outline: none; border-color: var(--mauve-deep); box-shadow: 0 0 0 3px var(--mauve-tint); }
.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { border: 0; padding: 0; }
.woocommerce-checkout #payment ul.payment_methods li { border: 1px solid var(--line); border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: var(--paper); list-style: none; }
.woocommerce-checkout #payment div.payment_box { background: var(--mauve-wash); border-radius: 8px; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--mauve-wash); }

/* ---- order received ---- */
.woocommerce ul.order_details { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px,1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; margin: 2em 0; padding: 0; }
.woocommerce ul.order_details li { background: var(--cream); padding: 18px 22px; border: 0; float: none; text-transform: none; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-faint); }
.woocommerce ul.order_details li strong { display: block; font-family: var(--serif); font-size: 1.15rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--ink); margin-top: .3em; }

/* ---- account ---- */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 0 2em; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: inline-block; padding: 8px 16px; border: 1px solid var(--line); border-radius: 100px; font-size: .9rem; font-weight: 600; color: var(--ink-soft); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--ink); color: var(--paper); border-color: var(--ink); }

/* ---- mini-cart action buttons (rendered outside .woocommerce, in the header drawer) ---- */
.mini-cart-actions .button,
.mini-cart-actions a {
	display: inline-flex; align-items: center; justify-content: center; gap: .55em;
	width: 100%; padding: 1.02em 1.7em; border-radius: 100px;
	font-family: var(--sans); font-weight: 600; font-size: .92rem; line-height: 1;
	transition: all .4s var(--ease);
}
.mini-cart-actions a.button:not(.checkout) { background: transparent; color: var(--ink); border: 1px solid var(--line); }
.mini-cart-actions a.button:not(.checkout):hover { background: var(--ink); color: var(--paper); }
.mini-cart-actions a.button.checkout { background: var(--ink); color: var(--paper); }
.mini-cart-actions a.button.checkout:hover { background: var(--mauve-deepest); }
.mini_cart_item .mc-info { min-width: 0; }
.mini_cart_item .mc-name a { color: var(--ink); }
.mini_cart_item .mc-name a:hover { color: var(--mauve-deep); }
.mini_cart_item .quantity { font-size: .85rem; color: var(--ink-soft); }
.mini_cart_item .mc-thumb { display: block; }

/* CURCY currency switcher + TranslatePress language switcher fit the header pill */
.header-cta .lang-switch .trp-language-switcher { display: inline-flex; }
.header-cta .wcml-dropdown, .header-cta .woo-multi-currency, .lang-switch .wmc-currency-wrapper { display: inline-flex; align-items: center; }
