
/* =========================================================
   RETAIL EXPERIENCE FRAMEWORK v5
   COMPONENT-SCOPED STOREFRONT FOUNDATION
   =========================================================
   This file loads after the legacy stylesheet and contains only
   narrowly scoped corrections. No unqualified .button, img,
   mini-cart or widget selectors are permitted here.
*/

/* Shared palette aliases */
:root{
  --ref-v5-primary:var(--ref-primary,#e91e63);
  --ref-v5-secondary:var(--ref-secondary,#7b2f8f);
  --ref-v5-dark:var(--ref-dark,#301326);
  --ref-v5-light:var(--ref-light,#fff6fa);
  --ref-v5-accent:var(--ref-accent,#ff9bc5);
  --ref-v5-gradient:var(
    --ref-gradient,
    linear-gradient(135deg,#e91e63 0%,#7b2f8f 100%)
  );
  --ref-v5-border:rgba(48,19,38,.13);
}

/* =========================================================
   PAYMENT COMPONENTS
   ========================================================= */

/* Exact Clearpay Express markup supplied by the live store. */
body.woocommerce-cart button#clearpay_express_button.btn-clearpay_express,
body.woocommerce-cart button#clearpay_express_button.btn-clearpay_express_cart,
body.woocommerce-checkout button#clearpay_express_button.btn-clearpay_express,
body.woocommerce-checkout button#clearpay_express_button.btn-clearpay_express_cart{
  display:flex!important;
  width:100%!important;
  min-height:48px!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  border:0!important;
  border-radius:999px!important;
  background:#b2fce4!important;
  background-image:none!important;
  color:#111!important;
  box-shadow:none!important;
  filter:none!important;
  font-weight:700!important;
  line-height:1!important;
  text-shadow:none!important;
  transform:none!important;
}

body.woocommerce-cart button#clearpay_express_button.btn-clearpay_express:hover,
body.woocommerce-checkout button#clearpay_express_button.btn-clearpay_express:hover{
  background:#9eeed5!important;
  background-image:none!important;
  color:#111!important;
  box-shadow:none!important;
  transform:none!important;
}

body.woocommerce-cart #clearpay_express_button img,
body.woocommerce-checkout #clearpay_express_button img{
  position:static!important;
  display:inline-block!important;
  width:auto!important;
  max-width:112px!important;
  height:24px!important;
  margin:0!important;
  padding:0!important;
  filter:none!important;
  opacity:1!important;
  transform:none!important;
}

/* Keep branded wallet controls out of framework colour inheritance. */
body.woocommerce-cart [class*="apple-pay"],
body.woocommerce-cart [class*="google-pay"],
body.woocommerce-cart [class*="onelink"],
body.woocommerce-checkout [class*="apple-pay"],
body.woocommerce-checkout [class*="google-pay"],
body.woocommerce-checkout [class*="onelink"]{
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
}

/* =========================================================
   HEADER MINI-CART COMPONENT
   ========================================================= */

#header .widget_shopping_cart .woocommerce-mini-cart{
  margin:0!important;
  padding:0!important;
}

#header .widget_shopping_cart .woocommerce-mini-cart-item{
  position:relative!important;
  display:block!important;
  min-height:82px!important;
  margin:0!important;
  padding:12px 32px 12px 0!important;
  overflow:hidden!important;
  border-bottom:1px solid var(--ref-v5-border)!important;
}

#header .widget_shopping_cart .woocommerce-mini-cart-item > a:not(.remove){
  display:block!important;
  min-height:58px!important;
  margin:0!important;
  padding:0 0 0 68px!important;
  overflow:visible!important;
  color:var(--ref-v5-dark)!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.35!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

#header .widget_shopping_cart .woocommerce-mini-cart-item > a:not(.remove) img{
  position:absolute!important;
  top:12px!important;
  left:0!important;
  float:none!important;
  display:block!important;
  width:56px!important;
  max-width:56px!important;
  height:56px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  border:1px solid var(--ref-v5-border)!important;
  border-radius:10px!important;
  background:#fff!important;
  transform:none!important;
}

#header .widget_shopping_cart .woocommerce-mini-cart-item .ux-mini-cart-qty{
  display:block!important;
  margin:5px 0 0 68px!important;
  padding:0!important;
  clear:none!important;
  color:#74616b!important;
  font-size:12px!important;
  line-height:1.35!important;
}

