/* MS Sila — WooCommerce */
.ms-woo .woocommerce-result-count, .ms-woo .woocommerce-ordering { margin-bottom: 24px; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; background: #fff; border: 1px solid var(--ms-border); border-radius: var(--ms-radius); overflow: hidden; padding: 0 0 18px; text-align: center; transition: transform .3s ease, box-shadow .3s ease; }
.woocommerce ul.products li.product:hover { transform: translateY(-5px); box-shadow: var(--ms-shadow-lg); }
.woocommerce ul.products li.product a img { margin: 0 0 14px; aspect-ratio: 1; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.05rem; color: var(--ms-heading, var(--ms-dark)); padding: 0 14px; }
.woocommerce ul.products li.product .price { color: var(--ms-primary); font-weight: 800; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt {
	background: var(--ms-primary); color: #fff; border-radius: var(--ms-btn-radius, 50px); padding: .8em 1.6em; font-weight: 700; font-family: inherit;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--ms-dark); color: #fff; }
.woocommerce span.onsale { background: var(--ms-accent); border-radius: 30px; min-height: auto; line-height: 1; padding: .5em .9em; }
.woocommerce div.product .product_title { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.3rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--ms-primary); font-weight: 800; font-size: 1.5rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: #fff; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--ms-primary); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--ms-primary); }
.ms-cart-btn { position: relative; }
.ms-cart-count { position: absolute; top: -4px; inset-inline-end: -4px; min-width: 20px; height: 20px; border-radius: 10px; background: var(--ms-accent); color: #fff; font-size: 11px; display: grid; place-items: center; font-weight: 700; }
@media (max-width: 991px) { .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* MS cards inside the shop loop */
.woocommerce ul.products li.product.msw-wc-li { border: 0; padding: 0; background: none; text-align: start; overflow: visible; }
.woocommerce ul.products li.product.msw-wc-li:hover { transform: none; box-shadow: none; }
.woocommerce ul.products li.product.msw-wc-li .msw-listing { height: 100%; }
.woocommerce ul.products li.product.msw-wc-li a img { margin: 0; }
.woocommerce div.product form.cart { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.woocommerce div.product form.cart .qty { height: 46px; border-radius: 10px; border: 1px solid var(--ms-border); width: 80px; }
.woocommerce .woocommerce-ordering select { border-radius: 10px; padding: 8px 12px; border: 1px solid var(--ms-border); }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 6px; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { border-radius: 10px; min-width: 40px; padding: 10px; background: #fff; border: 1px solid var(--ms-border); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--ms-primary); color: #fff; border-color: var(--ms-primary); }
@media (max-width: 575px) { .woocommerce ul.products { gap: 14px; } }
.woocommerce div.product p.price ins, .woocommerce div.product span.price ins { text-decoration: none; }
.woocommerce div.product p.price del, .woocommerce div.product span.price del { font-size: .7em; opacity: .55; font-weight: 500; }
.woocommerce span.onsale { font-weight: 800; }
.woocommerce div.product .product_meta { font-size: .9em; color: var(--ms-text); display: grid; gap: 4px; margin-top: 18px; }
.woocommerce div.product .woocommerce-product-details__short-description { margin-bottom: 18px; }
/* Cart / checkout / account (block based) */
.ms-store-page .ms-entry-content .alignwide { width: 100%; margin-inline: 0; }
.ms-store-page .wc-block-components-sidebar-layout { margin-inline: 0; }
.ms-store-page .wc-block-components-button:not(.is-link) { background: var(--ms-primary); color: #fff; border-radius: var(--ms-btn-radius, 50px); font-weight: 700; }
.ms-store-page .wc-block-components-button:not(.is-link):hover { background: var(--ms-dark); }
.ms-store-page .wc-block-components-text-input input, .ms-store-page .wc-blocks-components-select__select, .ms-store-page .wc-block-components-combobox .wc-block-components-combobox-control input { border-radius: 10px; }
.ms-store-page .wc-block-components-sidebar { background: var(--ms-light); border-radius: var(--ms-radius); padding: 22px !important; }
.ms-store-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value, .ms-store-page .wc-block-components-product-price { color: var(--ms-primary); font-weight: 800; }

/* Cart / checkout blocks always stay inside the page container, even when WooCommerce
   saves them with "wide" or "full" alignment (full-bleed checkout pushed fields under the scrollbar). */
.ms-entry-content :is(.wp-block-woocommerce-checkout, .wp-block-woocommerce-cart, .wp-block-woocommerce-order-confirmation-status, .wp-block-woocommerce-order-confirmation-summary, .wp-block-woocommerce-order-confirmation-totals-wrapper, .wp-block-woocommerce-order-confirmation-downloads-wrapper, .wp-block-woocommerce-order-confirmation-billing-wrapper, .wp-block-woocommerce-order-confirmation-shipping-wrapper),
.ms-entry-content :is(.wp-block-woocommerce-checkout, .wp-block-woocommerce-cart).alignfull,
.ms-entry-content :is(.wp-block-woocommerce-checkout, .wp-block-woocommerce-cart).alignwide { width: 100% !important; max-width: 100% !important; margin-inline: 0 !important; }
.woocommerce-cart .ms-entry-content, .woocommerce-checkout .ms-entry-content { max-width: none; }

/* Blocks styling in the theme colors */
.wc-block-components-text-input input[type], .wc-block-components-text-input textarea,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-combobox .wc-block-components-combobox-control input { border-radius: 10px !important; }
.wc-block-components-text-input.is-active input[type]:focus, .wc-block-components-text-input input[type]:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus { border-color: var(--ms-primary) !important; box-shadow: 0 0 0 1px var(--ms-primary) !important; }
.wc-block-components-button:not(.is-link):not(.wc-block-components-panel__button) { background: var(--ms-primary) !important; color: #fff !important; border-radius: var(--ms-btn-radius, 50px) !important; font-weight: 700; min-height: 52px; border: 0; }
.wc-block-components-button:not(.is-link):not(.wc-block-components-panel__button):hover { background: var(--ms-dark) !important; }
.wc-block-components-sidebar .wc-block-components-totals-wrapper, .wp-block-woocommerce-checkout-order-summary-block { border-color: var(--ms-border) !important; }
.wp-block-woocommerce-checkout-order-summary-block, .wp-block-woocommerce-cart-order-summary-block { background: var(--ms-light); border-radius: var(--ms-radius); padding: 6px 16px; }
.wc-block-components-checkout-step__title, .wc-block-components-title { color: var(--ms-heading, var(--ms-dark)); font-weight: 800 !important; }
.wc-block-components-product-price__value.is-discounted, .wc-block-formatted-money-amount { font-weight: 700; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--ms-primary); font-weight: 800; }
.wc-block-cart-items__row .wc-block-components-product-name { color: var(--ms-heading, var(--ms-dark)); font-weight: 700; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--ms-primary); border-color: var(--ms-primary); }
@media (min-width: 992px) { .wc-block-components-sidebar-layout .wc-block-components-sidebar { position: sticky; top: calc(var(--ms-header-h, 84px) + 20px); align-self: flex-start; } }
