/* Shared cart controls: catalogue, home lists, product forms, recommendations.
 * Preserve labels in the DOM and the original WooCommerce loading lifecycle. */
html body.dp-cart-style :is(
  .mkdf-content ul.products li.product a.button,
  .mkdf-content section.related.products ul.products li.product a.button,
  .mkdf-content .mkdf-pl-holder[data-class-name="pli"] .mkdf-pli-add-to-cart a.button,
  .mkdf-content form.cart .single_add_to_cart_button,
  .add_to_cart_button,
  .dp-pr__button
){
  --btn-r:999px;
  --dp-cart-ink:#43573c;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:var(--dp-cart-gap,10px)!important;
  position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;box-sizing:border-box!important;
  min-height:var(--dp-cart-height,48px)!important;height:var(--dp-cart-height,48px)!important;min-width:var(--dp-cart-min-width,190px)!important;max-width:100%!important;
  padding:0 var(--dp-cart-pad,20px)!important;border:1px solid #65795a!important;border-radius:999px!important;
  background:#f4f6ee!important;background-image:none!important;color:var(--dp-cart-ink)!important;
  box-shadow:none!important;font-family:Montserrat,Arial,sans-serif!important;font-size:var(--dp-cart-font,14px)!important;font-weight:500!important;
  line-height:1.3!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none!important;
  white-space:nowrap!important;overflow:hidden!important;filter:none!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease!important;
}

html body.dp-cart-style :is(
  .mkdf-content ul.products li.product a.button,
  .mkdf-content section.related.products ul.products li.product a.button,
  .mkdf-content .mkdf-pl-holder[data-class-name="pli"] .mkdf-pli-add-to-cart a.button,
  .mkdf-content form.cart .single_add_to_cart_button,
  .add_to_cart_button,
  .dp-pr__button
):hover{
  background:#dff0d8!important;border-color:#43573c!important;color:#35472f!important;
}

html body.dp-cart-style :is(.mkdf-content ul.products li.product a.button,.mkdf-content .mkdf-pli-add-to-cart a.button,.mkdf-content form.cart .single_add_to_cart_button,.add_to_cart_button,.dp-pr__button):focus-visible{
  outline:3px solid #b7cf8b!important;outline-offset:4px;
}

html body.dp-cart-style :is(
  .mkdf-content ul.products li.product a.button,
  .mkdf-content section.related.products ul.products li.product a.button,
  .mkdf-content .mkdf-pl-holder[data-class-name="pli"] .mkdf-pli-add-to-cart a.button,
  .mkdf-content form.cart .single_add_to_cart_button,
  .add_to_cart_button,
  .dp-pr__button
)::before{
  content:""!important;display:block!important;position:static!important;flex:0 0 18px!important;
  width:18px!important;height:18px!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;background:currentColor!important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 8h13l1 13h-15l1-13Z'/%3E%3Cpath d='M8 9V6a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center/contain no-repeat!important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 8h13l1 13h-15l1-13Z'/%3E%3Cpath d='M8 9V6a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center/contain no-repeat!important;
  animation:none!important;transform:none!important;opacity:1!important;
}

html body.dp-cart-style :is(
  .mkdf-content ul.products li.product a.button,
  .mkdf-content section.related.products ul.products li.product a.button,
  .mkdf-content .mkdf-pl-holder[data-class-name="pli"] .mkdf-pli-add-to-cart a.button,
  .mkdf-content form.cart .single_add_to_cart_button,
  .add_to_cart_button,
  .dp-pr__button
)::after{content:none!important;display:none!important}

/* Both WooCommerce and the existing product-bar plugin signal busy state. */
html body.dp-cart-style :is(
  .mkdf-content ul.products li.product a.button,
  .mkdf-content section.related.products ul.products li.product a.button,
  .mkdf-content .mkdf-pl-holder[data-class-name="pli"] .mkdf-pli-add-to-cart a.button,
  .mkdf-content form.cart .single_add_to_cart_button,
  .add_to_cart_button,
  .dp-pr__button
):is(.loading,.is-busy){
  color:transparent!important;text-shadow:none!important;pointer-events:none!important;
  opacity:1!important;filter:none!important;transition:none!important;
}

html body.dp-cart-style :is(.mkdf-content ul.products li.product a.button,.mkdf-content .mkdf-pli-add-to-cart a.button,.mkdf-content form.cart .single_add_to_cart_button,.add_to_cart_button,.dp-pr__button):is(.loading,.is-busy)::before,
html body.dp-cart-style :is(.mkdf-content ul.products li.product a.button,.mkdf-content .mkdf-pli-add-to-cart a.button,.mkdf-content form.cart .single_add_to_cart_button,.add_to_cart_button,.dp-pr__button):is(.loading,.is-busy)>*{
  visibility:hidden!important;opacity:0!important;
}

