/*
 * D&H Huawei Child Theme v2.2.21
 * Product gallery smooth JS follow layout.
 * Desktop only. Mobile/tablet keeps the existing WooCommerce/Astra flow.
 *
 * Purpose:
 * - Do not constrain the whole right summary to gallery height.
 * - Do not create internal summary/description scrolling.
 * - Use a JS transform follow fallback instead of relying only on CSS sticky,
 *   because some Astra/WooCommerce wrappers can prevent sticky from taking effect.
 */

@media (min-width: 1025px) {
  body.dhh-single-product.dhh-product-gallery-follow-v2221 div.product {
    --dh-gallery-follow-top: 96px;
    --dh-gallery-follow-offset: 0px;
  }

  /* Explicitly cancel the previous compact summary experiment. */
  body.dhh-single-product.dhh-product-gallery-follow-v2221 .summary.entry-summary,
  body.dhh-single-product.dhh-product-gallery-follow-v2221 div.product .entry-summary {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
    display: block !important;
  }

  body.dhh-single-product.dhh-product-gallery-follow-v2221 .dhh-summary-scroll-region,
  body.dhh-single-product.dhh-product-gallery-follow-v2221 .dhh-summary-purchase-region {
    display: contents !important;
  }

  body.dhh-single-product.dhh-product-gallery-follow-v2221 .summary.entry-summary > .woocommerce-product-details__short-description,
  body.dhh-single-product.dhh-product-gallery-follow-v2221 div.product .entry-summary > .woocommerce-product-details__short-description {
    overflow: visible !important;
    max-height: none !important;
  }

  /* Allow the transformed gallery to remain visible outside tight theme wrappers. */
  body.dhh-single-product.dhh-product-gallery-follow-v2221 .site,
  body.dhh-single-product.dhh-product-gallery-follow-v2221 .site-content,
  body.dhh-single-product.dhh-product-gallery-follow-v2221 .content-area,
  body.dhh-single-product.dhh-product-gallery-follow-v2221 .ast-container,
  body.dhh-single-product.dhh-product-gallery-follow-v2221 .ast-woocommerce-container,
  body.dhh-single-product.dhh-product-gallery-follow-v2221 div.product,
  body.dhh-single-product.dhh-product-gallery-follow-v2221 div.product div.images,
  body.dhh-single-product.dhh-product-gallery-follow-v2221 div.product .woocommerce-product-gallery {
    overflow: visible !important;
  }

  /* JS applies translateY to the gallery. This is more reliable than CSS sticky on this layout. */
  body.dhh-single-product.dhh-product-gallery-follow-v2221 div.product .woocommerce-product-gallery,
  body.dhh-single-product.dhh-product-gallery-follow-v2221 div.product .images,
  body.dhh-single-product.dhh-product-gallery-follow-v2221 div.product .dhh-product-gallery,
  body.dhh-single-product.dhh-product-gallery-follow-v2221 div.product .product-gallery {
    position: relative !important;
    top: auto !important;
    z-index: 3;
    transform: translate3d(0, var(--dh-gallery-follow-offset, 0px), 0);
  }

  body.dhh-single-product.dhh-product-gallery-follow-v2221 div.product .dhh-gallery-follow-ready {
    transition: none !important;
    backface-visibility: hidden;
  }

  /* Prevent the moving gallery from sitting above later WooCommerce sections. */
  body.dhh-single-product.dhh-product-gallery-follow-v2221 div.product .woocommerce-tabs,
  body.dhh-single-product.dhh-product-gallery-follow-v2221 div.product .related,
  body.dhh-single-product.dhh-product-gallery-follow-v2221 div.product .upsells {
    position: relative;
    z-index: 4;
  }
}

@media (max-width: 1024px) {
  body.dhh-single-product.dhh-product-gallery-follow-v2221 div.product .woocommerce-product-gallery,
  body.dhh-single-product.dhh-product-gallery-follow-v2221 div.product .images,
  body.dhh-single-product.dhh-product-gallery-follow-v2221 div.product .dhh-product-gallery,
  body.dhh-single-product.dhh-product-gallery-follow-v2221 div.product .product-gallery {
    position: relative !important;
    top: auto !important;
    transform: none !important;
  }

  body.dhh-single-product.dhh-product-gallery-follow-v2221 .dhh-summary-scroll-region,
  body.dhh-single-product.dhh-product-gallery-follow-v2221 .dhh-summary-purchase-region {
    display: contents !important;
  }
}

/* =========================================================
   D&H Huawei Child Theme v2.2.22 patch
   Checkout / order-received presentation fixes only.
   Does not change WooCommerce payment, inventory, or availability logic.
   ========================================================= */

/* Product-gallery follow class compatibility for v2.2.22. */
@media (min-width: 1025px) {
  body.dhh-single-product.dhh-product-gallery-follow-v2222 div.product {
    --dh-gallery-follow-top: 96px;
    --dh-gallery-follow-offset: 0px;
  }
}

/* Keep WooCommerce thank-you/order overview cards in one row on desktop. */
html body.dhh-theme.dhh-checkout .woocommerce-order ul.woocommerce-thankyou-order-details,
html body.dhh-theme.dhh-checkout .woocommerce-order ul.woocommerce-order-overview,
html body.dhh-theme.dhh-checkout .woocommerce-order ul.order_details,
html body.dhh-theme.woocommerce-order-received .woocommerce-order ul.woocommerce-thankyou-order-details,
html body.dhh-theme.woocommerce-order-received .woocommerce-order ul.woocommerce-order-overview,
html body.dhh-theme.woocommerce-order-received .woocommerce-order ul.order_details,
html body.dhh-theme .woocommerce-order ul.woocommerce-thankyou-order-details,
html body.dhh-theme .woocommerce-order ul.woocommerce-order-overview,
html body.dhh-theme .woocommerce-order ul.order_details,
html body.dhh-theme ul.woocommerce-thankyou-order-details,
html body.dhh-theme ul.woocommerce-order-overview,
html body.dhh-theme ul.order_details {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 28px 0 !important;
  padding: 0 !important;
  list-style: none !important;
  clear: both !important;
}

html body.dhh-theme.dhh-checkout .woocommerce-order ul.woocommerce-thankyou-order-details li,
html body.dhh-theme.dhh-checkout .woocommerce-order ul.woocommerce-order-overview li,
html body.dhh-theme.dhh-checkout .woocommerce-order ul.order_details li,
html body.dhh-theme.woocommerce-order-received .woocommerce-order ul.woocommerce-thankyou-order-details li,
html body.dhh-theme.woocommerce-order-received .woocommerce-order ul.woocommerce-order-overview li,
html body.dhh-theme.woocommerce-order-received .woocommerce-order ul.order_details li,
html body.dhh-theme .woocommerce-order ul.woocommerce-thankyou-order-details li,
html body.dhh-theme .woocommerce-order ul.woocommerce-order-overview li,
html body.dhh-theme .woocommerce-order ul.order_details li,
html body.dhh-theme ul.woocommerce-thankyou-order-details li,
html body.dhh-theme ul.woocommerce-order-overview li,
html body.dhh-theme ul.order_details li,
html body.dhh-theme .dhh-order-overview-grid-fixed li {
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 18px 20px !important;
  border: 1px solid #e3e8ef !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
  box-sizing: border-box !important;
  text-align: left !important;
}

html body.dhh-theme .woocommerce-order ul.woocommerce-thankyou-order-details li::before,
html body.dhh-theme .woocommerce-order ul.woocommerce-thankyou-order-details li::after,
html body.dhh-theme .woocommerce-order ul.woocommerce-order-overview li::before,
html body.dhh-theme .woocommerce-order ul.woocommerce-order-overview li::after,
html body.dhh-theme .woocommerce-order ul.order_details li::before,
html body.dhh-theme .woocommerce-order ul.order_details li::after,
html body.dhh-theme ul.woocommerce-thankyou-order-details li::before,
html body.dhh-theme ul.woocommerce-thankyou-order-details li::after,
html body.dhh-theme ul.woocommerce-order-overview li::before,
html body.dhh-theme ul.woocommerce-order-overview li::after,
html body.dhh-theme ul.order_details li::before,
html body.dhh-theme ul.order_details li::after {
  display: none !important;
  content: none !important;
}

/* Extra spacing if Revolut reward/express checkout blocks appear above the order overview. */
html body.dhh-theme.dhh-checkout .woocommerce-order > * + ul.woocommerce-thankyou-order-details,
html body.dhh-theme.dhh-checkout .woocommerce-order > * + ul.woocommerce-order-overview,
html body.dhh-theme.dhh-checkout .woocommerce-order > * + ul.order_details {
  margin-top: 32px !important;
}

