/* Commerce-only compatibility with the existing utility stylesheet. */
.ts-wc-shell > .ast-container { max-width: 1280px; margin: auto; padding: 24px; }
.ts-wc-shell #primary { width: 100%; margin: 0; }
.ts-wc-shell .ast-woocommerce-container { padding: 0; }
.ts-wc-shell .ts-wc-information { clear: both; margin: 24px 0; }
.ts-wc-shell .woocommerce-notices-wrapper { clear: both; }
.ts-wc-shell .ts-product-facts { font-size: .875rem; line-height: 1.5; color: #475569; margin: .5rem 0; overflow-wrap: anywhere; }
.ts-wc-shell ul.products .ts-product-facts { min-height: 4.5em; }
.ts-wc-shell ul.products .woocommerce-loop-product__title { min-height: 2.7em; }
.ts-wc-shell ul.products li.product { display: flex; flex-direction: column; }
.ts-wc-shell ul.products li.product .woocommerce-loop-product__title { overflow-wrap: anywhere; }
.ts-wc-shell ul.products li.product > .button { margin-top: auto; align-self: flex-start; white-space: normal; }
.ts-wc-shell .ts-wc-information .button { margin: 8px 8px 0 0; white-space: normal; max-width: 100%; }
.ts-wc-shell button, .ts-wc-shell input, .ts-wc-shell select { font: inherit; }
.ts-wc-shell .quantity .qty { min-width: 72px; min-height: 44px; border: 1px solid #64748b; }
.ts-wc-shell .button, .ts-wc-shell button, .ts-wc-cart-link { min-height: 44px; }
.ts-wc-shell :is(a,button,input,select,textarea):focus-visible,
.ts-wc-cart-link:focus-visible { outline: 3px solid #0274be; outline-offset: 3px; }
.ts-wc-shell .woocommerce-product-gallery img { height: auto; }
.ts-wc-shell .woocommerce-tabs ul.tabs li a { min-height: 44px; }
.ts-wc-shell .woocommerce form .form-row input.input-text,
.ts-wc-shell .woocommerce form .form-row textarea,
.ts-wc-shell .woocommerce form .form-row select { border: 1px solid #64748b; padding: 10px; min-height: 44px; }
@media (max-width: 767px) {
    .ts-wc-shell > .ast-container { padding: 16px; }
    .ts-wc-shell .woocommerce div.product div.images,
    .ts-wc-shell .woocommerce div.product div.summary { float: none; width: 100%; }
    .ts-wc-shell .woocommerce div.product form.cart { flex-wrap: wrap; }
    .ts-wc-shell .woocommerce div.product form.cart .button { max-width: 100%; white-space: normal; }
    .ts-wc-shell .woocommerce table.shop_table { width: 100%; }
}
.ts-shop-assistance h3 { color: #fff; }

/* Uniform card frame without cropping the product photograph. */
.ts-wc-shell ul.products li.product a img {
    width: 100%;
    height: 260px;
    object-fit: contain;
    object-position: center;
    padding: 16px;
    background: #fff;
    box-sizing: border-box;
}
@media (max-width: 767px) {
    .ts-wc-shell ul.products li.product a img { height: 180px; padding: 10px; }
}
