/* XPort shared feedback system — the final owner of customer-facing states. */

body.xport-ui-system-active{
  --xui-feedback-radius:14px;
  --xui-feedback-gap:12px;
  --xui-feedback-icon:26px;
}

/* WooCommerce notices are normalized into one shared popup stack by feedback-system.js. */
body.xport-ui-system-active :is(.woocommerce-notices-wrapper,.woocommerce-NoticeGroup){
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.xport-ui-system-active :is(.woocommerce-notices-wrapper,.woocommerce-NoticeGroup):empty,
body.xport-ui-system-active :is(.woocommerce-notices-wrapper,.woocommerce-NoticeGroup)[hidden],
body.xport-ui-system-active .xui-feedback-host:empty,
body.xport-ui-system-active .xui-feedback-host[hidden]{display:none!important}

body.xport-ui-system-active .xui-toast-stack{
  position:fixed!important;
  z-index:100100!important;
  right:auto!important;
  bottom:18px!important;
  left:18px!important;
  display:flex!important;
  flex-direction:column!important;
  width:min(400px,calc(100vw - 32px))!important;
  gap:10px!important;
  pointer-events:none!important;
}

body.xport-ui-system-active .xui-toast{
  --xui-toast-accent:var(--xui-status-info-fg,#35627a);
  --xui-toast-icon-bg:var(--xui-status-info-bg,#eef7fb);
  position:relative!important;
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:center!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-height:58px!important;
  padding:12px!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.86)!important;
  -webkit-backdrop-filter:blur(20px) saturate(1.15) brightness(1)!important;
  backdrop-filter:blur(20px) saturate(1.15) brightness(1)!important;
  box-shadow:0 5px 18px rgba(15,23,42,.13)!important;
  color:var(--xui-color-text,#0f172a)!important;
  font:500 13px/1.35 var(--xui-font-family)!important;
  text-align:left!important;
  pointer-events:auto!important;
  animation:xui-toast-in .24s ease both!important;
  transition:opacity .24s ease,transform .24s ease!important;
}
/* Server-rendered notices are already the final popup. JS only adopts them
   into the shared stack and starts interaction/timers. */
body.xport-ui-system-active .xui-toast.xui-toast--server{
  position:fixed!important;
  z-index:100100!important;
  right:auto!important;
  bottom:18px!important;
  left:18px!important;
  width:min(400px,calc(100vw - 32px))!important;
}
body.xport-ui-system-active .xui-toast:has(.xui-toast__detail,.xui-toast__action,a.restore-item,a.wc-forward,.button){
  align-items:start!important;
}
body.xport-ui-system-active .xui-toast--success{
  --xui-toast-accent:var(--xui-status-positive-fg,#20a443);
  --xui-toast-icon-bg:var(--xui-status-positive-bg,#effbf2);
}
body.xport-ui-system-active .xui-toast--error{
  --xui-toast-accent:var(--xui-status-error-fg,#b42335);
  --xui-toast-icon-bg:var(--xui-status-error-bg,#fff1f2);
}
body.xport-ui-system-active .xui-toast.is-dismissing{
  opacity:0!important;
  transform:translateY(8px)!important;
  pointer-events:none!important;
}
body.xport-ui-system-active .xui-toast__icon{
  position:relative!important;
  display:block!important;
  width:32px!important;
  height:32px!important;
  margin-top:1px!important;
  border-radius:10px!important;
  background:var(--xui-toast-icon-bg)!important;
}
body.xport-ui-system-active .xui-toast__icon::before{
  position:absolute!important;
  inset:7px!important;
  background-color:var(--xui-toast-accent)!important;
  content:""!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-size:18px 18px!important;
  mask-size:18px 18px!important;
}
body.xport-ui-system-active .xui-toast--success .xui-toast__icon::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m7 12 3 3 7-7M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m7 12 3 3 7-7M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Z'/%3E%3C/svg%3E")!important;
}
body.xport-ui-system-active .xui-toast--info .xui-toast__icon::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 11v5m0-9h.01M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 11v5m0-9h.01M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Z'/%3E%3C/svg%3E")!important;
}
body.xport-ui-system-active .xui-toast--error .xui-toast__icon::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 8v5m0 3h.01M10.3 3.8 2.2 18a2 2 0 0 0 1.7 3h16.2a2 2 0 0 0 1.7-3L13.7 3.8a2 2 0 0 0-3.4 0Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 8v5m0 3h.01M10.3 3.8 2.2 18a2 2 0 0 0 1.7 3h16.2a2 2 0 0 0 1.7-3L13.7 3.8a2 2 0 0 0-3.4 0Z'/%3E%3C/svg%3E")!important;
}

body.xport-ui-system-active .xui-toast__content{
  min-width:0!important;
  padding-top:0!important;
  color:inherit!important;
}
body.xport-ui-system-active .xui-toast__title{
  display:block!important;
  color:inherit!important;
  font:600 13px/1.35 var(--xui-font-family)!important;
}
body.xport-ui-system-active .xui-toast__detail{
  display:-webkit-box!important;
  overflow:hidden!important;
  margin-top:3px!important;
  color:var(--xui-color-muted,#64748b)!important;
  font:400 12px/1.35 var(--xui-font-family)!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}
body.xport-ui-system-active .xui-toast__content :is(a.restore-item,a.wc-forward,.button,.xui-toast__action){
  display:flex!important;
  width:max-content!important;
  max-width:100%!important;
  min-height:32px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:9px 0 0!important;
  padding:0 11px!important;
  border:0!important;
  border-radius:9px!important;
  background:var(--xui-material-primary-bg,#3cc76a)!important;
  color:#fff!important;
  font:600 12px/1 var(--xui-font-family)!important;
  text-decoration:none!important;
  transition:filter .16s ease,transform .16s ease!important;
}
body.xport-ui-system-active .xui-toast__content :is(a.restore-item,a.wc-forward,.button,.xui-toast__action):hover{
  background:var(--xui-material-primary-hover-bg,#32b85d)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}
@keyframes xui-toast-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:767px){
  body.xport-ui-system-active .xui-toast-stack{right:auto!important;bottom:92px!important;left:12px!important;width:calc(100vw - 24px)!important}
  body.xport-ui-system-active .xui-toast{grid-template-columns:30px minmax(0,1fr)!important;min-height:56px!important;padding:11px!important}
  body.xport-ui-system-active .xui-toast__icon{width:30px!important;height:30px!important;margin-top:1px!important}
  body.xport-ui-system-active .xui-toast__icon::before{inset:6px!important}
  body.xport-ui-system-active .xui-toast.xui-toast--server{right:auto!important;bottom:92px!important;left:12px!important;width:calc(100vw - 24px)!important}
}

@media(prefers-reduced-motion:reduce){
  body.xport-ui-system-active .xui-toast{animation:none!important;transition:none!important}
}

/* Small feedback that belongs to a field, form or AJAX action. */
body.xport-ui-system-active :is(.xui-inline-feedback,.xpromo-message,.xpp-configurator__message,.xss-form__status){
  box-sizing:border-box!important;
  width:100%!important;
  margin:8px 0 0!important;
  color:var(--xui-status-neutral-fg)!important;
  font:500 11px/1.4 var(--xui-font-family)!important;
}

body.xport-ui-system-active :is(.xui-inline-feedback,.xss-form__status.is-success){
  padding:9px 11px!important;
  border:1px solid var(--xui-status-positive-edge)!important;
  border-radius:10px!important;
  background:var(--xui-status-positive-bg)!important;
  color:var(--xui-status-positive-fg)!important;
}

body.xport-ui-system-active :is(.xui-inline-feedback--error,.xpromo-message.is-error,.xpp-configurator__message.is-error,.xss-form__status.is-error){
  color:var(--xui-status-error-fg)!important;
}

body.xport-ui-system-active :is(.xui-inline-feedback--error,.xss-form__status.is-error){
  border-color:var(--xui-status-error-edge)!important;
  background:var(--xui-status-error-bg)!important;
}

body.xport-ui-system-active :is(.xpromo-message.is-success,.xpp-configurator__message.is-success){color:var(--xui-status-positive-fg)!important}
body.xport-ui-system-active :is(.xpromo-message.is-info){color:var(--xui-status-neutral-fg)!important}
body.xport-ui-system-active :is(.xui-inline-feedback,.xpromo-message,.xpp-configurator__message,.xss-form__status):empty{display:none!important}

/* Shared full-page empty state. */
body.xport-ui-system-active .xui-empty-state{
  box-sizing:border-box!important;
  width:min(100%,620px)!important;
  min-height:300px!important;
  margin:0 auto!important;
  padding:48px 24px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  border:0!important;
  border-radius:20px!important;
  background:var(--xui-material-surface,#fff)!important;
  box-shadow:var(--xui-material-soft-shadow,var(--xui-shadow-card))!important;
}

body.xport-ui-system-active .xui-empty-state__icon{
  display:grid!important;
  width:52px!important;
  height:52px!important;
  place-items:center!important;
  margin:0 0 18px!important;
  border-radius:16px!important;
  background:var(--xui-color-primary-soft)!important;
  color:var(--xui-color-primary)!important;
}

body.xport-ui-system-active .xui-empty-state__icon svg{
  width:25px!important;
  height:25px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

body.xport-ui-system-active .xui-empty-state__title{
  margin:0!important;
  color:var(--xui-color-heading)!important;
  font:650 22px/1.2 var(--xui-font-family)!important;
  letter-spacing:-.02em!important;
}

body.xport-ui-system-active .xui-empty-state__text{
  max-width:430px!important;
  margin:9px 0 0!important;
  color:var(--xui-color-muted)!important;
  font:400 14px/1.55 var(--xui-font-family)!important;
}

body.xport-ui-system-active .xui-empty-state__actions{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:10px!important;
  margin-top:22px!important;
}

body.xport-ui-system-active .xui-empty-state__button{
  display:inline-flex!important;
  min-height:42px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:12px!important;
  background:var(--xui-material-primary-bg)!important;
  box-shadow:var(--xui-material-primary-shadow)!important;
  color:#fff!important;
  font:650 13px/1 var(--xui-font-family)!important;
  text-decoration:none!important;
  transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}

body.xport-ui-system-active .xui-empty-state__button:hover{
  background:var(--xui-material-primary-hover-bg)!important;
  box-shadow:var(--xui-material-primary-hover)!important;
  transform:translateY(-1px)!important;
}

/* Existing empty states inherit one visual language without changing their content. */
body.xport-ui-system-active :is(.xport-favorites-empty,.xp-account-empty,.xcat-empty,.woocommerce-no-products-found):not(.xui-empty-state){
  box-sizing:border-box!important;
  width:100%!important;
  margin:0!important;
  padding:30px 24px!important;
  border:1px solid #e6ebee!important;
  border-radius:var(--xui-radius-surface)!important;
  background:var(--xui-color-surface)!important;
  box-shadow:var(--xui-shadow-card)!important;
  color:var(--xui-color-muted)!important;
  text-align:center!important;
  font-family:var(--xui-font-family)!important;
}

body.xport-ui-system-active :is(.xport-favorites-empty,.xp-account-empty,.xcat-empty):not(.xui-empty-state) :is(h2,h3,.xcat-empty__title){
  margin:0!important;
  color:var(--xui-color-heading)!important;
  font:650 19px/1.25 var(--xui-font-family)!important;
  letter-spacing:-.015em!important;
}

body.xport-ui-system-active :is(.xport-favorites-empty,.xp-account-empty,.xcat-empty):not(.xui-empty-state) p{
  margin:8px 0 0!important;
  color:var(--xui-color-muted)!important;
  font:400 13px/1.5 var(--xui-font-family)!important;
}

body.xport-ui-system-active .xcat-empty.xui-empty-state{grid-column:1 / -1!important}
body.xport-ui-system-active .xcat-empty.xui-empty-state{justify-self:center!important}
body.xport-ui-system-active .xcat-layout--empty-search .xcat-grid{grid-template-columns:minmax(0,1fr)!important}
body.xport-ui-system-active .xcat-empty__catalog{display:inline-flex!important}

/* Empty cart and favorites must be an exact visual continuation of the
   catalog empty state, regardless of older feature-level styles. */
body.xport-ui-system-active .xui-empty-state:is(.xcat-empty,.xport-cart-empty,.xport-favorites-empty){
  width:min(100%,620px)!important;
  min-height:300px!important;
  margin-inline:auto!important;
  padding:48px 24px!important;
  border:0!important;
  border-radius:20px!important;
  background:var(--xui-material-surface,#fff)!important;
  box-shadow:var(--xui-material-soft-shadow,var(--xui-shadow-card))!important;
  font-family:Rubik,system-ui,-apple-system,"Segoe UI",sans-serif!important;
}
@media(min-width:768px){
  body.xport-ui-system-active .xui-empty-state:is(.xcat-empty,.xport-cart-empty,.xport-favorites-empty){
    height:300px!important;
    padding:36px 24px!important;
  }
}
body.xport-ui-system-active .xui-empty-state:is(.xcat-empty,.xport-cart-empty,.xport-favorites-empty) .xui-empty-state__icon{
  width:52px!important;
  height:52px!important;
  margin:0 0 18px!important;
  border-radius:16px!important;
}
body.xport-ui-system-active .xui-empty-state:is(.xcat-empty,.xport-cart-empty,.xport-favorites-empty) .xui-empty-state__title{
  margin:0!important;
  color:#071225!important;
  font:500 21px/1.25 Rubik,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  letter-spacing:-.01em!important;
}
body.xport-ui-system-active .xui-empty-state:is(.xcat-empty,.xport-cart-empty,.xport-favorites-empty) .xui-empty-state__text{
  max-width:430px!important;
  margin:9px 0 0!important;
  color:#64748b!important;
  font:400 14px/1.55 Rubik,system-ui,-apple-system,"Segoe UI",sans-serif!important;
}
body.xport-ui-system-active .xui-empty-state:is(.xcat-empty,.xport-cart-empty,.xport-favorites-empty) .xui-empty-state__actions{
  margin-top:22px!important;
}
body.xport-ui-system-active .xui-empty-state:is(.xcat-empty,.xport-cart-empty,.xport-favorites-empty) .xui-empty-state__button{
  min-height:42px!important;
  padding:0 18px!important;
  border-radius:12px!important;
  font:650 13px/1 Rubik,system-ui,-apple-system,"Segoe UI",sans-serif!important;
}
body.xport-ui-system-active .xport-favorites-page[data-xport-favorites-count="0"] .xport-favorites-intro{
  display:none!important;
}
body.xport-ui-system-active .xport-favorites-loading{
  display:flex!important;
  width:min(100%,620px)!important;
  min-height:300px!important;
  align-items:center!important;
  justify-content:center!important;
  margin-inline:auto!important;
  padding:48px 24px!important;
  border:0!important;
  border-radius:20px!important;
  background:var(--xui-material-surface,#fff)!important;
  box-shadow:var(--xui-material-soft-shadow,var(--xui-shadow-card))!important;
  color:#64748b!important;
  font:400 14px/1.55 Rubik,system-ui,-apple-system,"Segoe UI",sans-serif!important;
}

/* Search feedback stays compact because it lives inside a dropdown. */
body.xport-ui-system-active :is(.xsi-search-state,.xss-search-empty){
  box-sizing:border-box!important;
  width:100%!important;
  padding:18px!important;
  color:var(--xui-color-muted)!important;
  font:500 12px/1.45 var(--xui-font-family)!important;
  text-align:center!important;
}

body.xport-ui-system-active .xss-search-empty strong{
  display:block!important;
  margin-bottom:3px!important;
  color:var(--xui-color-text)!important;
  font-size:13px!important;
}

/* The native return link is replaced by the shared empty-cart action. */
body.woocommerce-cart.xport-ui-system-active .return-to-shop{display:none!important}

/* 404 is a page state, not a raw technical error. */
body.error404.xport-ui-system-active section[class*="bde-section-"] > .section-container > div[class*="bde-div-"]{
  box-sizing:border-box!important;
  width:min(100%,760px)!important;
  min-height:320px!important;
  margin:0 auto!important;
  padding:48px 28px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:20px!important;
  background:var(--xui-material-surface,#fff)!important;
  box-shadow:var(--xui-material-soft-shadow,var(--xui-shadow-card))!important;
  text-align:center!important;
}

body.error404.xport-ui-system-active h1[class*="bde-heading-"]{
  margin:0!important;
  color:var(--xui-color-heading)!important;
  font:650 28px/1.2 var(--xui-font-family)!important;
  letter-spacing:-.025em!important;
}

body.error404.xport-ui-system-active div[class*="bde-text-"]{
  max-width:520px!important;
  margin:12px 0 0!important;
  color:var(--xui-color-muted)!important;
  font:400 14px/1.55 var(--xui-font-family)!important;
}

@media(max-width:767px){
  body.xport-ui-system-active{
    --xui-feedback-radius:12px;
    --xui-feedback-gap:10px;
    --xui-feedback-icon:24px;
  }

  body.xport-ui-system-active :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){
    min-height:48px!important;
    margin-bottom:10px!important;
    padding:11px 12px!important;
    font-size:12px!important;
  }

  body.xport-ui-system-active :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) :is(a.restore-item,a.wc-forward,.button){
    grid-column:2 / -1!important;
    width:max-content!important;
    margin:6px 0 0!important;
  }

  body.xport-ui-system-active .xui-empty-state{
    min-height:260px!important;
    padding:36px 20px!important;
    border-radius:16px!important;
  }

  body.xport-ui-system-active .xui-empty-state__icon{width:48px!important;height:48px!important;margin-bottom:16px!important}
  body.xport-ui-system-active .xui-empty-state__title{font-size:20px!important}
  body.xport-ui-system-active .xui-empty-state__text{font-size:13px!important}
  body.xport-ui-system-active :is(.xport-favorites-empty,.xp-account-empty,.xcat-empty,.woocommerce-no-products-found):not(.xui-empty-state){padding:24px 18px!important;border-radius:16px!important}
  body.error404.xport-ui-system-active section[class*="bde-section-"] > .section-container > div[class*="bde-div-"]{min-height:280px!important;padding:38px 20px!important;border-radius:16px!important}
  body.error404.xport-ui-system-active h1[class*="bde-heading-"]{font-size:23px!important}
}

/* Cart and favorites use the same white-card material as product surfaces. */
body.xport-ui-system-active :is(
  .xui-empty-state.xport-cart-empty,
  .xport-favorites-empty,
  .xport-favorites-loading,
  .xport-favorites-error
){
  border:0!important;
  border-radius:20px!important;
  background:var(--xui-material-surface,#fff)!important;
  box-shadow:var(--xui-material-soft-shadow,var(--xui-shadow-card))!important;
}

@media(max-width:767px){
  body.xport-ui-system-active :is(
    .xui-empty-state.xport-cart-empty,
    .xport-favorites-empty,
    .xport-favorites-loading,
    .xport-favorites-error
  ){
    border-radius:16px!important;
  }
  body.xport-ui-system-active .xui-empty-state:is(.xcat-empty,.xport-cart-empty,.xport-favorites-empty){
    min-height:260px!important;
    padding:36px 20px!important;
    border-radius:16px!important;
  }
  body.xport-ui-system-active .xui-empty-state:is(.xcat-empty,.xport-cart-empty,.xport-favorites-empty) .xui-empty-state__icon{
    width:48px!important;
    height:48px!important;
    margin-bottom:16px!important;
  }
  body.xport-ui-system-active .xui-empty-state:is(.xcat-empty,.xport-cart-empty,.xport-favorites-empty) .xui-empty-state__title{
    font-size:20px!important;
  }
  body.xport-ui-system-active .xui-empty-state:is(.xcat-empty,.xport-cart-empty,.xport-favorites-empty) .xui-empty-state__text{
    font-size:13px!important;
  }
  body.xport-ui-system-active .xport-favorites-loading{
    min-height:260px!important;
    padding:36px 20px!important;
    border-radius:16px!important;
    font-size:13px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  body.xport-ui-system-active .xui-empty-state__button,
  body.xport-ui-system-active :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){transition:none!important}
}
