/* PupVibes 8.10.51 — payment recap: one card only, matching approved reference.
   Theme-only visual patch. No Mondial Relay/module behaviour. */

/* The checkout aside is the ONE and ONLY rounded recap card. */
body#checkout.pv-step-is-payment .pv-checkout-summary-card{
  padding:20px!important;
  border:1px solid rgba(203,98,3,.18)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:visible!important;
}

/* Remove the second/internal rounded card completely. */
body#checkout.pv-step-is-payment .pv-pay-summary,
body#checkout.pv-step-is-payment .pv-pay-summary__shell{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body#checkout.pv-step-is-payment .pv-pay-summary::before,
body#checkout.pv-step-is-payment .pv-pay-summary::after,
body#checkout.pv-step-is-payment .pv-pay-summary__shell::before,
body#checkout.pv-step-is-payment .pv-pay-summary__shell::after{
  content:none!important;
  display:none!important;
  border:0!important;
  box-shadow:none!important;
}

/* No internal cards/cells. */
body#checkout.pv-step-is-payment .pv-pay-summary__head,
body#checkout.pv-step-is-payment .pv-pay-summary__products,
body#checkout.pv-step-is-payment .pv-pay-product,
body#checkout.pv-step-is-payment .pv-pay-product__body,
body#checkout.pv-step-is-payment .pv-pay-summary__pricing,
body#checkout.pv-step-is-payment .pv-pay-summary__line,
body#checkout.pv-step-is-payment .pv-pay-summary__grand-total,
body#checkout.pv-step-is-payment .pv-pay-summary__voucher,
body#checkout.pv-step-is-payment .pv-pay-summary__cta{
  border-left:0!important;
  border-right:0!important;
  border-bottom:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}

/* Product rows stay clean, with only ONE separator after the complete list. */
body#checkout.pv-step-is-payment .pv-pay-summary__products{
  margin:0!important;
  padding:0 0 14px!important;
  border-top:0!important;
  border-bottom:1px solid rgba(36,22,8,.14)!important;
}
body#checkout.pv-step-is-payment .pv-pay-product{
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
body#checkout.pv-step-is-payment .pv-pay-product + .pv-pay-product{
  margin-top:12px!important;
}

/* Subtotal/shipping/discount area: absolutely no row grid. */
body#checkout.pv-step-is-payment .pv-pay-summary__pricing{
  margin:0!important;
  padding:14px 0 0!important;
  border-top:0!important;
}
body#checkout.pv-step-is-payment .pv-pay-summary__line,
body#checkout.pv-step-is-payment .pv-pay-summary__line::before,
body#checkout.pv-step-is-payment .pv-pay-summary__line::after{
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}
body#checkout.pv-step-is-payment .pv-pay-summary__line{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:0 0 8px!important;
  padding:0!important;
}

/* Exactly ONE divider before Total. */
body#checkout.pv-step-is-payment .pv-pay-summary__divider{
  display:block!important;
  height:1px!important;
  margin:14px 0 16px!important;
  padding:0!important;
  border:0!important;
  background:rgba(36,22,8,.14)!important;
  box-shadow:none!important;
}
body#checkout.pv-step-is-payment .pv-pay-summary__grand-total{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

/* Promo form belongs to the same card: never add another separator/card around it. */
body#checkout.pv-step-is-payment .pv-pay-summary__voucher{
  margin:16px 0 0!important;
  padding:0!important;
  border:0!important;
}
body#checkout.pv-step-is-payment .pv-pay-summary__voucher::before,
body#checkout.pv-step-is-payment .pv-pay-summary__voucher::after,
body#checkout.pv-step-is-payment .pv-pay-summary__voucher .cart-summary__voucher::before,
body#checkout.pv-step-is-payment .pv-pay-summary__voucher .cart-summary__voucher::after{
  content:none!important;
  display:none!important;
}
body#checkout.pv-step-is-payment .pv-pay-summary__voucher .cart-summary__voucher,
body#checkout.pv-step-is-payment .pv-pay-summary__voucher form,
body#checkout.pv-step-is-payment .pv-pay-summary__voucher .pv-cart-voucher-form{
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* CTA immediately follows promo, no horizontal rule above it. */
body#checkout.pv-step-is-payment .pv-pay-summary__cta{
  margin:16px 0 0!important;
  padding:0!important;
  border:0!important;
}

/* Safety net against Bootstrap/table/card rules leaking into the custom recap. */
body#checkout.pv-step-is-payment .pv-pay-summary table,
body#checkout.pv-step-is-payment .pv-pay-summary thead,
body#checkout.pv-step-is-payment .pv-pay-summary tbody,
body#checkout.pv-step-is-payment .pv-pay-summary tfoot,
body#checkout.pv-step-is-payment .pv-pay-summary tr,
body#checkout.pv-step-is-payment .pv-pay-summary td,
body#checkout.pv-step-is-payment .pv-pay-summary th,
body#checkout.pv-step-is-payment .pv-pay-summary .card,
body#checkout.pv-step-is-payment .pv-pay-summary .card-body{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}

@media (max-width:640px){
  body#checkout.pv-step-is-payment .pv-checkout-summary-card{
    padding:16px!important;
    border-radius:16px!important;
  }
}