@media (max-width: 900px) {
  html body.dhh-theme.dhh-checkout .woocommerce-order ul.woocommerce-thankyou-order-details,
  html body.dhh-theme.dhh-checkout .woocommerce-order ul.woocommerce-order-overview,
  html body.dhh-theme.dhh-checkout .woocommerce-order ul.order_details,
  html body.dhh-theme.woocommerce-order-received .woocommerce-order ul.woocommerce-thankyou-order-details,
  html body.dhh-theme.woocommerce-order-received .woocommerce-order ul.woocommerce-order-overview,
  html body.dhh-theme.woocommerce-order-received .woocommerce-order ul.order_details,
  html body.dhh-theme .woocommerce-order ul.woocommerce-thankyou-order-details,
  html body.dhh-theme .woocommerce-order ul.woocommerce-order-overview,
  html body.dhh-theme .woocommerce-order ul.order_details,
  html body.dhh-theme ul.woocommerce-thankyou-order-details,
  html body.dhh-theme ul.woocommerce-order-overview,
  html body.dhh-theme ul.order_details {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  html body.dhh-theme.dhh-checkout .woocommerce-order ul.woocommerce-thankyou-order-details,
  html body.dhh-theme.dhh-checkout .woocommerce-order ul.woocommerce-order-overview,
  html body.dhh-theme.dhh-checkout .woocommerce-order ul.order_details,
  html body.dhh-theme.woocommerce-order-received .woocommerce-order ul.woocommerce-thankyou-order-details,
  html body.dhh-theme.woocommerce-order-received .woocommerce-order ul.woocommerce-order-overview,
  html body.dhh-theme.woocommerce-order-received .woocommerce-order ul.order_details,
  html body.dhh-theme .woocommerce-order ul.woocommerce-thankyou-order-details,
  html body.dhh-theme .woocommerce-order ul.woocommerce-order-overview,
  html body.dhh-theme .woocommerce-order ul.order_details,
  html body.dhh-theme ul.woocommerce-thankyou-order-details,
  html body.dhh-theme ul.woocommerce-order-overview,
  html body.dhh-theme ul.order_details {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   D&H v2.2.23 checkout address security notice
   Message only; no checkout/payment logic changes.
   ========================================================= */
html body.dhh-theme .dhh-checkout-security-notice,
html body.woocommerce-checkout .dhh-checkout-security-notice {
  margin: 14px 0 20px !important;
  padding: 14px 16px !important;
  border: 1px solid #bfdbfe !important;
  border-left: 4px solid #2563eb !important;
  border-radius: 14px !important;
  background: #eff6ff !important;
  color: #1e3a8a !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  box-shadow: 0 8px 20px rgba(37, 99, 235, 0.08) !important;
}

html body.dhh-theme .dhh-checkout-security-notice strong,
html body.woocommerce-checkout .dhh-checkout-security-notice strong {
  display: block !important;
  margin-bottom: 4px !important;
  color: #1d4ed8 !important;
  font-weight: 700 !important;
}

@media (max-width: 560px) {
  html body.dhh-theme .dhh-checkout-security-notice,
  html body.woocommerce-checkout .dhh-checkout-security-notice {
    padding: 13px 14px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
  }
}

/* =========================================================
   D&H Huawei Child Theme v2.2.25 patch
   Checkout payment method layout fixes only.
   - Removes legacy pseudo-element white box under Pay by Bank.
   - Aligns radio buttons, labels and payment icons cleanly.
   Does not change payment gateway logic or checkout processing.
   ========================================================= */

/* Stop legacy clearfix pseudo-elements appearing as empty white boxes inside payment methods. */
html body.dhh-theme.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method::before,
html body.dhh-theme.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method::after,
html body.dhh-theme.dhh-checkout #payment ul.payment_methods li.wc_payment_method::before,
html body.dhh-theme.dhh-checkout #payment ul.payment_methods li.wc_payment_method::after,
html body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method::before,
html body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method::after {
  content: none !important;
  display: none !important;
  clear: none !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
}

/* Payment method list: clean spacing without touching gateway functionality. */
html body.dhh-theme.woocommerce-checkout #payment ul.payment_methods,
html body.dhh-theme.dhh-checkout #payment ul.payment_methods,
html body.woocommerce-checkout #payment ul.payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

html body.dhh-theme.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method,
html body.dhh-theme.dhh-checkout #payment ul.payment_methods li.wc_payment_method,
html body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  column-gap: 10px !important;
  row-gap: 8px !important;
  align-items: center !important;
  padding: 9px 0 !important;
  margin: 0 !important;
  border: 0 !important;
  position: relative !important;
  min-height: 32px !important;
}

html body.dhh-theme.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input.input-radio,
html body.dhh-theme.dhh-checkout #payment ul.payment_methods li.wc_payment_method > input.input-radio,
html body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input.input-radio {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: center !important;
  margin: 0 !important;
  width: 14px !important;
  height: 14px !important;
}

html body.dhh-theme.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label,
html body.dhh-theme.dhh-checkout #payment ul.payment_methods li.wc_payment_method > label,
html body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

/* Keep gateway logos readable and stop them overlapping labels. */
html body.dhh-theme.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method label img,
html body.dhh-theme.dhh-checkout #payment ul.payment_methods li.wc_payment_method label img,
html body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method label img {
  display: inline-block !important;
  max-height: 24px !important;
  width: auto !important;
  max-width: 120px !important;
  margin: 0 0 0 6px !important;
  flex: 0 0 auto !important;
  vertical-align: middle !important;
  object-fit: contain !important;
}

html body.dhh-theme.woocommerce-checkout #payment ul.payment_methods li.payment_method_revolut_cc label img,
html body.dhh-theme.dhh-checkout #payment ul.payment_methods li.payment_method_revolut_cc label img,
html body.woocommerce-checkout #payment ul.payment_methods li.payment_method_revolut_cc label img,
html body.dhh-theme.woocommerce-checkout #payment ul.payment_methods li.payment_method_revolut_pay_by_bank label img,
html body.dhh-theme.dhh-checkout #payment ul.payment_methods li.payment_method_revolut_pay_by_bank label img,
html body.woocommerce-checkout #payment ul.payment_methods li.payment_method_revolut_pay_by_bank label img {
  max-height: 22px !important;
}

/* Gateway description boxes should sit under the label column, and empty boxes should disappear. */
html body.dhh-theme.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box,
html body.dhh-theme.dhh-checkout #payment ul.payment_methods li.wc_payment_method .payment_box,
html body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box {
  grid-column: 2 !important;
  grid-row: 2 !important;
  margin: 8px 0 0 0 !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  background: #f7f9fc !important;
  border: 1px solid #e3e8ef !important;
  box-shadow: none !important;
  min-height: auto !important;
}

html body.dhh-theme.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box:empty,
html body.dhh-theme.dhh-checkout #payment ul.payment_methods li.wc_payment_method .payment_box:empty,
html body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box:empty {
  display: none !important;
}

@media (max-width: 560px) {
  html body.dhh-theme.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method,
  html body.dhh-theme.dhh-checkout #payment ul.payment_methods li.wc_payment_method,
  html body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
    grid-template-columns: 20px minmax(0, 1fr) !important;
    column-gap: 9px !important;
    padding: 8px 0 !important;
  }

  html body.dhh-theme.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label,
  html body.dhh-theme.dhh-checkout #payment ul.payment_methods li.wc_payment_method > label,
  html body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
    gap: 8px !important;
    font-size: 14px !important;
  }

  html body.dhh-theme.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method label img,
  html body.dhh-theme.dhh-checkout #payment ul.payment_methods li.wc_payment_method label img,
  html body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method label img {
    max-height: 20px !important;
    max-width: 96px !important;
  }
}

/* =========================================================
   D&H Huawei Child Theme v2.2.25 patch
   Hide empty Revolut Pay by Bank payment description container
   ========================================================= */

/* Revolut Pay by Bank outputs an empty .payment_box container on checkout.
   It is not a user-input area; hiding it removes the blank blue/white box
   without changing the payment gateway logic. */
html body.dhh-theme.woocommerce-checkout #payment ul.payment_methods li.payment_method_revolut_pay_by_bank > .payment_box,
html body.dhh-theme.dhh-checkout #payment ul.payment_methods li.payment_method_revolut_pay_by_bank > .payment_box,
html body.woocommerce-checkout #payment ul.payment_methods li.payment_method_revolut_pay_by_bank > .payment_box,
html body.dhh-theme.woocommerce-checkout #payment ul.payment_methods li.payment_method_revolut_paybybank > .payment_box,
html body.dhh-theme.dhh-checkout #payment ul.payment_methods li.payment_method_revolut_paybybank > .payment_box,
html body.woocommerce-checkout #payment ul.payment_methods li.payment_method_revolut_paybybank > .payment_box {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

/* Keep other payment boxes visible only when they have useful content. */
html body.dhh-theme.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:not(.payment_method_revolut_pay_by_bank):not(.payment_method_revolut_paybybank) > .payment_box,
html body.dhh-theme.dhh-checkout #payment ul.payment_methods li.wc_payment_method:not(.payment_method_revolut_pay_by_bank):not(.payment_method_revolut_paybybank) > .payment_box,
html body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:not(.payment_method_revolut_pay_by_bank):not(.payment_method_revolut_paybybank) > .payment_box {
    grid-column: 2 !important;
}


/* =========================================================
   D&H Huawei Child Theme v2.2.26 patch
   Cart page button colour and coupon spacing
   ========================================================= */

/* Keep cart action buttons aligned with the D&H dark navy style instead of the red/pink fallback. */
html body.dhh-theme.woocommerce-cart table.cart button.button,
html body.dhh-theme.woocommerce-cart table.shop_table button.button,
html body.dhh-theme.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button,
html body.woocommerce-cart table.cart button.button,
html body.woocommerce-cart table.shop_table button.button,
html body.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
  background: #071126 !important;
  background-color: #071126 !important;
  color: #ffffff !important;
  border: 1px solid #071126 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  min-height: 46px !important;
  line-height: 1.2 !important;
}

html body.dhh-theme.woocommerce-cart table.cart button.button:hover,
html body.dhh-theme.woocommerce-cart table.shop_table button.button:hover,
html body.dhh-theme.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover,
html body.woocommerce-cart table.cart button.button:hover,
html body.woocommerce-cart table.shop_table button.button:hover,
html body.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover {
  background: #101b31 !important;
  background-color: #101b31 !important;
  border-color: #101b31 !important;
  color: #ffffff !important;
}

html body.dhh-theme.woocommerce-cart table.cart button.button:disabled,
html body.dhh-theme.woocommerce-cart table.shop_table button.button:disabled,
html body.dhh-theme.woocommerce-cart table.cart button.button:disabled[disabled],
html body.dhh-theme.woocommerce-cart table.shop_table button.button:disabled[disabled],
html body.woocommerce-cart table.cart button.button:disabled,
html body.woocommerce-cart table.shop_table button.button:disabled,
html body.woocommerce-cart table.cart button.button:disabled[disabled],
html body.woocommerce-cart table.shop_table button.button:disabled[disabled] {
  background: #9aa3b2 !important;
  background-color: #9aa3b2 !important;
  border-color: #9aa3b2 !important;
  color: #ffffff !important;
  opacity: 1 !important;
}

/* Add breathing room between coupon input and Apply coupon button. */
html body.dhh-theme.woocommerce-cart table.cart td.actions .coupon,
html body.dhh-theme.woocommerce-cart table.shop_table td.actions .coupon,
html body.woocommerce-cart table.cart td.actions .coupon,
html body.woocommerce-cart table.shop_table td.actions .coupon {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  float: left !important;
}

html body.dhh-theme.woocommerce-cart table.cart td.actions .coupon .input-text,
html body.dhh-theme.woocommerce-cart table.shop_table td.actions .coupon .input-text,
html body.woocommerce-cart table.cart td.actions .coupon .input-text,
html body.woocommerce-cart table.shop_table td.actions .coupon .input-text {
  margin: 0 !important;
  min-height: 46px !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
}

html body.dhh-theme.woocommerce-cart table.cart td.actions .coupon button[name="apply_coupon"],
html body.dhh-theme.woocommerce-cart table.shop_table td.actions .coupon button[name="apply_coupon"],
html body.woocommerce-cart table.cart td.actions .coupon button[name="apply_coupon"],
html body.woocommerce-cart table.shop_table td.actions .coupon button[name="apply_coupon"] {
  margin-left: 0 !important;
  padding: 0 22px !important;
  white-space: nowrap !important;
}

html body.dhh-theme.woocommerce-cart table.cart td.actions button[name="update_cart"],
html body.dhh-theme.woocommerce-cart table.shop_table td.actions button[name="update_cart"],
html body.woocommerce-cart table.cart td.actions button[name="update_cart"],
html body.woocommerce-cart table.shop_table td.actions button[name="update_cart"] {
  float: right !important;
  padding: 0 22px !important;
  white-space: nowrap !important;
}

/* Make the main checkout button match checkout page styling. */
html body.dhh-theme.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button,
html body.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 56px !important;
  border-radius: 14px !important;
  margin-top: 12px !important;
  font-size: 16px !important;
}

@media (max-width: 767px) {
  html body.dhh-theme.woocommerce-cart table.cart td.actions .coupon,
  html body.dhh-theme.woocommerce-cart table.shop_table td.actions .coupon,
  html body.woocommerce-cart table.cart td.actions .coupon,
  html body.woocommerce-cart table.shop_table td.actions .coupon {
    width: 100% !important;
    float: none !important;
  }

  html body.dhh-theme.woocommerce-cart table.cart td.actions .coupon .input-text,
  html body.dhh-theme.woocommerce-cart table.shop_table td.actions .coupon .input-text,
  html body.woocommerce-cart table.cart td.actions .coupon .input-text,
  html body.woocommerce-cart table.shop_table td.actions .coupon .input-text,
  html body.dhh-theme.woocommerce-cart table.cart td.actions .coupon button[name="apply_coupon"],
  html body.dhh-theme.woocommerce-cart table.shop_table td.actions .coupon button[name="apply_coupon"],
  html body.woocommerce-cart table.cart td.actions .coupon button[name="apply_coupon"],
  html body.woocommerce-cart table.shop_table td.actions .coupon button[name="apply_coupon"],
  html body.dhh-theme.woocommerce-cart table.cart td.actions button[name="update_cart"],
  html body.dhh-theme.woocommerce-cart table.shop_table td.actions button[name="update_cart"],
  html body.woocommerce-cart table.cart td.actions button[name="update_cart"],
  html body.woocommerce-cart table.shop_table td.actions button[name="update_cart"] {
    width: 100% !important;
    float: none !important;
  }
}


/* v2.2.27: restore WooCommerce shop/category/tag archive layout after refresh
   Scope: product archive/category/tag pages only. Does not touch product inventory or availability logic. */
body.dhh-shop-archive {
  background: #f3f4f6 !important;
}

/* Prevent old/native WooCommerce/Astra archive title/description from appearing beside the D&H hero. */
body.dhh-shop-archive .woocommerce-products-header,
body.dhh-shop-archive .ast-archive-description,
body.dhh-shop-archive .ast-woocommerce-container > .page-title,
body.dhh-shop-archive .ast-woocommerce-container > .term-description,
body.dhh-shop-archive .site-main > .page-title,
body.dhh-shop-archive .site-main > .term-description {
  display: none !important;
}

/* Make the archive page a clean centered D&H layout. */
body.dhh-shop-archive #primary,
body.dhh-shop-archive .site-main,
body.dhh-shop-archive .ast-woocommerce-container {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: both !important;
}

body.dhh-shop-archive .site-content .ast-container,
body.dhh-shop-archive .ast-container,
body.dhh-shop-archive .site-main {
  display: block !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* D&H category/shop hero card */
body.dhh-shop-archive .dhh-category-header,
body.dhh-shop-archive .dhh-archive-header {
  width: min(1180px, calc(100vw - 48px)) !important;
  margin: 48px auto 28px !important;
  padding: clamp(30px, 4vw, 54px) !important;
  border-radius: 28px !important;
  border: 1px solid rgba(15, 23, 42, 0.06) !important;
  background:
    radial-gradient(circle at top right, rgba(234, 245, 251, 0.95), transparent 38%),
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  box-shadow: 0 22px 60px rgba(15, 23, 42, 0.08) !important;
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 2 !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr) !important;
  align-items: center !important;
  gap: 28px !important;
}

