/*
 * Mica theme: WooCommerce pages (loaded only when WooCommerce is active).
 * Shop grid, department head, product page, cart, checkout, account, notices.
 */

/* ---------- Department head ---------- */
.m-shophead { padding-top: clamp(2.25rem, 1.5rem + 2.5vw, 3.5rem); }
.m-shophead__up { display: inline-flex; align-items: center; gap: .45rem; margin-bottom: .75rem; font-weight: 600; font-size: var(--m-t-small); color: var(--m-ink-2); text-decoration: none; }
.m-shophead__up:hover { color: var(--m-sign); text-decoration: underline; }
.m-shophead__up .m-arrow { width: 1.1em; height: 1.1em; }
.m-shophead__row { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem 1.25rem; }
.m-shophead h1 { font-size: clamp(2.4rem, 1.6rem + 3.4vw, 5rem); letter-spacing: -0.035em; }
.m-shophead__n { font-weight: 600; color: var(--m-ink-2); font-size: 1.125rem; }
.m-shophead__desc { max-width: 70ch; margin-top: .75rem; color: var(--m-ink-2); }
.m-shophead .m-chiprow { margin: 1.25rem 0 0; }
.m-shop { padding-top: clamp(1.5rem, 1rem + 1vw, 2rem); }
.m-shopbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem; margin-bottom: 1.25rem; }
.mica-site .m-shopbar .woocommerce-result-count { margin: 0; float: none; font-weight: 600; color: var(--m-ink-2); }
.mica-site .m-shopbar .woocommerce-ordering { margin: 0; float: none; }
.mica-site .woocommerce-ordering select { height: 46px; appearance: none; border: 2px solid var(--m-kerb); border-radius: 8px; padding: .4rem 2.4rem .3rem .9rem; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230c2031' stroke-width='2.4'/%3E%3C/svg%3E") right .9rem center / 12px no-repeat; font: 600 .9375rem var(--m-font); color: var(--m-ink); cursor: pointer; }

/* ---------- Product grid ---------- */
.mica-site ul.products { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(.6rem, .4rem + .6vw, 1rem); }
.mica-site ul.products::before, .mica-site ul.products::after { display: none; }
.mica-site ul.products li.product { width: auto !important; float: none !important; clear: none !important; margin: 0 !important; padding: 0; text-align: left; }
.mica-site ul.products li.product .m-card { height: 100%; }
.mica-site .m-card .onsale { display: none; }
.mica-site .m-card.is-out .m-card__img { opacity: .55; }
.mica-site .m-card__flag.is-out { background: var(--m-kerb); }
.mica-site .m-card .m-price .woocommerce-Price-amount { font-weight: 700; }
.mica-site .woocommerce-pagination { margin-top: 2.5rem; }
.mica-site .woocommerce-pagination ul.page-numbers { display: flex; flex-wrap: wrap; gap: .4rem; border: 0; margin: 0; }
.mica-site .woocommerce-pagination ul.page-numbers li { border: 0; }
.mica-site .woocommerce-pagination .page-numbers a, .mica-site .woocommerce-pagination .page-numbers span { display: inline-grid; place-items: center; min-width: 46px; height: 46px; padding: 0 .6rem; border-radius: 8px; background: var(--m-face); font-weight: 600; color: var(--m-ink); }
.mica-site .woocommerce-pagination .page-numbers span.current { background: var(--m-sign); color: #fff; }
.mica-site .woocommerce-pagination .page-numbers a:hover { background: var(--m-yellow); }

/* ---------- Single product ---------- */
.m-crumbs { margin-bottom: 1.25rem; font-weight: 600; font-size: var(--m-t-small); color: var(--m-ink-2); }
.m-crumbs a { text-decoration: none; }
.m-crumbs a:hover { text-decoration: underline; color: var(--m-sign); }
.mica-site .m-pdp div.product { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(1.5rem, 1rem + 3vw, 4rem); align-items: start; position: relative; }
.mica-site .m-pdp div.product > .onsale { position: absolute; top: 1rem; left: 1rem; z-index: 3; min-height: 0; min-width: 0; margin: 0; padding: .35em .7em .25em; border-radius: 6px; background: var(--m-orange); color: var(--m-ink); font-weight: 700; line-height: 1.3; }
/* `div.images` matches WooCommerce's own selector, which otherwise wins and turns sticky into relative + top (the photo then slid over the title on phones). */
.mica-site .m-pdp div.product div.images.woocommerce-product-gallery { width: auto; float: none; margin: 0; background: var(--m-face); border-radius: var(--m-r); padding: clamp(1rem, .5rem + 2vw, 2.5rem); position: sticky; top: calc(var(--m-head-h) + 1rem); }
.mica-site .m-pdp .woocommerce-product-gallery__image img { mix-blend-mode: multiply; }
.mica-site .m-pdp .woocommerce-product-gallery__trigger { top: 1rem; right: 1rem; }
.mica-site .m-pdp .flex-control-thumbs { display: flex; gap: .5rem; margin-top: 1rem; }
.mica-site .m-pdp .flex-control-thumbs li { width: 72px !important; float: none !important; }
.mica-site .m-pdp .flex-control-thumbs img { border-radius: 6px; border: 2px solid var(--m-kerb); opacity: 1; }
.mica-site .m-pdp .flex-control-thumbs img.flex-active { border-color: var(--m-sign); }
.mica-site .m-pdp div.product .summary { width: auto; float: none; margin: 0; }
.mica-site .m-pdp .product_title { font-size: clamp(1.9rem, 1.4rem + 2vw, 3rem); letter-spacing: -0.025em; line-height: 1.05; margin-bottom: 1rem; }
.mica-site .m-pdp div.product p.price, .mica-site .m-pdp div.product span.price { color: var(--m-ink); font-size: 2.25rem; font-weight: 700; font-variant-numeric: proportional-nums; letter-spacing: -0.03em; margin-bottom: 1rem; }
.mica-site .m-pdp div.product p.price del { font-size: 1.125rem; color: var(--m-ink-2); opacity: 1; display: block; font-weight: 600; }
.mica-site .m-pdp div.product p.price ins { text-decoration: none; }
.mica-site .m-pdp .woocommerce-product-details__short-description { color: var(--m-ink-2); font-size: 1.0625rem; margin-bottom: 1.25rem; }
.mica-site .m-pdp .stock { font-weight: 600; }
.mica-site .m-pdp .stock.in-stock { color: #1d6b24; }
.mica-site .m-pdp form.cart { display: flex; flex-wrap: wrap; gap: .6rem; align-items: stretch; margin-bottom: 0; }
.mica-site .m-pdp form.cart::before, .mica-site .m-pdp form.cart::after { display: none; }
.mica-site .quantity .qty { width: 84px; height: 56px; border: 2px solid var(--m-kerb); border-radius: 8px; font: 600 1.125rem var(--m-font); text-align: center; color: var(--m-ink); background: #fff; }
.mica-site .m-pdp form.cart .button, .mica-site .woocommerce .button, .mica-site .woocommerce button.button, .mica-site .woocommerce a.button, .mica-site .woocommerce input.button, .mica-site .wc-block-components-button:not(.is-link) {
	min-height: 52px; padding: .8rem 1.4rem .65rem; border: 0; border-radius: 8px; background: var(--m-yellow); color: var(--m-ink); font: 600 1.0625rem/1 var(--m-font); text-decoration: none; cursor: pointer; transition: background-color .2s var(--m-ease);
}
.mica-site .m-pdp form.cart .single_add_to_cart_button { flex: 1 1 220px; min-height: 56px; font-size: 1.125rem; }
.mica-site .woocommerce .button:hover, .mica-site .m-pdp form.cart .button:hover, .mica-site .wc-block-components-button:not(.is-link):hover { background: #ffe54d; color: var(--m-ink); }
.mica-site .woocommerce .button.alt, .mica-site .woocommerce button.button.alt, .mica-site .woocommerce a.button.alt { background: var(--m-sign); color: #fff; }
.mica-site .woocommerce .button.alt:hover { background: var(--m-sign-deep); color: #fff; }
.mica-site .woocommerce .button:disabled, .mica-site .woocommerce .button.disabled { opacity: .5; }
.mica-site .m-pdp .product_meta { margin-top: 1rem; font-size: var(--m-t-small); color: var(--m-ink-2); display: grid; gap: .25rem; }
.mica-site .m-pdp .product_meta a { color: var(--m-sign-deep); font-weight: 600; }
.mica-site .m-pdp table.variations { margin-bottom: 1rem; }
.mica-site .m-pdp table.variations select { min-height: 48px; border: 2px solid var(--m-kerb); border-radius: 8px; padding: .4rem .7rem; font: 600 1rem var(--m-font); }
/* Tabs: one white panel with an underlined tab bar along its top. `div.product` is in every selector because WooCommerce's own tab rules carry it. */
.mica-site .m-pdp div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: clamp(1.5rem, 1rem + 2vw, 3rem); background: var(--m-face); border-radius: var(--m-r); padding: 0 clamp(1.25rem, .75rem + 2vw, 2.5rem) clamp(1.5rem, 1rem + 2vw, 2.5rem); }
.mica-site .m-pdp div.product .woocommerce-tabs ul.tabs { display: flex; gap: clamp(1.25rem, .75rem + 1.5vw, 2.25rem); padding: 0; margin: 0 0 clamp(1.25rem, 1rem + 1vw, 2rem); border-bottom: 2px solid var(--m-kerb); overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
.mica-site .m-pdp div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
.mica-site .m-pdp div.product .woocommerce-tabs ul.tabs::before, .mica-site .m-pdp div.product .woocommerce-tabs ul.tabs li::before, .mica-site .m-pdp div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.mica-site .m-pdp div.product .woocommerce-tabs ul.tabs li { flex: none; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
.mica-site .m-pdp div.product .woocommerce-tabs ul.tabs li a { position: relative; display: block; padding: 1.15rem 0 1rem; font-weight: 600; font-size: 1.0625rem; color: var(--m-ink-2); white-space: nowrap; text-decoration: none; }
.mica-site .m-pdp div.product .woocommerce-tabs ul.tabs li a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 4px; border-radius: 4px 4px 0 0; background: var(--m-sign); transform: scaleX(0); transition: transform .3s var(--m-ease); }
.mica-site .m-pdp div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--m-ink); }
.mica-site .m-pdp div.product .woocommerce-tabs ul.tabs li a:hover::after { transform: scaleX(1); background: var(--m-kerb); }
.mica-site .m-pdp div.product .woocommerce-tabs ul.tabs li.active a { color: var(--m-ink); }
.mica-site .m-pdp div.product .woocommerce-tabs ul.tabs li.active a::after { transform: scaleX(1); background: var(--m-sign); }
.mica-site .m-pdp div.product .woocommerce-tabs ul.tabs li a:focus-visible { outline: 3px solid var(--m-orange); outline-offset: 2px; border-radius: 4px; }
.mica-site .m-pdp div.product .woocommerce-tabs .panel { margin: 0; padding: 0; }
.mica-site .m-pdp .woocommerce-product-gallery__trigger { width: 44px !important; height: 44px !important; }
.mica-site .m-pdp .woocommerce-Tabs-panel { max-width: 72ch; }
.mica-site .m-pdp .woocommerce-Tabs-panel h2 { font-size: 1.5rem; margin-bottom: .75rem; }
.mica-site .m-pdp .woocommerce-Tabs-panel p + p { margin-top: .8em; }
.mica-site .shop_attributes { width: 100%; border-collapse: collapse; }
.mica-site .shop_attributes th, .mica-site .shop_attributes td { text-align: left; padding: .6rem .5rem; border-bottom: 1px solid var(--m-kerb); font-style: normal; }
.mica-site .m-pdp .related, .mica-site .m-pdp .upsells { grid-column: 1 / -1; margin-top: clamp(2rem, 1.5rem + 2vw, 3.5rem); }
.mica-site .m-pdp .related > h2, .mica-site .m-pdp .upsells > h2 { font-size: clamp(1.75rem, 1.3rem + 1.5vw, 2.6rem); letter-spacing: -0.025em; margin-bottom: 1.25rem; }

/* ---------- Notices ---------- */
.mica-site .woocommerce-message, .mica-site .woocommerce-info, .mica-site .woocommerce-error, .mica-site .wc-block-components-notice-banner {
	border: 0; border-radius: 9px; padding: 1rem 1.25rem 1rem 3rem; margin: 0 0 1.25rem; background: var(--m-face); color: var(--m-ink); font-weight: 600;
}
.mica-site .woocommerce-message { background: #e3f5e1; }
.mica-site .woocommerce-error { background: #fde8e1; }
.mica-site .woocommerce-message::before, .mica-site .woocommerce-info::before, .mica-site .woocommerce-error::before { left: 1.1rem; top: 1rem; color: var(--m-sign); }
.mica-site .woocommerce-message .button { float: right; min-height: 40px; padding: .5rem 1rem; }

/* ---------- Cart and checkout (classic and block) ---------- */
.m-cartnote { display: flex; gap: .6rem; align-items: center; padding: .8rem 1rem; border-radius: 9px; background: var(--m-yellow); font-weight: 600; margin-bottom: 1rem; }
.mica-site .woocommerce table.shop_table { border: 0; border-radius: var(--m-r); background: var(--m-face); border-collapse: separate; overflow: hidden; }
.mica-site .woocommerce table.shop_table th { font-weight: 700; }
.mica-site .woocommerce table.shop_table td, .mica-site .woocommerce table.shop_table th { border-color: var(--m-kerb); padding: .9rem 1rem; }
.mica-site .woocommerce table.shop_table img { width: 64px; }
.mica-site .woocommerce a.remove { color: var(--m-ink) !important; font-weight: 700; }
.mica-site .woocommerce a.remove:hover { background: var(--m-orange); color: var(--m-ink) !important; }
.mica-site .woocommerce .cart-collaterals .cart_totals, .mica-site .woocommerce-checkout-review-order { background: var(--m-face); border-radius: var(--m-r); padding: 1.25rem; }
.mica-site .woocommerce form .form-row input.input-text, .mica-site .woocommerce form .form-row textarea, .mica-site .woocommerce form .form-row select, .mica-site .select2-container .select2-selection--single {
	min-height: 50px; border: 2px solid var(--m-kerb); border-radius: 8px; padding: .55rem .8rem .45rem; font: 600 1rem var(--m-font); color: var(--m-ink); background: #fff;
}
.mica-site .select2-container .select2-selection--single .select2-selection__rendered { line-height: 34px; }
.mica-site .woocommerce form .form-row input.input-text:focus, .mica-site .woocommerce form .form-row textarea:focus { outline: 0; border-color: var(--m-orange); }
.mica-site .woocommerce form .form-row label { font-weight: 600; }
.mica-site .woocommerce-checkout #payment { background: var(--m-face); border-radius: var(--m-r); }
.mica-site .woocommerce-checkout #payment div.payment_box { background: var(--m-concrete); color: var(--m-ink); }
.mica-site .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--m-concrete); }
.mica-site .wc-block-cart, .mica-site .wc-block-checkout { font-family: var(--m-font); }
.mica-site .wc-block-components-text-input input, .mica-site .wc-block-components-combobox .wc-block-components-combobox-control input { border-radius: 8px !important; border: 2px solid var(--m-kerb) !important; }
.mica-site .wc-block-components-totals-wrapper, .mica-site .wc-block-components-sidebar { font-variant-numeric: tabular-nums; }
.mica-site .wc-block-components-button:not(.is-link) .wc-block-components-button__text { font-weight: 600; }
.mica-site .woocommerce-cart .m-phead, .mica-site .woocommerce-checkout .m-phead { padding-bottom: 0; }

/* ---------- Account ---------- */
.mica-site .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .35rem; }
.mica-site .woocommerce-MyAccount-navigation a { display: block; padding: .7rem 1rem .6rem; border-radius: 8px; background: var(--m-face); font-weight: 600; text-decoration: none; }
.mica-site .woocommerce-MyAccount-navigation .is-active a { background: var(--m-sign); color: #fff; }

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
	.mica-site ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mica-site .m-pdp div.product { grid-template-columns: 1fr; }
	.mica-site .m-pdp div.product div.images.woocommerce-product-gallery { position: relative; top: auto; }
}
@media (max-width: 760px) {
	.mica-site ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mica-site .m-pdp div.product p.price { font-size: 1.75rem; }
	.m-shopbar { align-items: stretch; }
	.mica-site .m-shopbar .woocommerce-ordering, .mica-site .woocommerce-ordering select { width: 100%; }
	.mica-site .woocommerce table.shop_table_responsive tr td { padding: .6rem .9rem; }
}

/* Block cart / product grid buttons */
.mica-site .wp-block-button__link, .mica-site .wc-block-grid__product-add-to-cart .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .6rem 1rem .5rem; border-radius: 8px; background: var(--m-yellow) !important; color: var(--m-ink) !important; font: 600 .9375rem var(--m-font); text-decoration: none; }
.mica-site .wp-block-button__link:hover { background: #ffe54d !important; }
.mica-site .wc-block-grid__product-title, .mica-site .wc-block-components-product-name { font-weight: 600; color: var(--m-ink); text-decoration: none; }

.mica-site .woocommerce .button, .mica-site .m-pdp form.cart .button { font-weight: 600; box-shadow: 0 10px 18px -12px rgba(0, 28, 48, .55); transition: background-color .2s var(--m-ease), transform .18s var(--m-ease), box-shadow .2s var(--m-ease); }
.mica-site .woocommerce .button:hover, .mica-site .m-pdp form.cart .button:hover { transform: translateY(-2px); box-shadow: 0 16px 24px -14px rgba(0, 28, 48, .55); }
.mica-site .woocommerce .button:active, .mica-site .m-pdp form.cart .button:active { transform: translateY(2px); box-shadow: 0 4px 8px -6px rgba(0, 28, 48, .5); }
@media (max-width: 480px) {
	.mica-site .m-pdp div.product .woocommerce-tabs ul.tabs { gap: 1.25rem; }
	.mica-site .m-pdp div.product .woocommerce-tabs ul.tabs li a { font-size: 1rem; }
}