#header .widget_shopping_cart .woocommerce-mini-cart-item .ux-mini-cart-qty .quantity{
  display:inline!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
}

#header .widget_shopping_cart .woocommerce-mini-cart-item > a.remove{
  position:absolute!important;
  top:12px!important;
  right:0!important;
  left:auto!important;
  display:flex!important;
  width:22px!important;
  height:22px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #e6d5de!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#927987!important;
  font-size:15px!important;
  line-height:1!important;
  transform:none!important;
}

#header .widget_shopping_cart .woocommerce-mini-cart-item > a.remove:hover{
  border-color:var(--ref-v5-primary)!important;
  color:var(--ref-v5-primary)!important;
}

#header .widget_shopping_cart .woocommerce-mini-cart__total{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  margin:12px 0!important;
  padding:12px 0!important;
  border-top:1px solid var(--ref-v5-border)!important;
  border-bottom:1px solid var(--ref-v5-border)!important;
}

#header .widget_shopping_cart .woocommerce-mini-cart__buttons{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
  margin:0!important;
}

#header .widget_shopping_cart .woocommerce-mini-cart__buttons a{
  display:flex!important;
  min-height:44px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--ref-v5-gradient)!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(233,30,99,.18)!important;
  line-height:1!important;
}

/* =========================================================
   FOOTER BASKET COMPONENT
   ========================================================= */

#footer .widget_shopping_cart,
.footer-wrapper .widget_shopping_cart{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}

#footer .widget_shopping_cart .widget_shopping_cart_content,
.footer-wrapper .widget_shopping_cart .widget_shopping_cart_content{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}

#footer .widget_shopping_cart .woocommerce-mini-cart,
.footer-wrapper .widget_shopping_cart .woocommerce-mini-cart{
  width:100%!important;
  margin:0!important;
  padding:0!important;
}

#footer .widget_shopping_cart .woocommerce-mini-cart-item,
.footer-wrapper .widget_shopping_cart .woocommerce-mini-cart-item{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-height:86px!important;
  margin:0!important;
  padding:13px 28px 13px 0!important;
  overflow:hidden!important;
  border-bottom:1px solid rgba(255,255,255,.1)!important;
}

#footer .widget_shopping_cart .woocommerce-mini-cart-item > a:not(.remove),
.footer-wrapper .widget_shopping_cart .woocommerce-mini-cart-item > a:not(.remove){
  display:block!important;
  min-height:58px!important;
  margin:0!important;
  padding:0 0 0 68px!important;
  overflow:visible!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.35!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}

#footer .widget_shopping_cart .woocommerce-mini-cart-item > a:not(.remove) img,
.footer-wrapper .widget_shopping_cart .woocommerce-mini-cart-item > a:not(.remove) img{
  position:absolute!important;
  top:13px!important;
  left:0!important;
  float:none!important;
  display:block!important;
  width:56px!important;
  max-width:56px!important;
  height:56px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  border:0!important;
  border-radius:10px!important;
  background:#fff!important;
  transform:none!important;
}

#footer .widget_shopping_cart .woocommerce-mini-cart-item .ux-mini-cart-qty,
.footer-wrapper .widget_shopping_cart .woocommerce-mini-cart-item .ux-mini-cart-qty{
  display:block!important;
  margin:5px 0 0 68px!important;
  padding:0!important;
  color:var(--ref-v5-accent)!important;
  font-size:12px!important;
  line-height:1.35!important;
}

#footer .widget_shopping_cart .woocommerce-mini-cart-item .ux-mini-cart-qty .quantity,
.footer-wrapper .widget_shopping_cart .woocommerce-mini-cart-item .ux-mini-cart-qty .quantity{
  display:inline!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
}

#footer .widget_shopping_cart .woocommerce-mini-cart-item > a.remove,
.footer-wrapper .widget_shopping_cart .woocommerce-mini-cart-item > a.remove{
  position:absolute!important;
  top:13px!important;
  right:0!important;
  left:auto!important;
  display:flex!important;
  width:22px!important;
  height:22px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.3)!important;
  border-radius:50%!important;
  background:transparent!important;
  color:rgba(255,255,255,.78)!important;
  font-size:14px!important;
  line-height:1!important;
  transform:none!important;
}

#footer .widget_shopping_cart .woocommerce-mini-cart__total,
.footer-wrapper .widget_shopping_cart .woocommerce-mini-cart__total{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  margin:12px 0!important;
  padding:12px 0!important;
  border-top:1px solid rgba(255,255,255,.1)!important;
  border-bottom:1px solid rgba(255,255,255,.1)!important;
  color:#fff!important;
}