body.dhh-shop-archive .dhh-category-header::before,
body.dhh-shop-archive .dhh-archive-header::before {
  content: "D&H SHOP";
  display: block;
  grid-column: 1 / 2;
  margin-bottom: 14px;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.dhh-shop-archive .dhh-category-header h1,
body.dhh-shop-archive .dhh-archive-header h1 {
  grid-column: 1 / 2;
  margin: 0 0 12px !important;
  color: #111827 !important;
  font-size: clamp(38px, 5vw, 68px) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.065em !important;
  font-weight: 900 !important;
}

body.dhh-shop-archive .dhh-category-header p,
body.dhh-shop-archive .dhh-archive-header p {
  grid-column: 1 / 2;
  max-width: 760px !important;
  margin: 0 !important;
  color: #64748b !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
}

body.dhh-shop-archive .dhh-category-subcats {
  grid-column: 2 / 3;
  grid-row: 1 / span 3;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-content: center !important;
  gap: 12px !important;
}

body.dhh-shop-archive .dhh-category-subcats a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04) !important;
}

body.dhh-shop-archive .dhh-category-subcats a:hover {
  border-color: #cbd5e1 !important;
  transform: translateY(-1px);
}

/* Product loop card container */
body.dhh-shop-archive .dhh-shop-loop-shell {
  width: min(1180px, calc(100vw - 48px)) !important;
  margin: 0 auto 76px !important;
  padding: clamp(26px, 3vw, 38px) !important;
  border-radius: 28px !important;
  border: 1px solid rgba(15, 23, 42, 0.06) !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 20px 56px rgba(15, 23, 42, 0.07) !important;
  box-sizing: border-box !important;
  clear: both !important;
  overflow: visible !important;
}

/* Top archive controls */
body.dhh-shop-archive .woocommerce-result-count {
  margin: 0 0 28px !important;
  color: #64748b !important;
  font-weight: 800 !important;
  font-size: 14px !important;
}

body.dhh-shop-archive .woocommerce-ordering {
  margin: -12px 0 28px auto !important;
}

body.dhh-shop-archive .woocommerce-ordering select {
  min-width: 220px !important;
  min-height: 54px !important;
  padding: 0 22px !important;
  border-radius: 16px !important;
  border: 1px solid #e5e7eb !important;
  background: #ffffff !important;
  color: #111827 !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

/* Product archive grid/cards */
body.dhh-shop-archive ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 26px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.dhh-shop-archive ul.products::before,
body.dhh-shop-archive ul.products::after {
  display: none !important;
}

body.dhh-shop-archive ul.products li.product {
  width: auto !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 24px 24px 28px !important;
  border-radius: 22px !important;
  border: 1px solid #e5e7eb !important;
  background: #ffffff !important;
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.05) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

body.dhh-shop-archive ul.products li.product a.woocommerce-LoopProduct-link {
  display: block !important;
  color: inherit !important;
  text-decoration: none !important;
}

body.dhh-shop-archive ul.products li.product img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  margin: 0 0 18px !important;
  background: #ffffff !important;
  border-radius: 16px !important;
}

body.dhh-shop-archive ul.products li.product .ast-woo-product-category,
body.dhh-shop-archive ul.products li.product .woocommerce-loop-category__title {
  color: #a8b3c3 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  margin: 0 0 8px !important;
}

body.dhh-shop-archive ul.products li.product .woocommerce-loop-product__title {
  margin: 0 0 16px !important;
  color: #111827 !important;
  font-size: 15px !important;
  line-height: 1.28 !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
}

body.dhh-shop-archive ul.products li.product .price {
  display: block !important;
  margin: auto 0 18px !important;
  color: #0066ff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
}

body.dhh-shop-archive ul.products li.product .button,
body.dhh-shop-archive .woocommerce ul.products li.product .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: flex-start !important;
  min-height: 44px !important;
  min-width: 124px !important;
  width: fit-content !important;
  padding: 0 22px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 1px solid #111827 !important;
  background: #111827 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

