/** MSB Shop 7.2.0 — global UX polish. */

/* ---------- Global interaction / accessibility ---------- */
html{scroll-behavior:smooth}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid rgba(243,10,73,.18)!important;
  outline-offset:2px!important;
}
:where(button,.button,a.button,.single_add_to_cart_button,.checkout-button,#place_order){
  -webkit-tap-highlight-color:transparent;
}
:where(button,.button,a.button,.single_add_to_cart_button,.checkout-button,#place_order).is-msb-busy,
:where(button,.button,a.button,.single_add_to_cart_button,.checkout-button,#place_order).loading{
  position:relative!important;
  pointer-events:none!important;
  opacity:.78!important;
}
:where(button,.button,a.button,.single_add_to_cart_button,.checkout-button,#place_order).is-msb-busy::after,
:where(button,.button,a.button,.single_add_to_cart_button,.checkout-button,#place_order).loading::after{
  content:"";
  width:16px;height:16px;
  border:2px solid currentColor;
  border-inline-end-color:transparent;
  border-radius:50%;
  display:inline-block;
  margin-inline-start:8px;
  vertical-align:-3px;
  animation:msb-v720-spin .7s linear infinite;
}
@keyframes msb-v720-spin{to{transform:rotate(360deg)}}

/* PJAX feedback: no more dead-feeling clicks between pages. */
html.msb-pjax-loading body::before{
  content:"";
  position:fixed;
  z-index:100000;
  top:0;right:0;
  width:42%;height:3px;
  border-radius:0 0 0 999px;
  background:var(--msb-primary,#f30a49);
  box-shadow:0 0 16px rgba(243,10,73,.35);
  animation:msb-v720-progress .72s ease-in-out infinite alternate;
}
html.msb-pjax-loading #primary{
  opacity:.68;
  transition:opacity .16s ease;
  pointer-events:none;
}
@keyframes msb-v720-progress{from{width:18%;opacity:.6}to{width:78%;opacity:1}}

/* ---------- Unified toast feedback ---------- */
.msb-ux-toast-stack{
  position:fixed;
  top:calc(var(--msb-header-viewport-bottom,92px) + 14px);
  left:22px;
  z-index:10020;
  width:min(380px,calc(100vw - 30px));
  display:grid;
  gap:9px;
  pointer-events:none;
}
.msb-ux-toast{
  pointer-events:auto;
  display:grid;
  grid-template-columns:38px 1fr 30px;
  gap:10px;
  align-items:start;
  padding:12px;
  background:rgba(255,255,255,.98);
  border:1px solid #ebe5e8;
  border-radius:16px;
  box-shadow:0 18px 50px rgba(36,17,25,.16);
  transform:translateY(-6px);
  opacity:0;
  transition:.2s ease;
}
.msb-ux-toast.is-visible{transform:none;opacity:1}
.msb-ux-toast__icon{
  width:38px;height:38px;
  display:grid;place-items:center;
  border-radius:12px;
  background:#fff1f5;
  color:var(--msb-primary,#f30a49);
}
.msb-ux-toast.is-info .msb-ux-toast__icon{background:#f2f5ff;color:#4253a8}
.msb-ux-toast__icon .msb-icon{width:19px;height:19px}
.msb-ux-toast__copy strong,.msb-ux-toast__copy span{display:block}
.msb-ux-toast__copy strong{font-size:12px;line-height:1.7;color:#25191e}
.msb-ux-toast__copy span{margin-top:2px;font-size:10.5px;line-height:1.8;color:#806f77}
.msb-ux-toast__close{
  width:30px;height:30px;border:0;border-radius:9px;background:#f7f5f6;color:#735f68;
  font:inherit;cursor:pointer;display:grid;place-items:center;
}
.woocommerce-error{
  border:1px solid #ffd5df!important;
  border-radius:14px!important;
  background:#fff6f8!important;
  color:#7c263d!important;
  box-shadow:none!important;
}

/* ---------- Header / navigation ---------- */
.msb-header{backdrop-filter:saturate(1.05) blur(10px)}
.msb-source-search-launch{
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.msb-source-search-launch:hover{
  border-color:#e4dce0!important;
  box-shadow:0 8px 28px rgba(34,12,16,.055)!important;
  background:#fff!important;
}
@media(min-width:992px){
  .msb-source-search-launch::after{
    content:'/';
    width:28px;height:28px;
    display:grid;place-items:center;
    margin-inline-start:auto;
    border:1px solid #e3dde0;
    border-radius:8px;
    background:#fff;
    color:#9a8e94;
    font-size:12px;
    line-height:1;
  }
  .msb-header-action,.msb-header-action--cart{transition:transform .18s ease,color .18s ease}
  .msb-header-action:hover{transform:translateY(-1px)}
}

/* ---------- Home rails / cards ---------- */
.msb-product-section,.msb-timed-section,.msb-category-section{
  scroll-margin-top:calc(var(--msb-header-viewport-bottom,88px) + 18px);
}
li.msb-original-product-card{
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;
}
@media(hover:hover) and (pointer:fine){
  li.msb-original-product-card:hover{
    transform:translateY(-3px)!important;
    box-shadow:0 18px 42px rgba(37,18,25,.075)!important;
    border-color:#eadfe4!important;
  }
  li.msb-original-product-card:hover .msb-original-product-card__img{transform:scale(1.025)}
}
.msb-original-product-card__img{transition:transform .28s ease!important}
.msb-card-add{
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.msb-card-add:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 10px 24px rgba(243,10,73,.18)}
.msb-card-add.added{background:#1d9c64!important;color:#fff!important}

/* ---------- Shop / category archive ---------- */
.msb-original-archive__sort{
  position:relative;
  background:#fff!important;
  border:1px solid #ebe6e9!important;
  box-shadow:0 8px 24px rgba(36,18,25,.035)!important;
}
.msb-active-filters,.msb-v59-active-filters{scrollbar-width:none}
.msb-active-filters::-webkit-scrollbar,.msb-v59-active-filters::-webkit-scrollbar{display:none}
.msb-original-archive__sidebar{
  box-shadow:0 14px 40px rgba(40,21,28,.045)!important;
}

/* ---------- Product page ---------- */
.single-product .msb-single-v52__buybox{
  border:1px solid #eee8eb!important;
  box-shadow:0 18px 48px rgba(40,19,27,.07)!important;
}
.single-product .msb-single-v52__buy-prices{
  padding-bottom:3px!important;
}
.single-product .msb-single-v52__buybox .single_add_to_cart_button{
  box-shadow:0 10px 24px rgba(243,10,73,.18)!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.single-product .msb-single-v52__buybox .single_add_to_cart_button:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 14px 30px rgba(243,10,73,.23)!important;
}
.single-product .msb-single-v52__buybox .quantity{
  box-shadow:0 6px 18px rgba(39,17,25,.03);
}
.single-product .msb-variation-chip{
  min-height:38px!important;
  transition:.18s ease!important;
}
.single-product .msb-variation-chip.is-selected{
  box-shadow:0 0 0 3px rgba(243,10,73,.08)!important;
}
.single-product .msb-product-detail-section{
  scroll-margin-top:calc(var(--msb-header-viewport-bottom,88px) + 26px);
}
.single-product .msb-buybox-installment,
.single-product .msb-buybox-features{
  animation:msb-v720-soft-in .28s ease both;
}
@keyframes msb-v720-soft-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* ---------- Cart ---------- */
.msb-cart-item-v4{
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
@media(hover:hover) and (pointer:fine){
  .msb-cart-item-v4:hover{border-color:#eadfe4!important;box-shadow:0 12px 30px rgba(40,18,26,.05)!important}
}
.msb-cart-item-v4__remove{
  transition:background .18s ease,color .18s ease!important;
}
.msb-cart-item-v4__remove:hover{background:#fff1f5!important;color:var(--msb-primary)!important}
.msb-cart-coupon-v4 input:focus{border-color:var(--msb-primary)!important;box-shadow:0 0 0 3px rgba(243,10,73,.08)!important}
.msb-cart-mobile-checkout-v720{display:none}

/* ---------- Checkout ---------- */
.msb-checkout-progress-v720{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0 0 18px;
  padding:8px;
  border:1px solid #ebe6e9;
  border-radius:18px;
  background:#fff;
}
.msb-checkout-progress-v720>a,.msb-checkout-progress-v720>div{
  min-width:0;
  min-height:60px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:13px;
  color:#65545c;
  text-decoration:none;
}
.msb-checkout-progress-v720>div.is-active{background:#fff1f5;color:var(--msb-primary)}
.msb-checkout-progress-v720>a>span,.msb-checkout-progress-v720>div>span{
  width:34px;height:34px;
  display:grid;place-items:center;
  flex:0 0 auto;
  border-radius:11px;
  background:#f6f4f5;
  font-size:11px;font-weight:800;
}
.msb-checkout-progress-v720>div.is-active>span{background:var(--msb-primary);color:#fff}
.msb-checkout-progress-v720 .msb-icon{width:17px;height:17px}
.msb-checkout-progress-v720 small,.msb-checkout-progress-v720 strong{display:block}
.msb-checkout-progress-v720 small{font-size:9px;opacity:.68;margin-bottom:2px}
.msb-checkout-progress-v720 strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.msb-checkout-card-v4{
  border-color:#ebe5e8!important;
  box-shadow:0 12px 38px rgba(39,18,26,.045)!important;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-account .woocommerce-Input,
.woocommerce-account input.input-text,
.woocommerce-account textarea,
.woocommerce-account select{
  transition:border-color .17s ease,box-shadow .17s ease,background .17s ease!important;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-account .woocommerce-Input:focus,
.woocommerce-account input.input-text:focus,
.woocommerce-account textarea:focus,
.woocommerce-account select:focus{
  border-color:var(--msb-primary)!important;
  box-shadow:0 0 0 3px rgba(243,10,73,.08)!important;
  background:#fff!important;
}
.woocommerce-checkout .form-row.woocommerce-invalid input.input-text,
.woocommerce-checkout .form-row.woocommerce-invalid select{
  border-color:#e13c5d!important;
  background:#fff9fa!important;
}
#place_order{
  min-height:52px!important;
  border-radius:13px!important;
  font-size:12px!important;
  box-shadow:0 12px 28px rgba(243,10,73,.2)!important;
}
.msb-checkout-trust-v720{
  display:grid;
  gap:8px;
  margin-top:10px;
}
.msb-checkout-trust-v720>div{
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border:1px solid #eee8eb;
  border-radius:14px;
  background:#fff;
}
.msb-checkout-trust-v720 .msb-icon{width:20px;height:20px;color:var(--msb-primary);flex:0 0 auto}
.msb-checkout-trust-v720 strong,.msb-checkout-trust-v720 small{display:block}
.msb-checkout-trust-v720 strong{font-size:11px;color:#2a1d22}
.msb-checkout-trust-v720 small{margin-top:2px;font-size:9.5px;line-height:1.7;color:#8c7c83}

/* ---------- Account ---------- */
.woocommerce-account.logged-in .msb-account-quickbar-v70{
  box-shadow:0 12px 34px rgba(38,17,25,.055)!important;
}
.woocommerce-account.logged-in .msb-account-quickbar-v70__item{
  transition:background .18s ease,color .18s ease,transform .18s ease!important;
}
.woocommerce-account.logged-in .msb-account-source-card,
.woocommerce-account.logged-in .msb-account-support-v70,
.woocommerce-account.logged-in .woocommerce-MyAccount-content>form,
.woocommerce-account.logged-in .woocommerce-MyAccount-content>.woocommerce-notices-wrapper+*{
  border-color:#ebe5e8!important;
}
.woocommerce-account.logged-in .msb-account-source-notification-list a{
  transition:background .18s ease,padding .18s ease!important;
}
.woocommerce-account.logged-in .msb-account-source-notification-list a:hover{background:#fff7f9!important;padding-inline:12px!important}

/* ---------- Footer ---------- */
.msb-footer__panel{box-shadow:0 22px 60px rgba(42,13,24,.12)!important}
.msb-footer-menu a{transition:opacity .18s ease,transform .18s ease!important}
@media(hover:hover) and (pointer:fine){.msb-footer-menu a:hover{opacity:1!important;transform:translateX(-3px)}}

/* ---------- Mobile UX ---------- */
@media(max-width:782px){
  .msb-ux-toast-stack{
    top:calc(var(--msb-header-viewport-bottom,66px) + 8px);
    left:10px;
    width:calc(100vw - 20px);
  }
  .msb-ux-toast{border-radius:14px;padding:10px;grid-template-columns:34px 1fr 28px}
  .msb-ux-toast__icon{width:34px;height:34px;border-radius:10px}

  .msb-original-archive__mobile-tools{
    position:sticky!important;
    top:calc(var(--msb-header-viewport-bottom,64px) + 6px)!important;
    z-index:32!important;
    margin:0 -4px 12px!important;
    padding:7px!important;
    border:1px solid #ebe5e8!important;
    border-radius:15px!important;
    background:rgba(255,255,255,.96)!important;
    backdrop-filter:blur(12px)!important;
    box-shadow:0 10px 28px rgba(35,15,23,.07)!important;
  }
  .msb-original-archive__mobile-tools button,
  .msb-original-archive__mobile-tools a{
    min-height:40px!important;
    border-radius:11px!important;
  }
  .msb-original-archive__sort{display:none!important}

  li.msb-original-product-card{
    border-radius:16px!important;
  }
  .msb-original-product-card__title{line-height:1.85!important}

  .single-product .msb-single-v52__buybox{
    box-shadow:none!important;
  }
  .single-product .msb-buybox-statuses{
    overflow-x:auto;
    flex-wrap:nowrap!important;
    padding-bottom:2px;
    scrollbar-width:none;
  }
  .single-product .msb-buybox-statuses::-webkit-scrollbar{display:none}
  .single-product .msb-buybox-status{flex:0 0 auto}

  .msb-cart-mobile-checkout-v720{
    position:fixed;
    z-index:9988;
    right:8px;left:8px;
    bottom:calc(72px + env(safe-area-inset-bottom));
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    align-items:center;
    gap:8px;
    padding:8px;
    border:1px solid #e9e2e6;
    border-radius:17px;
    background:rgba(255,255,255,.97);
    box-shadow:0 16px 42px rgba(39,15,24,.18);
    backdrop-filter:blur(14px);
  }
  .msb-cart-mobile-checkout-v720>div{min-width:0;padding:0 7px}
  .msb-cart-mobile-checkout-v720 small,.msb-cart-mobile-checkout-v720 strong{display:block}
  .msb-cart-mobile-checkout-v720 small{font-size:9px;color:#8b7c83;margin-bottom:2px}
  .msb-cart-mobile-checkout-v720 strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#25191e}
  .msb-cart-mobile-checkout-v720>a{
    min-height:46px;
    display:flex;align-items:center;justify-content:center;gap:7px;
    padding:0 10px;
    border-radius:12px;
    background:var(--msb-primary);
    color:#fff!important;
    text-decoration:none!important;
    font-size:10.5px;font-weight:800;
    box-shadow:0 9px 22px rgba(243,10,73,.19);
  }
  .msb-cart-mobile-checkout-v720>a .msb-icon{width:16px;height:16px;transform:rotate(180deg)}
  body.woocommerce-cart .msb-floating-support{bottom:154px!important}
  body.woocommerce-cart .msb-back-to-top{bottom:154px!important}
  body.woocommerce-cart #primary{padding-bottom:92px!important}

  .msb-checkout-progress-v720{gap:5px;padding:5px;border-radius:15px;overflow:hidden}
  .msb-checkout-progress-v720>a,.msb-checkout-progress-v720>div{min-height:52px;padding:8px;gap:7px}
  .msb-checkout-progress-v720>a>span,.msb-checkout-progress-v720>div>span{width:29px;height:29px;border-radius:9px}
  .msb-checkout-progress-v720 small{display:none}
  .msb-checkout-progress-v720 strong{font-size:9px}
  .msb-checkout-trust-v720{grid-template-columns:1fr}

  /* Footer turns into a calm accordion only after JS is ready. */
  body.msb-footer-accordion-ready .msb-footer__grid{display:block!important}
  body.msb-footer-accordion-ready .msb-footer__grid>div{
    border-bottom:1px solid rgba(255,255,255,.14);
    padding:0!important;
  }
  body.msb-footer-accordion-ready .msb-footer__grid>div>h3{
    position:relative;
    margin:0!important;
    min-height:52px;
    display:flex;align-items:center;
    padding-inline-end:34px;
    cursor:pointer;
    user-select:none;
  }
  body.msb-footer-accordion-ready .msb-footer__grid>div>h3::after{
    content:'+';
    position:absolute;
    left:4px;
    top:50%;transform:translateY(-50%);
    font-size:20px;font-weight:300;
    opacity:.8;
    transition:transform .18s ease;
  }
  body.msb-footer-accordion-ready .msb-footer__grid>div.is-open>h3::after{transform:translateY(-50%) rotate(45deg)}
  body.msb-footer-accordion-ready .msb-footer__grid>div>:not(h3){display:none!important}
  body.msb-footer-accordion-ready .msb-footer__grid>div.is-open>:not(h3){display:block!important}
  body.msb-footer-accordion-ready .msb-footer__grid>div.is-open>.msb-certifications,
  body.msb-footer-accordion-ready .msb-footer__grid>div.is-open>.msb-socials{display:flex!important}
  body.msb-footer-accordion-ready .msb-footer__grid>div.is-open .msb-footer-menu{display:block!important;padding-bottom:12px!important}
}

@media(max-width:420px){
  .msb-checkout-progress-v720>a,.msb-checkout-progress-v720>div{justify-content:center;padding:6px 4px}
  .msb-checkout-progress-v720>a>div,.msb-checkout-progress-v720>div>div{display:none}
  .msb-checkout-progress-v720>a>span,.msb-checkout-progress-v720>div>span{width:34px;height:34px}
  .msb-cart-mobile-checkout-v720{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

.woocommerce-message.is-msb-toastified{display:none!important}
.added_to_cart.wc-forward{display:none!important}
.msb-header-action--cart.is-msb-bump,.msb-mobile-cart-icon.is-msb-bump{animation:msb-v720-cart-bump .34s ease}
@keyframes msb-v720-cart-bump{50%{transform:scale(1.12)}}
.msb-password-field-v720{position:relative!important}
.msb-password-field-v720 input{padding-inline-end:64px!important}
.msb-password-toggle-v720{
  position:absolute;left:8px;top:50%;transform:translateY(-50%);
  z-index:3;min-height:30px;padding:0 8px;border:0;border-radius:8px;
  background:#f7f4f6;color:#6f5e66;font:inherit;font-size:9px;cursor:pointer;
}

/* ---------- Homepage polish ---------- */
.msb-hero-slider{
  box-shadow:0 18px 46px rgba(35,16,23,.07)!important;
}
.msb-hero-slide__content>*{text-wrap:balance}
.msb-slider-arrow{
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease!important;
}
@media(hover:hover) and (pointer:fine){
  .msb-slider-arrow:hover{transform:translateY(-50%) scale(1.05)!important;box-shadow:0 10px 24px rgba(34,12,16,.12)!important}
}
.msb-slider-dots button{transition:width .18s ease,background .18s ease,opacity .18s ease!important}
.msb-slider-dots button.is-active{width:24px!important;border-radius:999px!important}
.msb-category-card{
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important;
}
.msb-category-card__image{transition:transform .25s ease!important}
@media(hover:hover) and (pointer:fine){
  .msb-category-card:hover{transform:translateY(-3px)!important;box-shadow:0 14px 34px rgba(38,17,25,.07)!important;background:#fff!important}
  .msb-category-card:hover .msb-category-card__image{transform:scale(1.035)!important}
}
.msb-static-banners a,.msb-video-card,.msb-blog-card{
  transition:transform .2s ease,box-shadow .2s ease!important;
}
@media(hover:hover) and (pointer:fine){
  .msb-static-banners a:hover,.msb-video-card:hover,.msb-blog-card:hover{transform:translateY(-3px)!important;box-shadow:0 18px 42px rgba(37,17,25,.08)!important}
}
.msb-faq-chat{
  border:1px solid #eee8eb!important;
  box-shadow:0 16px 44px rgba(38,16,24,.045)!important;
}
.msb-chat-bubble{transition:transform .18s ease,box-shadow .18s ease!important}
.msb-faq-tabs button{transition:background .18s ease,color .18s ease,box-shadow .18s ease!important}
.msb-benefits>*{transition:transform .18s ease,background .18s ease!important}
@media(hover:hover) and (pointer:fine){.msb-benefits>*:hover{transform:translateY(-2px);background:#fff!important}}

/* Empty and error states feel like designed product surfaces. */
.msb-empty-cart-v4,.msb-products-empty,.msb-error-page{
  border-radius:22px!important;
}
.msb-products-empty{
  min-height:320px;
  display:flex!important;flex-direction:column;align-items:center;justify-content:center;
  padding:34px 18px!important;
  border:1px dashed #e5dde1;
  background:linear-gradient(180deg,#fff,#fcfafb);
}
.msb-products-empty__icon{
  width:64px;height:64px;display:grid;place-items:center;border-radius:20px;
  background:#fff1f5;color:var(--msb-primary);margin-bottom:14px;
}
.msb-products-empty__icon .msb-icon{width:28px;height:28px}