#footer .widget_shopping_cart .woocommerce-mini-cart__buttons,
.footer-wrapper .widget_shopping_cart .woocommerce-mini-cart__buttons{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
  margin:0!important;
}

#footer .widget_shopping_cart .woocommerce-mini-cart__buttons a,
.footer-wrapper .widget_shopping_cart .woocommerce-mini-cart__buttons a{
  display:flex!important;
  min-height:42px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0 16px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--ref-v5-gradient)!important;
  color:#fff!important;
  line-height:1!important;
}

/* =========================================================
   CART ACTION COMPONENT
   ========================================================= */

body.ref-cart-active .woocommerce-cart-form td.actions .button,
body.ref-cart-active .woocommerce-cart-form .continue-shopping{
  display:inline-flex!important;
  min-height:46px!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  line-height:1!important;
  vertical-align:middle!important;
}

/* =========================================================
   CHECKOUT CARD ALIGNMENT COMPONENT
   ========================================================= */

body.ref-checkout-active #customer_details,
body.ref-checkout-active #order_review_heading,
body.ref-checkout-active #order_review{
  box-sizing:border-box!important;
}

body.ref-checkout-active #customer_details,
body.ref-checkout-active #order_review_heading{
  margin-top:0!important;
  padding-top:26px!important;
}

/* Responsive mini-cart sizing */
@media(max-width:549px){
  #header .widget_shopping_cart .woocommerce-mini-cart-item,
  #footer .widget_shopping_cart .woocommerce-mini-cart-item,
  .footer-wrapper .widget_shopping_cart .woocommerce-mini-cart-item{
    padding-right:26px!important;
  }

  #header .widget_shopping_cart .woocommerce-mini-cart-item > a:not(.remove),
  #footer .widget_shopping_cart .woocommerce-mini-cart-item > a:not(.remove),
  .footer-wrapper .widget_shopping_cart .woocommerce-mini-cart-item > a:not(.remove){
    padding-left:60px!important;
  }

  #header .widget_shopping_cart .woocommerce-mini-cart-item > a:not(.remove) img,
  #footer .widget_shopping_cart .woocommerce-mini-cart-item > a:not(.remove) img,
  .footer-wrapper .widget_shopping_cart .woocommerce-mini-cart-item > a:not(.remove) img{
    width:48px!important;
    max-width:48px!important;
    height:48px!important;
  }

  #header .widget_shopping_cart .woocommerce-mini-cart-item .ux-mini-cart-qty,
  #footer .widget_shopping_cart .woocommerce-mini-cart-item .ux-mini-cart-qty,
  .footer-wrapper .widget_shopping_cart .woocommerce-mini-cart-item .ux-mini-cart-qty{
    margin-left:60px!important;
  }
}


/* =========================================================
   RELEASE CANDIDATE UI CONSISTENCY — v5.1
   ========================================================= */

/* Single-product quantity alignment */
body.single-product form.cart .quantity{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--ref-v5-border)!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:none!important;
  vertical-align:middle!important;
}

body.single-product form.cart .quantity .minus,
body.single-product form.cart .quantity .plus{
  display:flex!important;
  width:36px!important;
  min-width:36px!important;
  height:38px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:var(--ref-v5-gradient)!important;
  color:#fff!important;
  box-shadow:none!important;
  line-height:1!important;
  text-align:center!important;
}

body.single-product form.cart .quantity .qty{
  display:block!important;
  width:48px!important;
  min-width:48px!important;
  height:38px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-right:1px solid var(--ref-v5-border)!important;
  border-left:1px solid var(--ref-v5-border)!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--ref-v5-dark)!important;
  box-shadow:none!important;
  line-height:38px!important;
  text-align:center!important;
}

/* Consistent component focus */
#header .widget_shopping_cart a:focus-visible,
#footer .widget_shopping_cart a:focus-visible,
body.single-product form.cart .quantity button:focus-visible,
body.single-product form.cart .quantity input:focus-visible{
  outline:3px solid rgba(233,30,99,.3)!important;
  outline-offset:2px!important;
}

/* Reduce animation for users who request it */
@media(prefers-reduced-motion:reduce){
  .ref-release-candidate *,
  .ref-release-candidate *::before,
  .ref-release-candidate *::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}
