/* HyperSpeed Commerce (template-owned): the few pieces the theme's WooCommerce CSS does not cover.
   Everything else (fonts, colours, buttons, the product grid) comes from the extracted theme CSS.
   A shop that was enquiry-only before often HID prices and the cart form in its theme CSS (Neale
   Joseph: `.price{display:none}`, `.woocommerce div.product form.cart{display:none}`), so the
   elements this template owns force their display. */
.hs-product .summary .price.price, .hs-products .price.hs-loop-price { display: block !important; }
.hs-product form.cart.hs-buy { display: block !important; }
.hs-buy .single_add_to_cart_button[data-hs-submit]:not([hidden]) { display: inline-block !important; }
/* gallery first at every width (Neale Joseph's theme reversed the product row on phones) */
.hs-product > .clearfix { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; }
.hs-product .clearfix { display: flex; flex-wrap: wrap; gap: 4% ; align-items: flex-start; }
.hs-product .hs-gallery { flex: 1 1 48%; min-width: 280px; margin: 0 0 2em; order: 1; float: none; width: auto; }
.hs-product .summary { flex: 1 1 44%; min-width: 280px; order: 2; float: none; width: auto; }
.hs-gallery-main { display: block; width: 100%; height: auto; box-shadow: 0 20px 40px rgba(0, 0, 0, .18); }
.hs-thumbs { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 14px 0 0; padding: 0; }
.hs-thumbs li { list-style: none; padding: 0; }
.hs-thumb { padding: 0; border: 2px solid transparent; background: none; cursor: pointer; line-height: 0; }
.hs-thumb.is-active { border-color: currentColor; }
.hs-thumb img { width: 72px; height: 72px; object-fit: cover; }
.hs-product .price { font-size: 1.4em; font-weight: 700; margin: .2em 0 .8em; }
.hs-product .price.hs-sold { text-transform: uppercase; letter-spacing: .08em; }
.hs-buy table.variations { width: 100%; border: 0; margin: 0 0 .6em; }
.hs-buy table.variations th, .hs-buy table.variations td { border: 0; padding: .35em 0; vertical-align: middle; text-align: left; }
.hs-buy table.variations th { width: 34%; font-weight: 600; padding-right: 1em; }
.hs-buy select { width: 100%; max-width: 22em; padding: .55em .7em; font: inherit; border: 1px solid #c8c8c8; border-radius: 3px; background: #fff; color: inherit; }
.hs-buy .hs-line { margin: .4em 0 .8em; font-weight: 600; }
.hs-buy .hs-note { margin: .4em 0 .8em; padding: .7em .9em; background: rgba(0, 0, 0, .05); }
.hs-buy .single_add_to_cart_button { margin-top: .4em; cursor: pointer; }
.hs-buy .single_add_to_cart_button[disabled] { opacity: .6; cursor: progress; }
.hs-buy .hs-msg:empty { display: none; }
.hs-buy .hs-msg { margin: .8em 0 0; color: #a4262c; font-weight: 600; }
.hs-buy .cf-turnstile { margin: .6em 0; }
.hs-enquire { margin: 1.2em 0; }
.hs-enquire a { font-weight: 700; text-decoration: underline; }
.hs-enquire-cta a.button { display: inline-block !important; text-decoration: none; }
.hs-product form.cart.hs-choose { display: block !important; margin: 0 0 1em; }
.hs-choose table.variations { width: 100%; border: 0; margin: 0 0 .6em; }
.hs-choose table.variations th, .hs-choose table.variations td { border: 0; padding: .35em 0; vertical-align: middle; text-align: left; }
.hs-choose table.variations th { width: 34%; font-weight: 600; padding-right: 1em; }
.hs-choose select { width: 100%; max-width: 22em; padding: .55em .7em; font: inherit; border: 1px solid #c8c8c8; border-radius: 3px; background: transparent; color: inherit; }
.hs-gallery .woocommerce-product-gallery { position: relative; float: none; width: auto; margin: 0; opacity: 1 !important; }
.hs-gallery .woocommerce-product-gallery__wrapper { margin: 0; }
.hs-unavailable { margin: 1em 0; }
.hs-description { margin: 0 0 1.2em; }
.hs-products .hs-loop-price { display: block; margin-top: .2em; font-size: .9em; opacity: .8; }
.hs-order-received { max-width: 40em; padding: 2em 0 4em; }
.hs-order-received .button { display: inline-block; margin-top: 1em; }
.hs-product .clearfix::before, .hs-product .clearfix::after { display: none; }
