
/* =========================================================
   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,#315b7c);
  --ref-v5-secondary:var(--ref-secondary,#6f8799);
  --ref-v5-dark:var(--ref-dark,#17233c);
  --ref-v5-light:var(--ref-light,#f7f9fb);
  --ref-v5-accent:var(--ref-accent,#9fb4c4);
  --ref-v5-gradient:var(
    --ref-gradient,
    linear-gradient(135deg,#315b7c 0%,#6f8799 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;
  }
}


/* =========================================================
   AUDITED COMPONENT SYSTEM — v12.0
   One owner per storefront component.
   ========================================================= */
:root{
  --ref-component-radius:999px;
  --ref-card-radius:20px;
  --ref-component-shadow:0 10px 24px rgba(20,20,30,.10);
}

.product-small .box-image,
.products .product .box-image{
  position:relative!important;
  overflow:hidden!important;
  border-radius:var(--ref-card-radius) var(--ref-card-radius) 0 0!important;
}

/* Flatsome Quick View: centre the native image-tools wrapper. */
.product-small .box-image .image-tools.bottom.left,
.products .product .box-image .image-tools.bottom.left,
.product-grid-item .box-image .image-tools.bottom.left{
  position:absolute!important;
  inset:auto 0 12px 0!important;
  z-index:35!important;
  display:flex!important;
  width:100%!important;
  height:auto!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0 12px!important;
  transform:none!important;
  overflow:visible!important;
  pointer-events:none!important;
}

.product-small .box-image .image-tools.bottom.left .quick-view,
.products .product .box-image .image-tools.bottom.left .quick-view,
.product-grid-item .box-image .image-tools.bottom.left .quick-view{
  position:static!important;
  display:inline-flex!important;
  width:auto!important;
  min-width:124px!important;
  max-width:calc(100% - 24px)!important;
  min-height:38px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:10px 17px!important;
  transform:translateY(6px)!important;
  border:0!important;
  border-radius:var(--ref-component-radius)!important;
  background:var(--ref-gradient)!important;
  color:#fff!important;
  box-shadow:var(--ref-component-shadow)!important;
  font:800 12px/1 inherit!important;
  text-align:center!important;
  text-indent:0!important;
  text-transform:none!important;
  white-space:nowrap!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:auto!important;
  transition:transform .2s ease,opacity .2s ease,filter .2s ease!important;
}

.product-small .box-image .image-tools.bottom.left .quick-view::before,
.products .product .box-image .image-tools.bottom.left .quick-view::before{
  content:none!important;
  display:none!important;
}

.product-small:hover .box-image .image-tools.bottom.left .quick-view,
.product-small:focus-within .box-image .image-tools.bottom.left .quick-view,
.products .product:hover .box-image .image-tools.bottom.left .quick-view,
.products .product:focus-within .box-image .image-tools.bottom.left .quick-view{
  transform:translateY(0)!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Guaranteed archive action generated by collection-pages.php. */
.ref-loop-cart{
  display:flex!important;
  width:100%!important;
  justify-content:center!important;
  margin:12px 0 0!important;
  padding:0!important;
}

.ref-loop-cart .button{
  display:inline-flex!important;
  width:auto!important;
  min-width:116px!important;
  min-height:40px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 auto!important;
  padding:10px 18px!important;
  border:0!important;
  border-radius:var(--ref-component-radius)!important;
  background:var(--ref-gradient)!important;
  color:#fff!important;
  box-shadow:var(--ref-component-shadow)!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1!important;
  text-transform:none!important;
  opacity:1!important;
  visibility:visible!important;
}

.ref-loop-cart .button:hover{
  color:#fff!important;
  filter:brightness(1.05)!important;
  transform:translateY(-2px)!important;
}

/* Wishlist */
.product-small .wishlist-button,
.product-small .yith-wcwl-add-to-wishlist a,
.product-small .add_to_wishlist,
.wishlist-button{
  display:inline-flex!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid var(--ref-border)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:var(--ref-primary)!important;
  box-shadow:0 8px 20px rgba(20,20,30,.08)!important;
}

/* Badges */
.badge-container{display:flex!important;flex-wrap:wrap!important;gap:7px!important;padding:12px!important}
.badge,.badge-inner,.onsale,.new-bubble,.product-small .badge-inner{
  display:inline-flex!important;
  min-width:auto!important;
  min-height:30px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:7px 12px!important;
  border:0!important;
  border-radius:var(--ref-component-radius)!important;
  background:var(--ref-gradient)!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1!important;
}

/* Stock */
.stock,.in-stock,.out-of-stock,.ref-stock-chip,.product-small .stock,.product-info .stock{
  display:inline-flex!important;
  width:auto!important;
  align-items:center!important;
  gap:7px!important;
  padding:7px 11px!important;
  border-radius:var(--ref-component-radius)!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.2!important;
}
.stock.in-stock,.in-stock{background:#eaf8ef!important;color:#237146!important}
.stock.out-of-stock,.out-of-stock{background:#fff0f1!important;color:#a43f48!important}

/* Pagination and filters */
.woocommerce-pagination ul{display:flex!important;justify-content:center!important;gap:8px!important;border:0!important}
.woocommerce-pagination li{border:0!important}
.woocommerce-pagination a,.woocommerce-pagination span{
  display:inline-flex!important;width:42px!important;height:42px!important;
  align-items:center!important;justify-content:center!important;margin:0!important;
  border:1px solid var(--ref-border)!important;border-radius:50%!important;
  background:#fff!important;color:var(--ref-dark)!important
}
.woocommerce-pagination .current,.woocommerce-pagination a:hover{
  border-color:transparent!important;background:var(--ref-gradient)!important;color:#fff!important
}
.widget_price_filter .ui-slider .ui-slider-range,
.widget_price_filter .ui-slider .ui-slider-handle{background:var(--ref-gradient)!important}
.widget_price_filter .price_slider_amount .button{
  min-height:38px!important;padding:8px 16px!important;border:0!important;
  border-radius:var(--ref-component-radius)!important;background:var(--ref-gradient)!important;color:#fff!important
}

@media(max-width:849px){
  .product-small .box-image .image-tools.bottom.left,
  .products .product .box-image .image-tools.bottom.left,
  .product-grid-item .box-image .image-tools.bottom.left{display:none!important}
  .ref-loop-cart{display:flex!important}
}