body.dhh-shop-archive ul.products li.product .button:hover {
  background: #020617 !important;
  border-color: #020617 !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

@media (max-width: 1100px) {
  body.dhh-shop-archive .dhh-category-header,
  body.dhh-shop-archive .dhh-archive-header {
    grid-template-columns: 1fr !important;
  }

  body.dhh-shop-archive .dhh-category-subcats {
    grid-column: 1 / 2 !important;
    grid-row: auto !important;
    justify-content: flex-start !important;
  }

  body.dhh-shop-archive ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 800px) {
  body.dhh-shop-archive .dhh-category-header,
  body.dhh-shop-archive .dhh-archive-header,
  body.dhh-shop-archive .dhh-shop-loop-shell {
    width: min(100% - 28px, 1180px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 22px !important;
  }

  body.dhh-shop-archive ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

@media (max-width: 520px) {
  body.dhh-shop-archive .dhh-category-header h1,
  body.dhh-shop-archive .dhh-archive-header h1 {
    font-size: 38px !important;
  }

  body.dhh-shop-archive ul.products {
    grid-template-columns: 1fr !important;
  }
}


/* v2.2.28: remove duplicate archive/category hero card
   D&H Design System or old archive markup may also output .dhh-category-header.
   Keep the theme-owned .dhh-archive-header only. */
body.dhh-shop-archive .dhh-category-header:not(.dhh-archive-header) {
  display: none !important;
}

/* Make sure the remaining theme archive hero starts at the correct position. */
body.dhh-shop-archive .dhh-category-header.dhh-archive-header {
  margin-top: 48px !important;
}


/* v2.2.29: D&H Design System archive compatibility
   The Design System now outputs its own .dhds-shop-hero and .dhds-shop-loop-shell.
   Hide the theme-generated .dhh-archive-header to prevent it becoming a narrow left-side column. */
body.dhh-shop-archive.dhds-huawei-shop-archive .dhh-category-header.dhh-archive-header,
body.dhh-shop-archive.dhds-enabled .dhh-category-header.dhh-archive-header {
  display: none !important;
}

/* Also hide native WooCommerce/Astra archive description, which can appear as a side column inside Astra flex containers. */
body.dhh-shop-archive.dhds-huawei-shop-archive .woocommerce-products-header,
body.dhh-shop-archive.dhds-huawei-shop-archive .woocommerce-products-header .term-description,
body.dhh-shop-archive.dhds-enabled .woocommerce-products-header,
body.dhh-shop-archive.dhds-enabled .woocommerce-products-header .term-description {
  display: none !important;
}

/* Let the Design System archive hero be the only top hero card. */
body.dhh-shop-archive.dhds-huawei-shop-archive .dhds-shop-hero,
body.dhh-shop-archive.dhds-enabled .dhds-shop-hero {
  width: min(1180px, calc(100vw - 48px)) !important;
  margin: 48px auto 28px !important;
  box-sizing: border-box !important;
}

/* If both wrappers exist, use the Design System wrapper as the outer card and neutralise the theme wrapper inside it. */
body.dhh-shop-archive.dhds-huawei-shop-archive .dhds-shop-loop-shell,
body.dhh-shop-archive.dhds-enabled .dhds-shop-loop-shell {
  width: min(1180px, calc(100vw - 48px)) !important;
  margin: 0 auto 76px !important;
  padding: clamp(26px, 3vw, 38px) !important;
  border-radius: 28px !important;
  border: 1px solid rgba(15, 23, 42, 0.06) !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 20px 56px rgba(15, 23, 42, 0.07) !important;
  box-sizing: border-box !important;
  clear: both !important;
  overflow: visible !important;
}

body.dhh-shop-archive.dhds-huawei-shop-archive .dhds-shop-loop-shell > .dhh-shop-loop-shell,
body.dhh-shop-archive.dhds-enabled .dhds-shop-loop-shell > .dhh-shop-loop-shell {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Prevent Astra flex container from treating archive title/description as a side column. */
body.dhh-shop-archive.dhds-huawei-shop-archive .site-content > .ast-container,
body.dhh-shop-archive.dhds-enabled .site-content > .ast-container {
  display: block !important;
  max-width: none !important;
}

/* Mobile spacing */
@media (max-width: 800px) {
  body.dhh-shop-archive.dhds-huawei-shop-archive .dhds-shop-hero,
  body.dhh-shop-archive.dhds-enabled .dhds-shop-hero,
  body.dhh-shop-archive.dhds-huawei-shop-archive .dhds-shop-loop-shell,
  body.dhh-shop-archive.dhds-enabled .dhds-shop-loop-shell {
    width: min(100% - 28px, 1180px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 22px !important;
  }
}


/* v2.2.30: Find Your Order / WooCommerce order tracking page styling */
body.page .entry-content:has(form.woocommerce-form-track-order),
body.page .entry-content:has(form.track_order) {
  width: min(1180px, calc(100vw - 48px)) !important;
  margin: 0 auto !important;
  padding: clamp(54px, 7vw, 96px) 0 clamp(70px, 8vw, 110px) !important;
  box-sizing: border-box !important;
}

body.page .entry-content:has(form.woocommerce-form-track-order) > h1,
body.page .entry-content:has(form.track_order) > h1,
body.page .entry-content:has(form.woocommerce-form-track-order) > h2,
body.page .entry-content:has(form.track_order) > h2 {
  margin: 0 0 20px !important;
  color: #111827 !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.055em !important;
  font-weight: 900 !important;
}

body.page .entry-content:has(form.woocommerce-form-track-order) form.woocommerce-form-track-order,
body.page .entry-content:has(form.track_order) form.track_order {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 22px 28px !important;
  width: 100% !important;
  margin: 28px 0 0 !important;
  padding: clamp(28px, 4vw, 46px) !important;
  border-radius: 28px !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  background: #ffffff !important;
  box-shadow: 0 22px 60px rgba(15, 23, 42, 0.08) !important;
  box-sizing: border-box !important;
}

body.page .entry-content:has(form.woocommerce-form-track-order) form.woocommerce-form-track-order > p:first-child,
body.page .entry-content:has(form.track_order) form.track_order > p:first-child {
  grid-column: 1 / -1 !important;
  margin: 0 0 4px !important;
  color: #64748b !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

body.page .entry-content:has(form.woocommerce-form-track-order) form.woocommerce-form-track-order .form-row,
body.page .entry-content:has(form.track_order) form.track_order .form-row {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page .entry-content:has(form.woocommerce-form-track-order) form.woocommerce-form-track-order label,
body.page .entry-content:has(form.track_order) form.track_order label {
  display: block !important;
  margin: 0 0 10px !important;
  color: #111827 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
}

body.page .entry-content:has(form.woocommerce-form-track-order) form.woocommerce-form-track-order input.input-text,
body.page .entry-content:has(form.track_order) form.track_order input.input-text,
body.page .entry-content:has(form.woocommerce-form-track-order) form.woocommerce-form-track-order input[type="text"],
body.page .entry-content:has(form.track_order) form.track_order input[type="text"],
body.page .entry-content:has(form.woocommerce-form-track-order) form.woocommerce-form-track-order input[type="email"],
body.page .entry-content:has(form.track_order) form.track_order input[type="email"] {
  width: 100% !important;
  height: 56px !important;
  padding: 0 20px !important;
  border-radius: 16px !important;
  border: 1px solid #e5e7eb !important;
  background: #ffffff !important;
  color: #111827 !important;
  font-size: 16px !important;
  line-height: 56px !important;
  box-shadow: none !important;
}

body.page .entry-content:has(form.woocommerce-form-track-order) form.woocommerce-form-track-order input.input-text:focus,
body.page .entry-content:has(form.track_order) form.track_order input.input-text:focus {
  border-color: #111827 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.08) !important;
}

body.page .entry-content:has(form.woocommerce-form-track-order) form.woocommerce-form-track-order .button,
body.page .entry-content:has(form.track_order) form.track_order .button,
body.page .entry-content:has(form.woocommerce-form-track-order) form.woocommerce-form-track-order button.button,
body.page .entry-content:has(form.track_order) form.track_order button.button,
body.page .entry-content:has(form.woocommerce-form-track-order) form.woocommerce-form-track-order input[type="submit"],
body.page .entry-content:has(form.track_order) form.track_order input[type="submit"] {
  grid-column: 1 / -1 !important;
  justify-self: start !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 132px !important;
  min-height: 48px !important;
  height: 48px !important;
  padding: 0 26px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 1px solid #07111f !important;
  background: #07111f !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

body.page .entry-content:has(form.woocommerce-form-track-order) form.woocommerce-form-track-order .button:hover,
body.page .entry-content:has(form.track_order) form.track_order .button:hover,
body.page .entry-content:has(form.woocommerce-form-track-order) form.woocommerce-form-track-order button.button:hover,
body.page .entry-content:has(form.track_order) form.track_order button.button:hover,
body.page .entry-content:has(form.woocommerce-form-track-order) form.woocommerce-form-track-order input[type="submit"]:hover,
body.page .entry-content:has(form.track_order) form.track_order input[type="submit"]:hover {
  background: #0066ff !important;
  border-color: #0066ff !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

/* Order tracking result / order details action buttons */
body.page .entry-content .woocommerce table.shop_table a.button,
body.page .entry-content .woocommerce .order_details a.button,
body.page .entry-content .woocommerce .woocommerce-order-details a.button,
body.page .entry-content .woocommerce a.button,
body.page .entry-content .woocommerce button.button,
body.page .entry-content .woocommerce a[href*="invoice"],
body.page .entry-content .woocommerce a[href*="track"],
body.page .entry-content .woocommerce .button.track,
body.page .entry-content .woocommerce .button.invoice {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  min-width: 112px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  border: 1px solid #07111f !important;
  background: #07111f !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

body.page .entry-content .woocommerce table.shop_table a.button:hover,
body.page .entry-content .woocommerce .order_details a.button:hover,
body.page .entry-content .woocommerce .woocommerce-order-details a.button:hover,
body.page .entry-content .woocommerce a.button:hover,
body.page .entry-content .woocommerce button.button:hover,
body.page .entry-content .woocommerce a[href*="invoice"]:hover,
body.page .entry-content .woocommerce a[href*="track"]:hover {
  background: #0066ff !important;
  border-color: #0066ff !important;
  color: #ffffff !important;
}

@media (max-width: 760px) {
  body.page .entry-content:has(form.woocommerce-form-track-order),
  body.page .entry-content:has(form.track_order) {
    width: min(100% - 28px, 1180px) !important;
    padding-top: 42px !important;
  }

  body.page .entry-content:has(form.woocommerce-form-track-order) form.woocommerce-form-track-order,
  body.page .entry-content:has(form.track_order) form.track_order {
    grid-template-columns: 1fr !important;
    padding: 24px !important;
    border-radius: 22px !important;
  }
}


/* =========================================================
   D&H v2.2.31 single product restore / v2.2.32 legacy block
   - Self-contained thumbnail carousel
   - Single add-to-basket button matches D&H styling
   - Reinforces smooth gallery follow layout
   ========================================================= */

body.dhh-single-product.dhh-product-page-v2232 div.product div.images,
body.dhh-single-product.dhh-product-page-v2232 div.product .woocommerce-product-gallery {
  overflow: visible !important;
}

body.dhh-single-product.dhh-product-page-v2232 .dhh-thumb-carousel-shell {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) 38px !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 14px !important;
  width: 100% !important;
}

body.dhh-single-product.dhh-product-page-v2232 ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track,
body.dhh-single-product.dhh-product-page-v2232 .flex-control-thumbs.dhh-thumb-carousel-track,
body.dhh-single-product.dhh-product-page-v2232 .woocommerce-product-gallery ol.flex-control-thumbs.dhh-thumb-carousel-track {
  grid-column: 2 / 3 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 2px 2px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x proximity !important;
  -webkit-overflow-scrolling: touch !important;
  list-style: none !important;
}

body.dhh-single-product.dhh-product-page-v2232 ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track::-webkit-scrollbar,
body.dhh-single-product.dhh-product-page-v2232 .flex-control-thumbs.dhh-thumb-carousel-track::-webkit-scrollbar {
  height: 0 !important;
}

body.dhh-single-product.dhh-product-page-v2232 ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track li,
body.dhh-single-product.dhh-product-page-v2232 .flex-control-thumbs.dhh-thumb-carousel-track li,
body.dhh-single-product.dhh-product-page-v2232 .woocommerce div.product div.images .flex-control-thumbs.dhh-thumb-carousel-track li {
  float: none !important;
  flex: 0 0 92px !important;
  width: 92px !important;
  max-width: 92px !important;
  margin: 0 !important;
  padding: 0 !important;
  scroll-snap-align: start !important;
}

body.dhh-single-product.dhh-product-page-v2232 .flex-control-thumbs.dhh-thumb-carousel-track img {
  display: block !important;
  width: 92px !important;
  height: 92px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  border: 1px solid #e5e7eb !important;
  background: #ffffff !important;
  opacity: 0.62 !important;
  transition: opacity .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

body.dhh-single-product.dhh-product-page-v2232 .flex-control-thumbs.dhh-thumb-carousel-track img.flex-active,
body.dhh-single-product.dhh-product-page-v2232 .flex-control-thumbs.dhh-thumb-carousel-track img:hover {
  opacity: 1 !important;
  border-color: #111827 !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12) !important;
  transform: translateY(-1px) !important;
}

body.dhh-single-product.dhh-product-page-v2232 .dhh-thumb-carousel-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 1px solid #e5e7eb !important;
  background: #ffffff !important;
  color: #111827 !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.10) !important;
  cursor: pointer !important;
}

body.dhh-single-product.dhh-product-page-v2232 .dhh-thumb-carousel-button:hover:not(:disabled) {
  background: #111827 !important;
  border-color: #111827 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

body.dhh-single-product.dhh-product-page-v2232 .dhh-thumb-carousel-button:disabled {
  opacity: .28 !important;
  cursor: default !important;
  box-shadow: none !important;
}

/* Single product add-to-basket button: override Astra/global red fallback. */
html body.dhh-single-product.dhh-product-page-v2232 .summary.entry-summary form.cart button.single_add_to_cart_button,
html body.dhh-single-product.dhh-product-page-v2232 .summary.entry-summary form.cart .single_add_to_cart_button,
html body.dhh-single-product.dhh-product-page-v2232 .woocommerce div.product form.cart button.button.single_add_to_cart_button,
html body.single-product.dhh-theme .woocommerce div.product form.cart button.button.single_add_to_cart_button,
html body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button.button.alt,
html body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  height: 48px !important;
  min-width: 150px !important;
  padding: 0 28px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 1px solid #111827 !important;
  background: #111827 !important;
  background-color: #111827 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -0.01em !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

html body.dhh-single-product.dhh-product-page-v2232 .summary.entry-summary form.cart button.single_add_to_cart_button:hover,
html body.dhh-single-product.dhh-product-page-v2232 .woocommerce div.product form.cart button.button.single_add_to_cart_button:hover,
html body.single-product.dhh-theme .woocommerce div.product form.cart button.button.single_add_to_cart_button:hover,
html body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button.button.alt:hover,
html body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button:hover {
  background: #0066ff !important;
  background-color: #0066ff !important;
  border-color: #0066ff !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

html body.dhh-single-product.dhh-product-page-v2232 .summary.entry-summary form.cart button.single_add_to_cart_button:disabled,
html body.dhh-single-product.dhh-product-page-v2232 .summary.entry-summary form.cart button.single_add_to_cart_button.disabled,
html body.dhh-single-product.dhh-product-page-v2232 .woocommerce div.product form.cart button.single_add_to_cart_button.disabled {
  background: #9ca3af !important;
  background-color: #9ca3af !important;
  border-color: #9ca3af !important;
  color: #ffffff !important;
  cursor: not-allowed !important;
  transform: none !important;
}

@media (max-width: 760px) {
  body.dhh-single-product.dhh-product-page-v2232 .dhh-thumb-carousel-shell {
    grid-template-columns: 1fr !important;
  }
  body.dhh-single-product.dhh-product-page-v2232 .dhh-thumb-carousel-button {
    display: none !important;
  }
  body.dhh-single-product.dhh-product-page-v2232 ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track,
  body.dhh-single-product.dhh-product-page-v2232 .flex-control-thumbs.dhh-thumb-carousel-track {
    grid-column: 1 / -1 !important;
  }
  body.dhh-single-product.dhh-product-page-v2232 ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track li,
  body.dhh-single-product.dhh-product-page-v2232 .flex-control-thumbs.dhh-thumb-carousel-track li {
    flex-basis: 74px !important;
    width: 74px !important;
    max-width: 74px !important;
  }
  body.dhh-single-product.dhh-product-page-v2232 .flex-control-thumbs.dhh-thumb-carousel-track img {
    width: 74px !important;
    height: 74px !important;
  }
}


/* v2.2.32 Back-to-top button cleanup
   Keep the Astra/theme scroll-to-top button and hide the duplicated Elementor scroll-to-top widget/button.
   This fixes the two-layer bottom-right button where a blue Elementor arrow/button sits underneath the theme button. */
body .e-scroll-to-top,
body .e-scroll-to-top__button,
body .elementor-widget-e-scroll-to-top,
body .elementor-widget-scroll-to-top,
body .elementor-element.e-scroll-to-top {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Make sure the single remaining Astra/theme button stays clean and above page content. */
body #ast-scroll-top,
body .ast-scroll-top-icon {
  z-index: 99999 !important;
}


/* =========================================================
   D&H v2.2.36 final visual recovery
   Fixes the v2.2.32 selector mismatch and restores:
   - single product thumbnail carousel/follow CSS on the actual body classes;
   - single Add to basket grey -> blue interaction style;
   - one clean scroll-to-top button with no blue inner/Elementor duplicate layer.
   Presentation only. Does not touch payment, stock, Mintsoft, availability or checkout logic.
   ========================================================= */

body.dhh-single-product.dhh-product-page-v2231 div.product div.images,
body.dhh-single-product.dhh-product-page-v2231 div.product .woocommerce-product-gallery,
body.dhh-single-product.dhh-product-page-v2232 div.product div.images,
body.dhh-single-product.dhh-product-page-v2232 div.product .woocommerce-product-gallery,
body.dhh-single-product.dhh-product-page-v2233 div.product div.images,
body.dhh-single-product.dhh-product-page-v2233 div.product .woocommerce-product-gallery,
body.single-product div.product div.images,
body.single-product div.product .woocommerce-product-gallery {
  overflow: visible !important;
}

body.dhh-single-product .dhh-thumb-carousel-shell,
body.single-product .dhh-thumb-carousel-shell {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) 38px !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 14px !important;
  width: 100% !important;
}

body.dhh-single-product ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track,
body.dhh-single-product .flex-control-thumbs.dhh-thumb-carousel-track,
body.dhh-single-product .woocommerce-product-gallery ol.flex-control-thumbs.dhh-thumb-carousel-track,
body.single-product ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track,
body.single-product .flex-control-thumbs.dhh-thumb-carousel-track,
body.single-product .woocommerce-product-gallery ol.flex-control-thumbs.dhh-thumb-carousel-track {
  grid-column: 2 / 3 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 2px 2px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x proximity !important;
  -webkit-overflow-scrolling: touch !important;
  list-style: none !important;
}

body.dhh-single-product ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track li,
body.dhh-single-product .flex-control-thumbs.dhh-thumb-carousel-track li,
body.single-product ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track li,
body.single-product .flex-control-thumbs.dhh-thumb-carousel-track li,
body.single-product.woocommerce div.product div.images .flex-control-thumbs.dhh-thumb-carousel-track li {
  float: none !important;
  flex: 0 0 92px !important;
  width: 92px !important;
  max-width: 92px !important;
  margin: 0 !important;
  padding: 0 !important;
  scroll-snap-align: start !important;
}

body.dhh-single-product .flex-control-thumbs.dhh-thumb-carousel-track img,
body.single-product .flex-control-thumbs.dhh-thumb-carousel-track img {
  display: block !important;
  width: 92px !important;
  height: 92px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  border: 1px solid #e5e7eb !important;
  background: #ffffff !important;
  opacity: 0.62 !important;
  transition: opacity .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

body.dhh-single-product .flex-control-thumbs.dhh-thumb-carousel-track img.flex-active,
body.dhh-single-product .flex-control-thumbs.dhh-thumb-carousel-track img:hover,
body.single-product .flex-control-thumbs.dhh-thumb-carousel-track img.flex-active,
body.single-product .flex-control-thumbs.dhh-thumb-carousel-track img:hover {
  opacity: 1 !important;
  border-color: #111827 !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12) !important;
  transform: translateY(-1px) !important;
}

body.dhh-single-product .dhh-thumb-carousel-button,
body.single-product .dhh-thumb-carousel-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 1px solid #e5e7eb !important;
  background: #ffffff !important;
  color: #111827 !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.10) !important;
  cursor: pointer !important;
}

body.dhh-single-product .dhh-thumb-carousel-button:hover:not(:disabled),
body.single-product .dhh-thumb-carousel-button:hover:not(:disabled) {
  background: #111827 !important;
  border-color: #111827 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

body.dhh-single-product .dhh-thumb-carousel-button:disabled,
body.single-product .dhh-thumb-carousel-button:disabled {
  opacity: .28 !important;
  cursor: default !important;
  box-shadow: none !important;
}

html body.single-product.woocommerce div.product form.cart button.single_add_to_cart_button,
html body.single-product.woocommerce div.product form.cart button.single_add_to_cart_button.button,
html body.single-product.woocommerce div.product form.cart button.single_add_to_cart_button.button.alt,
html body.single-product div.product form.cart button.single_add_to_cart_button,
html body.single-product div.product form.cart .single_add_to_cart_button,
html body.dhh-single-product div.product form.cart button.single_add_to_cart_button,
html body.dhh-single-product .summary.entry-summary form.cart button.single_add_to_cart_button,
html body.dhh-single-product .summary.entry-summary form.cart .single_add_to_cart_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  height: 48px !important;
  min-width: 150px !important;
  padding: 0 28px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 1px solid #d9e0ea !important;
  background: #eef2f7 !important;
  background-color: #eef2f7 !important;
  color: #07111f !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -0.01em !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

html body.single-product.woocommerce div.product form.cart button.single_add_to_cart_button:hover,
html body.single-product.woocommerce div.product form.cart button.single_add_to_cart_button:focus,
html body.single-product.woocommerce div.product form.cart button.single_add_to_cart_button:active,
html body.single-product.woocommerce div.product form.cart button.single_add_to_cart_button.loading,
html body.single-product.woocommerce div.product form.cart button.single_add_to_cart_button.added,
html body.single-product div.product form.cart button.single_add_to_cart_button:hover,
html body.single-product div.product form.cart button.single_add_to_cart_button:focus,
html body.single-product div.product form.cart button.single_add_to_cart_button:active,
html body.single-product div.product form.cart button.single_add_to_cart_button.loading,
html body.single-product div.product form.cart button.single_add_to_cart_button.added,
html body.dhh-single-product div.product form.cart button.single_add_to_cart_button:hover,
html body.dhh-single-product div.product form.cart button.single_add_to_cart_button:focus,
html body.dhh-single-product div.product form.cart button.single_add_to_cart_button:active,
html body.dhh-single-product div.product form.cart button.single_add_to_cart_button.loading,
html body.dhh-single-product div.product form.cart button.single_add_to_cart_button.added {
  background: #0066ff !important;
  background-color: #0066ff !important;
  border-color: #0066ff !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: none !important;
}

body .e-scroll-to-top,
body .e-scroll-to-top__button,
body .elementor-widget-e-scroll-to-top,
body .elementor-widget-scroll-to-top,
body .elementor-element.e-scroll-to-top,
body .dhh-elementor-scrolltop-hidden-v2234 {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html body #ast-scroll-top,
html body #ast-scroll-top.ast-scroll-top-icon,
html body .ast-scroll-top-icon#ast-scroll-top {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: #07111f !important;
  background-color: #07111f !important;
  color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.18) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  z-index: 99999 !important;
}

html body #ast-scroll-top:hover,
html body #ast-scroll-top:focus {
  background: #0066ff !important;
  background-color: #0066ff !important;
  color: #ffffff !important;
}

html body #ast-scroll-top .ast-icon,
html body #ast-scroll-top .ast-icon.icon-arrow,
html body #ast-scroll-top .ast-icon *,
html body #ast-scroll-top span:not(.screen-reader-text),
html body #ast-scroll-top i,
html body #ast-scroll-top svg {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: inherit !important;
}

html body #ast-scroll-top .ast-icon,
html body #ast-scroll-top .ast-icon.icon-arrow,
html body #ast-scroll-top i {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  line-height: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

html body #ast-scroll-top svg {
  width: 16px !important;
  height: 16px !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

@media (max-width: 760px) {
  body.dhh-single-product .dhh-thumb-carousel-shell,
  body.single-product .dhh-thumb-carousel-shell {
    grid-template-columns: 1fr !important;
  }
  body.dhh-single-product .dhh-thumb-carousel-button,
  body.single-product .dhh-thumb-carousel-button {
    display: none !important;
  }
  body.dhh-single-product ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track,
  body.dhh-single-product .flex-control-thumbs.dhh-thumb-carousel-track,
  body.single-product ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track,
  body.single-product .flex-control-thumbs.dhh-thumb-carousel-track {
    grid-column: 1 / -1 !important;
  }
  body.dhh-single-product ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track li,
  body.dhh-single-product .flex-control-thumbs.dhh-thumb-carousel-track li,
  body.single-product ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track li,
  body.single-product .flex-control-thumbs.dhh-thumb-carousel-track li {
    flex-basis: 74px !important;
    width: 74px !important;
    max-width: 74px !important;
  }
  body.dhh-single-product .flex-control-thumbs.dhh-thumb-carousel-track img,
  body.single-product .flex-control-thumbs.dhh-thumb-carousel-track img {
    width: 74px !important;
    height: 74px !important;
  }
}


/* =========================================================
   D&H v2.2.36 regression restore
   Fixes from the v2.2.30/31/32 refresh:
   - Do not depend on a version-specific body class for single product fixes.
   - Restore add-to-basket as the neutral D&H pill, turning blue on hover/focus/active.
   - Remove the duplicated Elementor blue back-to-top layer and keep one clean theme/Astra button.
   ========================================================= */

/* Product thumbnail carousel: make the current-theme carousel styling apply even if the body-class
   suffix from a previous build is not present or the page is built by a product template. */
html body.single-product div.product div.images,
html body.single-product div.product .woocommerce-product-gallery,
html body.dhh-single-product div.product div.images,
html body.dhh-single-product div.product .woocommerce-product-gallery {
  overflow: visible !important;
}

html body.single-product .dhh-thumb-carousel-shell,
html body.dhh-single-product .dhh-thumb-carousel-shell {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) 38px !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 14px !important;
  width: 100% !important;
}

html body.single-product ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track,
html body.single-product .flex-control-thumbs.dhh-thumb-carousel-track,
html body.single-product .woocommerce-product-gallery ol.flex-control-thumbs.dhh-thumb-carousel-track,
html body.dhh-single-product ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track,
html body.dhh-single-product .flex-control-thumbs.dhh-thumb-carousel-track,
html body.dhh-single-product .woocommerce-product-gallery ol.flex-control-thumbs.dhh-thumb-carousel-track {
  grid-column: 2 / 3 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 2px 2px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x proximity !important;
  -webkit-overflow-scrolling: touch !important;
  list-style: none !important;
}

html body.single-product ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track::-webkit-scrollbar,
html body.single-product .flex-control-thumbs.dhh-thumb-carousel-track::-webkit-scrollbar,
html body.dhh-single-product ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track::-webkit-scrollbar,
html body.dhh-single-product .flex-control-thumbs.dhh-thumb-carousel-track::-webkit-scrollbar {
  height: 0 !important;
}

html body.single-product ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track li,
html body.single-product .flex-control-thumbs.dhh-thumb-carousel-track li,
html body.single-product .woocommerce div.product div.images .flex-control-thumbs.dhh-thumb-carousel-track li,
html body.dhh-single-product ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track li,
html body.dhh-single-product .flex-control-thumbs.dhh-thumb-carousel-track li,
html body.dhh-single-product .woocommerce div.product div.images .flex-control-thumbs.dhh-thumb-carousel-track li {
  float: none !important;
  flex: 0 0 92px !important;
  width: 92px !important;
  max-width: 92px !important;
  margin: 0 !important;
  padding: 0 !important;
  scroll-snap-align: start !important;
}

html body.single-product .flex-control-thumbs.dhh-thumb-carousel-track img,
html body.dhh-single-product .flex-control-thumbs.dhh-thumb-carousel-track img {
  display: block !important;
  width: 92px !important;
  height: 92px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  border: 1px solid #e5e7eb !important;
  background: #ffffff !important;
  opacity: 0.62 !important;
  transition: opacity .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

html body.single-product .flex-control-thumbs.dhh-thumb-carousel-track img.flex-active,
html body.single-product .flex-control-thumbs.dhh-thumb-carousel-track img:hover,
html body.dhh-single-product .flex-control-thumbs.dhh-thumb-carousel-track img.flex-active,
html body.dhh-single-product .flex-control-thumbs.dhh-thumb-carousel-track img:hover {
  opacity: 1 !important;
  border-color: #111827 !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12) !important;
  transform: translateY(-1px) !important;
}

html body.single-product .dhh-thumb-carousel-button,
html body.dhh-single-product .dhh-thumb-carousel-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 1px solid #e5e7eb !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111827 !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.10) !important;
  cursor: pointer !important;
}

html body.single-product .dhh-thumb-carousel-button:hover:not(:disabled),
html body.dhh-single-product .dhh-thumb-carousel-button:hover:not(:disabled) {
  background: #111827 !important;
  background-color: #111827 !important;
  border-color: #111827 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

html body.single-product .dhh-thumb-carousel-button:disabled,
html body.dhh-single-product .dhh-thumb-carousel-button:disabled {
  opacity: .28 !important;
  cursor: default !important;
  box-shadow: none !important;
}

/* Single product Add to basket: strongest fallback. The red Astra/Woo fallback is replaced with
   the neutral D&H pill; interaction states turn D&H blue. */
html body.single-product form.cart button.single_add_to_cart_button,
html body.single-product form.cart .single_add_to_cart_button,
html body.single-product .product form.cart button.single_add_to_cart_button,
html body.single-product .product form.cart .single_add_to_cart_button,
html body.single-product .summary.entry-summary form.cart button.single_add_to_cart_button,
html body.single-product .summary.entry-summary form.cart .single_add_to_cart_button,
html body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button,
html body.single-product .woocommerce div.product form.cart button.button.single_add_to_cart_button,
html body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button.button.alt,
html body.single-product .woocommerce div.product form.cart .single_add_to_cart_button,
html body.dhh-single-product form.cart button.single_add_to_cart_button,
html body.dhh-single-product form.cart .single_add_to_cart_button,
html body.dhh-single-product .summary.entry-summary form.cart button.single_add_to_cart_button,
html body.dhh-single-product .summary.entry-summary form.cart .single_add_to_cart_button,
html body.dhh-single-product .woocommerce div.product form.cart button.button.single_add_to_cart_button,
html body button.single_add_to_cart_button.button.alt,
html body button.single_add_to_cart_button {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  height: 48px !important;
  min-width: 150px !important;
  padding: 0 28px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 1px solid #d7dee8 !important;
  background: #eef2f6 !important;
  background-color: #eef2f6 !important;
  background-image: none !important;
  color: #0f172a !important;
  fill: #0f172a !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -0.01em !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

html body.single-product form.cart button.single_add_to_cart_button:hover,
html body.single-product form.cart button.single_add_to_cart_button:focus,
html body.single-product form.cart button.single_add_to_cart_button:focus-visible,
html body.single-product form.cart button.single_add_to_cart_button:active,
html body.single-product form.cart button.single_add_to_cart_button.loading,
html body.single-product form.cart button.single_add_to_cart_button.added,
html body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button:hover,
html body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button:focus,
html body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button:focus-visible,
html body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button:active,
html body.dhh-single-product form.cart button.single_add_to_cart_button:hover,
html body.dhh-single-product form.cart button.single_add_to_cart_button:focus,
html body.dhh-single-product form.cart button.single_add_to_cart_button:focus-visible,
html body.dhh-single-product form.cart button.single_add_to_cart_button:active,
html body button.single_add_to_cart_button.button.alt:hover,
html body button.single_add_to_cart_button.button.alt:focus,
html body button.single_add_to_cart_button.button.alt:active,
html body button.single_add_to_cart_button:hover,
html body button.single_add_to_cart_button:focus,
html body button.single_add_to_cart_button:active {
  border-color: #0066ff !important;
  background: #0066ff !important;
  background-color: #0066ff !important;
  background-image: none !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  text-shadow: none !important;
  box-shadow: none !important;
  transform: translateY(-1px) !important;
}

html body.single-product form.cart button.single_add_to_cart_button:disabled,
html body.single-product form.cart button.single_add_to_cart_button.disabled,
html body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button:disabled,
html body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button.disabled,
html body.dhh-single-product form.cart button.single_add_to_cart_button:disabled,
html body.dhh-single-product form.cart button.single_add_to_cart_button.disabled,
html body button.single_add_to_cart_button:disabled,
html body button.single_add_to_cart_button.disabled {
  border-color: #d1d5db !important;
  background: #e5e7eb !important;
  background-color: #e5e7eb !important;
  color: #9ca3af !important;
  fill: #9ca3af !important;
  cursor: not-allowed !important;
  transform: none !important;
}

@media (max-width: 760px) {
  html body.single-product .dhh-thumb-carousel-shell,
  html body.dhh-single-product .dhh-thumb-carousel-shell {
    grid-template-columns: 1fr !important;
  }
  html body.single-product .dhh-thumb-carousel-button,
  html body.dhh-single-product .dhh-thumb-carousel-button {
    display: none !important;
  }
  html body.single-product ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track,
  html body.single-product .flex-control-thumbs.dhh-thumb-carousel-track,
  html body.dhh-single-product ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track,
  html body.dhh-single-product .flex-control-thumbs.dhh-thumb-carousel-track {
    grid-column: 1 / -1 !important;
  }
  html body.single-product ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track li,
  html body.single-product .flex-control-thumbs.dhh-thumb-carousel-track li,
  html body.dhh-single-product ol.flex-control-nav.flex-control-thumbs.dhh-thumb-carousel-track li,
  html body.dhh-single-product .flex-control-thumbs.dhh-thumb-carousel-track li {
    flex-basis: 74px !important;
    width: 74px !important;
    max-width: 74px !important;
  }
  html body.single-product .flex-control-thumbs.dhh-thumb-carousel-track img,
  html body.dhh-single-product .flex-control-thumbs.dhh-thumb-carousel-track img {
    width: 74px !important;
    height: 74px !important;
  }
}

/* Back-to-top: hide only exact Elementor scroll-to-top controls.
   Do not use broad ancestor :has(.e-scroll-to-top) selectors here; v2.2.36 keeps page wrappers safe. */
html body .e-scroll-to-top,
html body .e-scroll-to-top__button,
html body .e-back-to-top,
html body .e-back-to-top__button,
html body .elementor-widget-e-scroll-to-top,
html body .elementor-widget-scroll-to-top,
html body .elementor-widget-back-to-top,
html body .elementor-widget-e-back-to-top,
html body .elementor-element.elementor-fixed.dhh-elementor-scrolltop-hidden-v2234,
html body .elementor-element.elementor-sticky.dhh-elementor-scrolltop-hidden-v2234,
html body .elementor-element.elementor-sticky--active.dhh-elementor-scrolltop-hidden-v2234,
html body a.dhh-elementor-scrolltop-hidden-v2234,
html body button.dhh-elementor-scrolltop-hidden-v2234 {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Keep the single Astra/theme scroll control visually clean. This also prevents the retained
   button itself from showing a blue square if Astra/Elementor variables bleed into it. */
html body #ast-scroll-top,
html body .ast-scroll-top-icon,
html body .astra-scroll-to-top {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #07111f !important;
  background-color: #07111f !important;
  background-image: none !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.24) !important;
  z-index: 99999 !important;
  overflow: hidden !important;
}

html body #ast-scroll-top:hover,
html body .ast-scroll-top-icon:hover,
html body .astra-scroll-to-top:hover {
  background: #0066ff !important;
  background-color: #0066ff !important;
  color: #ffffff !important;
}

html body #ast-scroll-top *,
html body .ast-scroll-top-icon *,
html body .astra-scroll-to-top *,
html body #ast-scroll-top svg,
html body .ast-scroll-top-icon svg,
html body .astra-scroll-to-top svg {
  background: transparent !important;
  background-color: transparent !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
  box-shadow: none !important;
  border: 0 !important;
}


/* v2.2.36 emergency/safe back-to-top cleanup.
   The v2.2.33 JavaScript could accidentally match the BODY because the BODY had a class containing
   "back-to-top". This block never targets html/body/page wrappers; it only hides known Elementor
   scroll-to-top widgets and keeps Astra's one button clean. */
html body.dhh-hidden-duplicate-scroll-top,
html body.dhh-v2233-hidden-duplicate-scrolltop,
html body.dhh-elementor-scrolltop-hidden-v2234:not(.elementor-element):not(.e-scroll-to-top):not(.e-back-to-top):not(.elementor-widget-e-scroll-to-top):not(.elementor-widget-scroll-to-top):not(.elementor-widget-back-to-top):not(.elementor-widget-e-back-to-top) {
  /* Defensive only: if an old cached script ever added the legacy class to body, CSS alone cannot
     beat old inline !important styles, but it avoids adding another stylesheet-level hide rule. */
}

html body .e-scroll-to-top,
html body .e-scroll-to-top__button,
html body .e-back-to-top,
html body .e-back-to-top__button,
html body .elementor-widget-e-scroll-to-top,
html body .elementor-widget-scroll-to-top,
html body .elementor-widget-back-to-top,
html body .elementor-widget-e-back-to-top,
html body .elementor-element.elementor-fixed.dhh-elementor-scrolltop-hidden-v2234,
html body .elementor-element.elementor-sticky.dhh-elementor-scrolltop-hidden-v2234,
html body .elementor-element.elementor-sticky--active.dhh-elementor-scrolltop-hidden-v2234,
html body a.dhh-elementor-scrolltop-hidden-v2234,
html body button.dhh-elementor-scrolltop-hidden-v2234,
html body div.dhh-elementor-scrolltop-hidden-v2234:not(body):not(#page):not(.site):not(.site-content) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html body #ast-scroll-top,
html body #ast-scroll-top.ast-scroll-top-icon,
html body .ast-scroll-top-icon#ast-scroll-top,
html body .astra-scroll-to-top#ast-scroll-top {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #07111f !important;
  background-color: #07111f !important;
  background-image: none !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.24) !important;
  z-index: 99999 !important;
  overflow: hidden !important;
}

html body #ast-scroll-top:hover,
html body #ast-scroll-top:focus {
  background: #0066ff !important;
  background-color: #0066ff !important;
  color: #ffffff !important;
}

html body #ast-scroll-top *,
html body #ast-scroll-top .ast-icon,
html body #ast-scroll-top .ast-icon *,
html body #ast-scroll-top i,
html body #ast-scroll-top span:not(.screen-reader-text),
html body #ast-scroll-top svg {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

/* =========================================================
   D&H v2.2.36 back-to-top dedupe
   Keep the native Astra #ast-scroll-top only. AI Mentor / Elementor description blocks can inject
   another fixed blue top button; the JS marks those as .dhh-scrolltop-duplicate-v2236.
   ========================================================= */
html body .dhh-scrolltop-duplicate-v2236:not(html):not(body):not(#page):not(.site):not(.site-content):not(.site-main):not(#ast-scroll-top),
html body #dhh-scroll-top,
html body .dhh-back-to-top-v2235,
html body .e-scroll-to-top,
html body .e-scroll-to-top__button,
html body .e-back-to-top,
html body .e-back-to-top__button,
html body .elementor-widget-e-scroll-to-top,
html body .elementor-widget-scroll-to-top,
html body .elementor-widget-back-to-top,
html body .elementor-widget-e-back-to-top {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html body #ast-scroll-top,
html body #ast-scroll-top.ast-scroll-to-top,
html body #ast-scroll-top.ast-scroll-to-top-right,
html body #ast-scroll-top.ast-scroll-top-icon,
html body .ast-scroll-top-icon#ast-scroll-top,
html body .astra-scroll-to-top#ast-scroll-top {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #07111f !important;
  background-color: #07111f !important;
  background-image: none !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.24) !important;
  overflow: hidden !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 99999 !important;
}

html body #ast-scroll-top:hover,
html body #ast-scroll-top:focus,
html body #ast-scroll-top:active,
html body #ast-scroll-top.ast-scroll-to-top:hover,
html body #ast-scroll-top.ast-scroll-to-top:focus,
html body #ast-scroll-top.ast-scroll-to-top:active {
  background: #07111f !important;
  background-color: #07111f !important;
  background-image: none !important;
  color: #ffffff !important;
  outline: none !important;
}

html body #ast-scroll-top > .ast-icon,
html body #ast-scroll-top .ast-icon,
html body #ast-scroll-top .ast-icon.icon-arrow,
html body #ast-scroll-top .ast-icon::before,
html body #ast-scroll-top .ast-icon::after,
html body #ast-scroll-top span:not(.screen-reader-text),
html body #ast-scroll-top i,
html body #ast-scroll-top svg,
html body #ast-scroll-top svg *,
html body #ast-scroll-top path {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

html body #ast-scroll-top > .ast-icon,
html body #ast-scroll-top .ast-icon,
html body #ast-scroll-top .ast-icon.icon-arrow,
html body #ast-scroll-top i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 18px !important;
}

html body #ast-scroll-top svg {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
}


/* =========================================================
   D&H v2.2.36.1 final back-to-top authority
   - One visible control only: Astra #ast-scroll-top.
   - Legacy v2.2.35 D&H button and Elementor / AI Mentor duplicates are hidden.
   - Astra inner icon is transparent, preventing the blue square inside the circle.
   ========================================================= */
html body #dhh-scroll-top,
html body .dhh-scroll-control,
html body .dhh-back-to-top-v2235,
html body .dhh-scrolltop-duplicate-v2236:not(html):not(body):not(#page):not(.site):not(.site-content):not(.site-main):not(.ast-container):not(#ast-scroll-top),
html body .e-scroll-to-top,
html body .e-scroll-to-top__button,
html body .e-back-to-top,
html body .e-back-to-top__button,
html body .elementor-widget-e-scroll-to-top,
html body .elementor-widget-scroll-to-top,
html body .elementor-widget-back-to-top,
html body .elementor-widget-e-back-to-top {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html body div#ast-scroll-top.ast-scroll-top-icon.ast-scroll-to-top-right,
html body div#ast-scroll-top.ast-scroll-top-icon,
html body #ast-scroll-top.ast-scroll-top-icon.ast-scroll-to-top-right,
html body #ast-scroll-top.ast-scroll-top-icon,
html body #ast-scroll-top[style],
html body #ast-scroll-top {
  -webkit-appearance: none !important;
  appearance: none !important;
  position: fixed !important;
  right: 38px !important;
  bottom: 38px !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #07111f !important;
  background-color: #07111f !important;
  background-image: none !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  text-shadow: none !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.24) !important;
  overflow: hidden !important;
  z-index: 2147482999 !important;
  align-items: center !important;
  justify-content: center !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(10px) !important;
  transition: opacity .18s ease, transform .18s ease, background-color .18s ease !important;
}

html body.dhh-ast-scroll-visible div#ast-scroll-top.ast-scroll-top-icon.ast-scroll-to-top-right,
html body.dhh-ast-scroll-visible div#ast-scroll-top.ast-scroll-top-icon,
html body.dhh-ast-scroll-visible #ast-scroll-top.ast-scroll-top-icon.ast-scroll-to-top-right,
html body.dhh-ast-scroll-visible #ast-scroll-top.ast-scroll-top-icon,
html body.dhh-ast-scroll-visible #ast-scroll-top[style],
html body.dhh-ast-scroll-visible #ast-scroll-top {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

html body #ast-scroll-top:hover,
html body #ast-scroll-top:focus,
html body #ast-scroll-top:active {
  background: #07111f !important;
  background-color: #07111f !important;
  background-image: none !important;
  color: #ffffff !important;
  outline: none !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.30) !important;
}

html body #ast-scroll-top > .ast-icon,
html body #ast-scroll-top .ast-icon,
html body #ast-scroll-top .ast-icon.icon-arrow,
html body #ast-scroll-top .ast-icon::before,
html body #ast-scroll-top .ast-icon::after,
html body #ast-scroll-top span:not(.screen-reader-text),
html body #ast-scroll-top i,
html body #ast-scroll-top svg,
html body #ast-scroll-top svg *,
html body #ast-scroll-top path {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
  text-shadow: none !important;
}

html body #ast-scroll-top > .ast-icon,
html body #ast-scroll-top .ast-icon,
html body #ast-scroll-top .ast-icon.icon-arrow,
html body #ast-scroll-top i {
  position: absolute !important;
  inset: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
}

html body #ast-scroll-top svg {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
}