html body.dp-cart-style :is(
  .mkdf-content ul.products li.product a.button,
  .mkdf-content section.related.products ul.products li.product a.button,
  .mkdf-content .mkdf-pl-holder[data-class-name="pli"] .mkdf-pli-add-to-cart a.button,
  .mkdf-content form.cart .single_add_to_cart_button,
  .add_to_cart_button,
  .dp-pr__button
):is(.loading,.is-busy)::after{
  content:""!important;display:block!important;position:absolute!important;top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;
  width:20px!important;height:20px!important;min-width:0!important;flex:none!important;margin:0!important;padding:0!important;box-sizing:border-box!important;
  border:2px solid rgba(67,87,60,.22)!important;border-top-color:var(--dp-cart-ink)!important;border-radius:50%!important;
  background:none!important;opacity:1!important;visibility:visible!important;
  animation:dp-cart-outline-spin .7s linear infinite!important;
}

html body.dp-cart-style .mkdf-content form.cart .single_add_to_cart_button{top:0!important}
html body.dp-cart-style .mkdf-content form.cart .dp-bar>.single_add_to_cart_button{margin:0!important}
html body.dp-cart-style .mkdf-content .mkdf-pli-add-to-cart .mkdf-btn-loader{display:none!important}

@keyframes dp-cart-outline-spin{
  from{transform:translate(-50%,-50%) rotate(0deg)}
  to{transform:translate(-50%,-50%) rotate(360deg)}
}

@media(max-width:600px){
  html body.dp-cart-style :is(.mkdf-content ul.products li.product a.button,.mkdf-content section.related.products ul.products li.product a.button,.mkdf-content .mkdf-pl-holder[data-class-name="pli"] .mkdf-pli-add-to-cart a.button,.mkdf-content form.cart .single_add_to_cart_button,.add_to_cart_button,.dp-pr__button){
    min-height:var(--dp-cart-height,44px)!important;height:var(--dp-cart-height,44px)!important;min-width:var(--dp-cart-min-width,0px)!important;padding:0 var(--dp-cart-pad,16px)!important;gap:var(--dp-cart-gap,8px)!important;font-size:var(--dp-cart-font,13px)!important;
  }
}
@media(prefers-reduced-motion:reduce){
  html body.dp-cart-style :is(.mkdf-content ul.products li.product a.button,.mkdf-content .mkdf-pli-add-to-cart a.button,.mkdf-content form.cart .single_add_to_cart_button,.add_to_cart_button,.dp-pr__button):is(.loading,.is-busy)::after{animation-duration:1.4s!important}
}

/* Keep the same finish on compact cart recommendations. */
body.dp-cart-style .xoo-wsc-container{
 --dp-cart-min-width:0px;--dp-cart-height:36px;--dp-cart-pad:12px;--dp-cart-gap:6px;--dp-cart-font:12px;
}
html body.dp-cart-style .xoo-wsc-container .add_to_cart_button>span{display:none!important}

/* Stock reminders share the cart palette; specificity also covers legacy state rules. */
html body.dp-cart-style :is(.cwg_popup_submit.cwg_popup_submit.cwg_popup_submit,.cwgstock_button.cwgstock_button.cwgstock_button){
 background:#f4f6ee!important;background-image:none!important;color:#43573c!important;border:1px solid #65795a!important;box-shadow:none!important;
 transition:background-color .18s ease,border-color .18s ease,color .18s ease!important;
}
html body.dp-cart-style :is(.cwg_popup_submit.cwg_popup_submit.cwg_popup_submit,.cwgstock_button.cwgstock_button.cwgstock_button):is(:hover,:focus,:active,.dpino-is-opening,.dpino-is-loading){
 background:#dff0d8!important;color:#35472f!important;border-color:#43573c!important;box-shadow:none!important;
}
html body.dp-cart-style :is(.dpino-opening-spinner,.dpino-loading-spinner),
html body.dp-cart-style :is(.dpino-opening-spinner,.dpino-loading-spinner)::before,
html body.dp-cart-style :is(.dpino-opening-spinner,.dpino-loading-spinner)::after{background:#43573c!important}

/* Stretch every recommendation background to the tallest natural card. */
html body.dp-cart-style .xoo-wsc-sp-narrow .xoo-wsc-sp-slider{
 display:flex!important;align-items:stretch!important;height:auto!important;
}
html body.dp-cart-style .xoo-wsc-sp-narrow .xoo-wsc-sp-slider>.xoo-wsc-sp-prod-cont{
 display:flex!important;flex-direction:column!important;flex:0 0 auto!important;height:auto!important;
}
html body.dp-cart-style .xoo-wsc-sp-narrow .xoo-wsc-sp-slider>.xoo-wsc-sp-prod-cont>.xoo-wsc-sp-product{
 flex:1 0 auto!important;
}

/* Product review submission uses the shared soft button palette. */
html body.dp-cart-style.single-product #reviews #review_form_wrapper .form-submit input.submit{
 background:#f4f6ee!important;background-image:none!important;color:#43573c!important;border:1px solid #65795a!important;box-shadow:none!important;
}
html body.dp-cart-style.single-product #reviews #review_form_wrapper .form-submit input.submit:is(:hover,:focus,:active){
 background:#dff0d8!important;color:#35472f!important;border-color:#43573c!important;box-shadow:none!important;
}
html body.dp-cart-style #reviews .dp-review-loader,
html body.dp-cart-style #reviews .dp-review-loader::before,
html body.dp-cart-style #reviews .dp-review-loader::after{background:#43573c!important}
