/* Reserved Smoke Product Cards 1.0.0 — Daniels Web Solutions.
 * Scoped to product loops. WooCommerce markup and cart behavior stay native.
 * The important declarations override the site's older card rules and inline
 * block styles, including the fixed title heights and translated headings.
 */

body.dws-rspc {
  --dws-rspc-image-height: 200px;
  --dws-rspc-title-gap: 16px;
  --dws-rspc-price-gap: 12px;
  --dws-rspc-card-background: radial-gradient(circle at 50% 0%, rgba(22, 140, 255, 0.16), transparent 42%), linear-gradient(145deg, #061b31 0%, #08284b 52%, #0a3e7b 100%);
  --dws-rspc-card-border: rgba(22, 140, 255, 0.24);
  --dws-rspc-card-radius: 14px;
  --dws-rspc-card-shadow: 0 18px 42px rgba(0, 42, 80, 0.18);
  --dws-rspc-card-padding: 26px 20px 30px;
  --dws-rspc-card-max-width: none;
  --dws-rspc-title-size: 18px;
  --dws-rspc-title-shadow: 0 2px 10px rgba(0, 0, 0, 0.22);
  --dws-rspc-price-size: 18px;
  --dws-rspc-price-weight: 700;
  --dws-rspc-button-color: #0067b2;
  --dws-rspc-button-shadow: 0 10px 24px rgba(0, 103, 178, 0.26);
  --dws-rspc-button-padding: 0 18px;
  --dws-rspc-button-line-height: 1.1;
  --dws-rspc-button-radius: 999px;
  --dws-rspc-button-height: 48px;
}

/* Retain the Product Collection's desktop column count and responsiveness. */
:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(.wc-block-product-template, .wc-block-grid__products, ul.products) {
  gap: 28px !important;
  align-items: stretch !important;
}

/* Legacy WooCommerce loops need a grid instead of the old floated cards. */
:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(ul.products, .wc-block-grid__products) {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  padding: 0 !important;
}

:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(ul.products, .wc-block-grid__products)::before,
:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(ul.products, .wc-block-grid__products)::after {
  display: none !important;
}

:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(ul.products.columns-2, .wc-block-grid.has-2-columns .wc-block-grid__products) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(ul.products.columns-3, .wc-block-grid.has-3-columns .wc-block-grid__products) {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(ul.products.columns-5, .wc-block-grid.has-5-columns .wc-block-grid__products) {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(ul.products.columns-6, .wc-block-grid.has-6-columns .wc-block-grid__products) {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) {
  box-sizing: border-box !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: var(--dws-rspc-card-max-width) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: var(--dws-rspc-card-padding) !important;
  background: var(--dws-rspc-card-background) !important;
  border: 1px solid var(--dws-rspc-card-border) !important;
  border-radius: var(--dws-rspc-card-radius) !important;
  box-shadow: var(--dws-rspc-card-shadow) !important;
  color: #fff !important;
  font-family: var(--wp--preset--font-family--body, "Poppins", sans-serif) !important;
  text-align: center !important;
  overflow: visible !important;
}

/* Block image: full available width, fixed stage, complete uncropped photo. */
:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) :is(.wc-block-components-product-image, .wc-block-grid__product-image) {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: var(--dws-rspc-image-height) !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) :is(.wc-block-components-product-image, .wc-block-grid__product-image) > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) :is(.wc-block-components-product-image, .wc-block-grid__product-image) img {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

/* The linked image/title wrapper used by classic and older block loops. */
:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) > :is(a.woocommerce-loop-product__link, a.woocommerce-LoopProduct-link, a.wc-block-grid__product-link) {
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  text-decoration: none !important;
}

:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) > :is(a.woocommerce-loop-product__link, a.woocommerce-LoopProduct-link) > img {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: var(--dws-rspc-image-height) !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  transform: none !important;
}

/* Natural-height titles prevent a short name from reserving a large gap. */
:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) :is(.wp-block-post-title, .wc-block-components-product-name, .woocommerce-loop-product__title, .wc-block-grid__product-title) {
  display: block !important;
  position: static !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 0 var(--dws-rspc-title-gap) !important;
  padding: 0 !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: var(--dws-rspc-title-size) !important;
  font-style: normal !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: var(--dws-rspc-title-shadow) !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: break-word !important;
  -webkit-line-clamp: unset !important;
  transform: none !important;
}

:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) :is(.wp-block-post-title, .wc-block-components-product-name, .woocommerce-loop-product__title, .wc-block-grid__product-title) > a {
  display: inline !important;
  position: static !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
  text-decoration: none !important;
  text-shadow: inherit !important;
  white-space: normal !important;
  transform: none !important;
}

/* Reset nested price margins first; only the outer price owns the gap. */
:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) :is(.wp-block-woocommerce-product-price, .wc-block-components-product-price, .wc-block-grid__product-price, .price) {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: var(--dws-rspc-price-size) !important;
  font-style: normal !important;
  font-weight: var(--dws-rspc-price-weight) !important;
  line-height: 1.25 !important;
  text-align: center !important;
  transform: none !important;
}

:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) .wp-block-woocommerce-product-price,
:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) > :is(.wc-block-grid__product-price, .price),
:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) > :is(a.woocommerce-loop-product__link, a.woocommerce-LoopProduct-link) > .price {
  flex: 0 0 auto !important;
  width: 100% !important;
  margin-bottom: var(--dws-rspc-price-gap) !important;
}

:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) :is(.woocommerce-Price-amount, .woocommerce-Price-currencySymbol) {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) :is(.price, .wc-block-components-product-price, .wc-block-grid__product-price) ins {
  background: transparent !important;
  text-decoration: none !important;
}

/* Keep native AJAX and Select options controls, with one shared appearance. */
:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) :is(.wp-block-woocommerce-product-button, .wc-block-components-product-button, .wc-block-grid__product-add-to-cart) {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex: 0 0 auto !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) :is(.wc-block-components-product-button__button, .wp-block-button__link, a.button, button.button, a.added_to_cart) {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 170px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: var(--dws-rspc-button-height) !important;
  min-height: var(--dws-rspc-button-height) !important;
  max-height: none !important;
  margin: 0 !important;
  padding: var(--dws-rspc-button-padding) !important;
  border: 0 !important;
  border-radius: var(--dws-rspc-button-radius) !important;
  background: var(--dws-rspc-button-color) !important;
  box-shadow: var(--dws-rspc-button-shadow) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: var(--dws-rspc-button-line-height) !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: normal !important;
  transform: none !important;
}

:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) :is(.wc-block-components-product-button__button, .wp-block-button__link, a.button, button.button, a.added_to_cart):hover {
  background: #087be0 !important;
  color: #fff !important;
}

:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) :is(.wc-block-components-product-button__button, .wp-block-button__link, a.button, button.button, a.added_to_cart):focus-visible,
:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) :is(.wp-block-post-title, .wc-block-components-product-name) > a:focus-visible {
  outline: 2px solid #fff !important;
  outline-offset: 3px !important;
}

/* Do not reveal WooCommerce's View cart link before an item is added. */
:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) .wc-block-components-product-button > [hidden] {
  display: none !important;
}

:is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) > a.added_to_cart {
  margin-top: 8px !important;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  :is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(ul.products, .wc-block-grid .wc-block-grid__products, .wc-block-grid[class*="has-"] .wc-block-grid__products) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media screen and (max-width: 768px) {
  body.dws-rspc {
    --dws-rspc-card-background: #0f213e;
    --dws-rspc-card-border: rgba(22, 140, 255, 0.25);
    --dws-rspc-card-radius: 18px;
    --dws-rspc-card-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
    --dws-rspc-card-padding: 18px;
    --dws-rspc-card-max-width: 300px;
    --dws-rspc-title-size: 17px;
    --dws-rspc-title-shadow: none;
    --dws-rspc-price-size: 20px;
    --dws-rspc-price-weight: 800;
    --dws-rspc-button-color: #168cff;
    --dws-rspc-button-shadow: none;
    --dws-rspc-button-padding: 0 16px;
    --dws-rspc-button-line-height: 1;
    --dws-rspc-button-radius: 10px;
    --dws-rspc-button-height: 46px;
  }

  :is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(.wc-block-product-template, .wc-block-grid .wc-block-grid__products, .wc-block-grid[class*="has-"] .wc-block-grid__products, ul.products) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    justify-items: center !important;
  }

  :is(body.dws-rspc-home :is(.customer-favorites-wrapper, .home-favorites-section), body.dws-rspc-archive, body.dws-rspc-single :is(.related, .related-products, .related-poducts, .wp-block-woocommerce-related-products, [data-collection="woocommerce/product-collection/related"])) :is(li.wc-block-product, li.wc-block-grid__product, ul.products > li.product) {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media screen and (max-width: 390px) {
  body.dws-rspc {
    --dws-rspc-card-max-width: 286px;
  }
}