@media (max-width: 760px) {
  html body div#ast-scroll-top.ast-scroll-top-icon.ast-scroll-to-top-right,
  html body div#ast-scroll-top.ast-scroll-top-icon,
  html body #ast-scroll-top.ast-scroll-top-icon.ast-scroll-to-top-right,
  html body #ast-scroll-top.ast-scroll-top-icon,
  html body #ast-scroll-top[style],
  html body #ast-scroll-top {
    right: 22px !important;
    bottom: 24px !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
  }
}


/* =========================================================
   D&H v2.2.38 account/search visual fixes
   Scope: presentation only.
   - My Account logged-out login page: centre the form area and restore D&H button styling.
   - Site search overlay: remove the transparent/frosted panel effect so product results are easy to read.
   ========================================================= */

/* My Account / Login page layout ------------------------------------------------ */
html body.dhh-my-account.woocommerce-account:not(.logged-in) .site-content,
html body.woocommerce-account:not(.logged-in) .site-content {
  background: #f4f5f7 !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .site-content > .ast-container,
html body.woocommerce-account:not(.logged-in) .site-content > .ast-container {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .site-main,
html body.woocommerce-account:not(.logged-in) .site-main {
  width: 100% !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) article,
html body.woocommerce-account:not(.logged-in) article,
html body.dhh-my-account.woocommerce-account:not(.logged-in) .entry-content,
html body.woocommerce-account:not(.logged-in) .entry-content {
  width: 100% !important;
  max-width: none !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .entry-content,
html body.woocommerce-account:not(.logged-in) .entry-content {
  min-height: calc(100vh - 190px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  padding: clamp(44px, 7vh, 86px) 0 clamp(64px, 9vh, 110px) !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .entry-content > h1,
html body.woocommerce-account:not(.logged-in) .entry-content > h1,
html body.dhh-my-account.woocommerce-account:not(.logged-in) .entry-title,
html body.woocommerce-account:not(.logged-in) .entry-title {
  width: min(1180px, calc(100vw - 48px)) !important;
  margin: 0 auto 22px !important;
  color: #111827 !important;
  font-size: clamp(32px, 3.4vw, 48px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.045em !important;
  font-weight: 900 !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .entry-content > .woocommerce,
html body.woocommerce-account:not(.logged-in) .entry-content > .woocommerce {
  width: min(1180px, calc(100vw - 48px)) !important;
  margin: 0 auto !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce form.login,
html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-form-login,
html body.woocommerce-account:not(.logged-in) .woocommerce form.login,
html body.woocommerce-account:not(.logged-in) .woocommerce-form-login {
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(26px, 3vw, 38px) !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  box-shadow: 0 20px 56px rgba(15, 23, 42, 0.06) !important;
  box-sizing: border-box !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce form.login label,
html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-form-login label,
html body.woocommerce-account:not(.logged-in) .woocommerce form.login label,
html body.woocommerce-account:not(.logged-in) .woocommerce-form-login label {
  color: #111827 !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce form.login input.input-text,
html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-form-login input.input-text,
html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-form-login input[type="text"],
html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-form-login input[type="email"],
html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-form-login input[type="password"],
html body.woocommerce-account:not(.logged-in) .woocommerce form.login input.input-text,
html body.woocommerce-account:not(.logged-in) .woocommerce-form-login input.input-text,
html body.woocommerce-account:not(.logged-in) .woocommerce-form-login input[type="text"],
html body.woocommerce-account:not(.logged-in) .woocommerce-form-login input[type="email"],
html body.woocommerce-account:not(.logged-in) .woocommerce-form-login input[type="password"] {
  width: 100% !important;
  height: 56px !important;
  padding: 0 18px !important;
  border-radius: 16px !important;
  border: 1px solid #e5e7eb !important;
  background: #ffffff !important;
  color: #111827 !important;
  font-size: 16px !important;
  line-height: 56px !important;
  box-shadow: none !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce form.login input.input-text:focus,
html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-form-login input:focus,
html body.woocommerce-account:not(.logged-in) .woocommerce form.login input.input-text:focus,
html body.woocommerce-account:not(.logged-in) .woocommerce-form-login input:focus {
  border-color: #111827 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.08) !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-form-login .form-row,
html body.woocommerce-account:not(.logged-in) .woocommerce-form-login .form-row {
  margin-bottom: 18px !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-form-login .woocommerce-form-login__rememberme,
html body.woocommerce-account:not(.logged-in) .woocommerce-form-login .woocommerce-form-login__rememberme {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 16px 0 0 !important;
}

/* Login button: neutral D&H pill, blue on interaction, not WooCommerce/Astra red. */
html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-form-login button.button,
html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-form-login button[name="login"],
html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce form.login .button,
html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce form.login button[type="submit"],
html body.woocommerce-account:not(.logged-in) .woocommerce-form-login button.button,
html body.woocommerce-account:not(.logged-in) .woocommerce-form-login button[name="login"],
html body.woocommerce-account:not(.logged-in) .woocommerce form.login .button,
html body.woocommerce-account:not(.logged-in) .woocommerce form.login button[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 96px !important;
  min-height: 44px !important;
  height: 44px !important;
  padding: 0 22px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 1px solid #d9e0ea !important;
  background: #eef2f7 !important;
  background-color: #eef2f7 !important;
  color: #07111f !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-form-login button.button:hover,
html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-form-login button.button:focus,
html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-form-login button.button:active,
html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-form-login button[name="login"]:hover,
html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-form-login button[name="login"]:focus,
html body.woocommerce-account:not(.logged-in) .woocommerce-form-login button.button:hover,
html body.woocommerce-account:not(.logged-in) .woocommerce-form-login button.button:focus,
html body.woocommerce-account:not(.logged-in) .woocommerce-form-login button.button:active,
html body.woocommerce-account:not(.logged-in) .woocommerce-form-login button[name="login"]:hover,
html body.woocommerce-account:not(.logged-in) .woocommerce-form-login button[name="login"]:focus {
  background: #0066ff !important;
  background-color: #0066ff !important;
  border-color: #0066ff !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-LostPassword,
html body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword {
  margin: 12px 0 0 !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-LostPassword a,
html body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword a {
  color: #334155 !important;
  font-size: 14px !important;
  text-decoration: none !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-LostPassword a:hover,
html body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword a:hover {
  color: #0066ff !important;
}

@media (max-width: 760px) {
  html body.dhh-my-account.woocommerce-account:not(.logged-in) .entry-content,
  html body.woocommerce-account:not(.logged-in) .entry-content {
    min-height: auto !important;
    justify-content: flex-start !important;
    padding: 34px 0 64px !important;
  }
  html body.dhh-my-account.woocommerce-account:not(.logged-in) .entry-content > h1,
  html body.woocommerce-account:not(.logged-in) .entry-content > h1,
  html body.dhh-my-account.woocommerce-account:not(.logged-in) .entry-title,
  html body.woocommerce-account:not(.logged-in) .entry-title,
  html body.dhh-my-account.woocommerce-account:not(.logged-in) .entry-content > .woocommerce,
  html body.woocommerce-account:not(.logged-in) .entry-content > .woocommerce {
    width: min(100% - 28px, 1180px) !important;
  }
  html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce form.login,
  html body.woocommerce-account:not(.logged-in) .woocommerce form.login {
    border-radius: 20px !important;
    padding: 22px !important;
  }
}

/* Search overlay opacity / readability ----------------------------------------
   The live header search is generated by plugins/theme JS, so keep this broad but presentation-only.
   Goal: no semi-transparent/frosted results area; the page underneath should not show through. */
html body .ast-search-box.full-screen,
html body .ast-search-wrapper,
html body .ast-fullscreen-search,
html body .ast-search-menu-icon .search-form,
html body .main-header-bar .ast-search-box,
html body .site-header .ast-search-box,
html body .elementor-search-form--skin-full_screen,
html body .elementor-search-form__container,
html body .dgwt-wcas-search-wrapp.dgwt-wcas-layout-icon-open,
html body .dgwt-wcas-search-wrapp.dgwt-wcas-layout-icon,
html body .aws-container,
html body .aws-search-result,
html body .aws-search-result ul,
html body .aws-search-result .aws_search_more,
html body .autocomplete-suggestions,
html body .searchwp-live-search-results,
html body .is-search-form,
html body .is-search-sections,
html body [class*="search-overlay"],
html body [class*="fullscreen-search"],
html body [class*="live-search"],
html body [class*="autocomplete"] {
  opacity: 1 !important;
}

html body .ast-search-box.full-screen,
html body .ast-fullscreen-search,
html body .elementor-search-form--skin-full_screen .elementor-search-form__container,
html body [class*="search-overlay"],
html body [class*="fullscreen-search"] {
  background: #f4f5f7 !important;
  background-color: #f4f5f7 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html body .aws-search-result,
html body .aws-search-result ul,
html body .autocomplete-suggestions,
html body .searchwp-live-search-results,
html body .dgwt-wcas-suggestions-wrapp,
html body .dgwt-wcas-suggestion,
html body .dgwt-wcas-details-wrapp,
html body .is-search-sections,
html body [class*="search-results"],
html body [class*="live-search-results"],
html body [class*="autocomplete-suggestions"] {
  background: #f4f5f7 !important;
  background-color: #f4f5f7 !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html body .aws-search-result li,
html body .aws-search-result .aws_result_item,
html body .autocomplete-suggestions .autocomplete-suggestion,
html body .searchwp-live-search-results .searchwp-live-search-result,
html body .dgwt-wcas-suggestion,
html body [class*="search-result"] li,
html body [class*="live-search-result"],
html body [class*="autocomplete-suggestion"] {
  background: #ffffff !important;
  background-color: #ffffff !important;
  opacity: 1 !important;
}

html body .aws-search-result a,
html body .aws-search-result .aws_result_link,
html body .autocomplete-suggestions a,
html body .searchwp-live-search-results a,
html body .dgwt-wcas-suggestion a,
html body [class*="search-result"] a,
html body [class*="live-search-result"] a {
  opacity: 1 !important;
}

html body .aws-search-result img,
html body .autocomplete-suggestions img,
html body .searchwp-live-search-results img,
html body .dgwt-wcas-suggestion img,
html body [class*="search-result"] img,
html body [class*="live-search-result"] img {
  opacity: 1 !important;
}

/* =========================================================
   D&H v2.2.38 account/search refinement
   - My Account login: centred compact card, not a full-width/fullscreen panel.
   - Header search: solid overlay/results and entity-safe visual layer.
   ========================================================= */

/* My Account / Login: compact centred card ------------------------------------ */
html body.dhh-my-account.woocommerce-account:not(.logged-in) .site-content,
html body.woocommerce-account:not(.logged-in) .site-content {
  background: #f4f5f7 !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .site-content > .ast-container,
html body.woocommerce-account:not(.logged-in) .site-content > .ast-container {
  width: 100% !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .entry-content,
html body.woocommerce-account:not(.logged-in) .entry-content {
  min-height: calc(100vh - 240px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  padding: 48px 0 88px !important;
  box-sizing: border-box !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .entry-content > h1,
html body.woocommerce-account:not(.logged-in) .entry-content > h1,
html body.dhh-my-account.woocommerce-account:not(.logged-in) .entry-title,
html body.woocommerce-account:not(.logged-in) .entry-title {
  width: min(720px, 100%) !important;
  margin: 0 auto 22px !important;
  padding: 0 !important;
  text-align: left !important;
  color: #111827 !important;
  font-size: clamp(30px, 3vw, 42px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.04em !important;
  font-weight: 900 !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .entry-content > .woocommerce,
html body.woocommerce-account:not(.logged-in) .entry-content > .woocommerce {
  width: min(720px, 100%) !important;
  max-width: 720px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce form.login,
html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-form-login,
html body.woocommerce-account:not(.logged-in) .woocommerce form.login,
html body.woocommerce-account:not(.logged-in) .woocommerce-form-login {
  width: 100% !important;
  max-width: 720px !important;
  margin: 0 auto !important;
  padding: clamp(28px, 3.2vw, 40px) !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.07) !important;
  box-sizing: border-box !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-form-login .form-row,
html body.woocommerce-account:not(.logged-in) .woocommerce-form-login .form-row {
  margin-bottom: 18px !important;
}

html body.dhh-my-account.woocommerce-account:not(.logged-in) .woocommerce-form-login .form-row:nth-last-child(2),
html body.woocommerce-account:not(.logged-in) .woocommerce-form-login .form-row:nth-last-child(2) {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

@media (max-width: 760px) {
  html body.dhh-my-account.woocommerce-account:not(.logged-in) .site-content > .ast-container,
  html body.woocommerce-account:not(.logged-in) .site-content > .ast-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  html body.dhh-my-account.woocommerce-account:not(.logged-in) .entry-content,
  html body.woocommerce-account:not(.logged-in) .entry-content {
    min-height: auto !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    padding: 34px 0 70px !important;
  }
  html body.dhh-my-account.woocommerce-account:not(.logged-in) .entry-content > h1,
  html body.woocommerce-account:not(.logged-in) .entry-content > h1,
  html body.dhh-my-account.woocommerce-account:not(.logged-in) .entry-title,
  html body.woocommerce-account:not(.logged-in) .entry-title,
  html body.dhh-my-account.woocommerce-account:not(.logged-in) .entry-content > .woocommerce,
  html body.woocommerce-account:not(.logged-in) .entry-content > .woocommerce {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Search overlay: make the live-search layer readable and not transparent. ------ */
html body.search-active,
html body.ast-search-menu-icon.slide-search.astra-search-icon,
html body .ast-search-box.full-screen,
html body .ast-search-wrapper,
html body .ast-fullscreen-search,
html body .elementor-search-form--skin-full_screen .elementor-search-form__container,
html body [class*="search-overlay"],
html body [class*="fullscreen-search"],
html body [class*="live-search"] {
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html body .ast-search-box.full-screen,
html body .ast-fullscreen-search,
html body .elementor-search-form--skin-full_screen .elementor-search-form__container,
html body [class*="search-overlay"],
html body [class*="fullscreen-search"] {
  background: #f4f5f7 !important;
  background-color: #f4f5f7 !important;
  background-image: none !important;
}

html body .aws-search-result,
html body .aws-search-result ul,
html body .autocomplete-suggestions,
html body .searchwp-live-search-results,
html body .dgwt-wcas-suggestions-wrapp,
html body .dgwt-wcas-suggestion,
html body .is-search-sections,
html body [class*="search-results"],
html body [class*="live-search-results"],
html body [class*="autocomplete-suggestions"] {
  background: #f4f5f7 !important;
  background-color: #f4f5f7 !important;
  background-image: none !important;
  opacity: 1 !important;
}

html body .aws-search-result li,
html body .aws-search-result .aws_result_item,
html body .autocomplete-suggestions .autocomplete-suggestion,
html body .searchwp-live-search-results .searchwp-live-search-result,
html body .dgwt-wcas-suggestion,
html body [class*="search-result"] li,
html body [class*="live-search-result"],
html body [class*="autocomplete-suggestion"] {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  opacity: 1 !important;
}

/* =========================================================
   D&H v2.2.39 final back-to-top authority
   Root cause from v2.2.38 test: the retained Astra control can still show its old inner
   Astra icon/shaft as an offset second circle, and AI Mentor/Elementor may inject a separate
   floating top control in product descriptions. This block makes #ast-scroll-top the only
   visible control and draws one clean chevron with CSS.
   ========================================================= */
html body #dhh-scroll-top,
html body .dhh-scroll-control:not(#ast-scroll-top),
html body .dhh-back-to-top-v2235,
html body .dhh-native-scrolltop-hidden-v2235:not(html):not(body):not(#page):not(.site):not(.site-content):not(.site-main):not(.ast-container):not(#ast-scroll-top),
html body .dhh-scrolltop-duplicate-v2236:not(html):not(body):not(#page):not(.site):not(.site-content):not(.site-main):not(.ast-container):not(#ast-scroll-top),
html body .dhh-scrolltop-duplicate-v2239:not(html):not(body):not(#page):not(.site):not(.site-content):not(.site-main):not(.ast-container):not(#ast-scroll-top),
html body .e-scroll-to-top,
html body .e-scroll-to-top__button,
html body .e-back-to-top,
html body .e-back-to-top__button,
html body .elementor-widget-e-scroll-to-top,
html body .elementor-widget-scroll-to-top,
html body .elementor-widget-back-to-top,
html body .elementor-widget-e-back-to-top,
html body .ast-scroll-top-icon:not(#ast-scroll-top),
html body .astra-scroll-to-top:not(#ast-scroll-top) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html body div#ast-scroll-top.ast-scroll-top-icon.ast-scroll-to-top-right,
html body div#ast-scroll-top.ast-scroll-top-icon,
html body #ast-scroll-top.ast-scroll-top-icon.ast-scroll-to-top-right,
html body #ast-scroll-top.ast-scroll-top-icon,
html body #ast-scroll-top.dhh-scrolltop-normalized-v2239,
html body #ast-scroll-top[style],
html body #ast-scroll-top {
  -webkit-appearance: none !important;
  appearance: none !important;
  position: fixed !important;
  right: 38px !important;
  bottom: 38px !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  outline: none !important;
  border-radius: 999px !important;
  background: #07111f !important;
  background-color: #07111f !important;
  background-image: none !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  text-shadow: none !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.24) !important;
  overflow: hidden !important;
  z-index: 2147482999 !important;
  align-items: center !important;
  justify-content: center !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(10px) !important;
  transition: opacity .18s ease, transform .18s ease, background-color .18s ease !important;
}

html body.dhh-ast-scroll-visible div#ast-scroll-top.ast-scroll-top-icon.ast-scroll-to-top-right,
html body.dhh-ast-scroll-visible div#ast-scroll-top.ast-scroll-top-icon,
html body.dhh-ast-scroll-visible #ast-scroll-top.ast-scroll-top-icon.ast-scroll-to-top-right,
html body.dhh-ast-scroll-visible #ast-scroll-top.ast-scroll-top-icon,
html body.dhh-ast-scroll-visible #ast-scroll-top.dhh-scrolltop-normalized-v2239,
html body.dhh-ast-scroll-visible #ast-scroll-top[style],
html body.dhh-ast-scroll-visible #ast-scroll-top {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

html body #ast-scroll-top:hover,
html body #ast-scroll-top:focus,
html body #ast-scroll-top:focus-visible,
html body #ast-scroll-top:active {
  background: #07111f !important;
  background-color: #07111f !important;
  background-image: none !important;
  color: #ffffff !important;
  outline: none !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.30) !important;
}

/* Remove Astra's old icon and pseudo-elements. The old icon can render as an offset shaft/circle,
   which is what caused the visible two-layer button in v2.2.38. */
html body #ast-scroll-top > *,
html body #ast-scroll-top .ast-icon,
html body #ast-scroll-top .ast-icon.icon-arrow,
html body #ast-scroll-top span,
html body #ast-scroll-top i,
html body #ast-scroll-top svg,
html body #ast-scroll-top path {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  overflow: hidden !important;
}

html body #ast-scroll-top::after,
html body #ast-scroll-top .ast-icon::before,
html body #ast-scroll-top .ast-icon::after,
html body #ast-scroll-top span::before,
html body #ast-scroll-top span::after,
html body #ast-scroll-top i::before,
html body #ast-scroll-top i::after {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Single clean arrow. */
html body #ast-scroll-top::before {
  content: "" !important;
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  min-width: 12px !important;
  min-height: 12px !important;
  border-top: 3px solid #ffffff !important;
  border-left: 3px solid #ffffff !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  transform: rotate(45deg) translate(2px, 2px) !important;
  transform-origin: center !important;
}

@media (max-width: 760px) {
  html body div#ast-scroll-top.ast-scroll-top-icon.ast-scroll-to-top-right,
  html body div#ast-scroll-top.ast-scroll-top-icon,
  html body #ast-scroll-top.ast-scroll-top-icon.ast-scroll-to-top-right,
  html body #ast-scroll-top.ast-scroll-top-icon,
  html body #ast-scroll-top.dhh-scrolltop-normalized-v2239,
  html body #ast-scroll-top[style],
  html body #ast-scroll-top {
    right: 22px !important;
    bottom: 24px !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
  }
}


/* =========================================================
   D&H v2.2.39 single scroll-top authority
   Hide all native/Astra/Elementor scroll-top layers and use one theme-controlled button.
   ========================================================= */
html body #ast-scroll-top,
html body div#ast-scroll-top,
html body .ast-scroll-top-icon:not(#dhh-scroll-top-v2239):not(.dhh-scrolltop-single-v2239),
html body .astra-scroll-to-top:not(#dhh-scroll-top-v2239):not(.dhh-scrolltop-single-v2239),
html body #dhh-scroll-top,
html body .dhh-scroll-control,
html body .dhh-back-to-top-v2235,
html body .e-scroll-to-top,
html body .e-scroll-to-top__button,
html body .e-back-to-top,
html body .e-back-to-top__button,
html body .elementor-widget-e-scroll-to-top,
html body .elementor-widget-scroll-to-top,
html body .elementor-widget-back-to-top,
html body .elementor-widget-e-back-to-top,
html body .dhh-scrolltop-duplicate-v2236:not(html):not(body):not(#page):not(.site):not(.site-content):not(.site-main):not(.ast-container),
html body .dhh-scrolltop-native-hidden-v2239:not(html):not(body):not(#page):not(.site):not(.site-content):not(.site-main):not(.ast-container):not(#dhh-scroll-top-v2239) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html body button#dhh-scroll-top-v2239.dhh-scrolltop-single-v2239,
html body #dhh-scroll-top-v2239.dhh-scrolltop-single-v2239 {
  -webkit-appearance: none !important;
  appearance: none !important;
  position: fixed !important;
  right: 38px !important;
  bottom: 38px !important;
  left: auto !important;
  top: auto !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #07111f !important;
  background-color: #07111f !important;
  background-image: none !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.24) !important;
  text-shadow: none !important;
  overflow: hidden !important;
  z-index: 2147483000 !important;
  align-items: center !important;
  justify-content: center !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(10px) !important;
  transition: opacity .18s ease, transform .18s ease, box-shadow .18s ease !important;
  cursor: pointer !important;
}

html body.dhh-scrolltop-visible-v2239 button#dhh-scroll-top-v2239.dhh-scrolltop-single-v2239,
html body.dhh-scrolltop-visible-v2239 #dhh-scroll-top-v2239.dhh-scrolltop-single-v2239 {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

html body button#dhh-scroll-top-v2239.dhh-scrolltop-single-v2239:hover,
html body button#dhh-scroll-top-v2239.dhh-scrolltop-single-v2239:focus,
html body button#dhh-scroll-top-v2239.dhh-scrolltop-single-v2239:active {
  background: #07111f !important;
  background-color: #07111f !important;
  background-image: none !important;
  color: #ffffff !important;
  outline: none !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.30) !important;
}

html body #dhh-scroll-top-v2239,
html body #dhh-scroll-top-v2239 *,
html body #dhh-scroll-top-v2239::before,
html body #dhh-scroll-top-v2239::after,
html body #dhh-scroll-top-v2239 *::before,
html body #dhh-scroll-top-v2239 *::after {
  box-sizing: border-box !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  color: #ffffff !important;
  fill: none !important;
  stroke: #ffffff !important;
}

html body #dhh-scroll-top-v2239::before,
html body #dhh-scroll-top-v2239::after,
html body #dhh-scroll-top-v2239 *::before,
html body #dhh-scroll-top-v2239 *::after {
  content: none !important;
  display: none !important;
}

html body #dhh-scroll-top-v2239 svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body #dhh-scroll-top-v2239 svg path {
  fill: none !important;
  stroke: #ffffff !important;
  stroke-width: 3 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

@media (max-width: 760px) {
  html body button#dhh-scroll-top-v2239.dhh-scrolltop-single-v2239,
  html body #dhh-scroll-top-v2239.dhh-scrolltop-single-v2239 {
    right: 22px !important;
    bottom: 24px !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
  }
}
