/* WooCommerce notices remain in the DOM for extraction, but are not shown in-place. */
.woocommerce-notices-wrapper,
.woocommerce-message,
.woocommerce-error,
.woocommerce-info{display:none!important}

#ravix-bottom-notice{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  width:100%;
  z-index:2147483646;
  pointer-events:none;
}
#ravix-bottom-notice[hidden]{display:none!important}
#ravix-bottom-notice .rbn-inner{
  direction:rtl;
  text-align:right;
  width:100%;
  padding:18px 24px;
  padding-bottom:calc(18px + env(safe-area-inset-bottom,0px));
  min-height:68px;
  border-radius:0;
  color:#fff;
  display:flex;
  align-items:center;
  gap:14px;
  transform:translateY(150%);
  opacity:0;
  transition:transform .28s ease,opacity .2s ease;
  pointer-events:auto;
  box-shadow:0 -8px 28px rgba(0,0,0,.18);
  position:relative;
  overflow:hidden;
}
#ravix-bottom-notice.type-success .rbn-inner{
  background:linear-gradient(135deg,#10b981,#22c55e);
  box-shadow:0 -10px 30px rgba(34,197,94,.38);
}
#ravix-bottom-notice.type-error .rbn-inner{
  background:linear-gradient(135deg,#ef4444,#dc2626);
  box-shadow:0 -10px 30px rgba(239,68,68,.38);
}
#ravix-bottom-notice.type-info .rbn-inner{
  background:linear-gradient(135deg,#3b82f6,#2563eb);
  box-shadow:0 -10px 30px rgba(37,99,235,.30);
}
#ravix-bottom-notice .rbn-icon{
  width:28px;
  height:28px;
  min-width:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:18px;
  line-height:1;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.25);
  border-radius:10px;
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}
#ravix-bottom-notice.type-success .rbn-icon::before{content:'✓'}
#ravix-bottom-notice.type-error .rbn-icon::before{content:'!'}
#ravix-bottom-notice.type-info .rbn-icon::before{content:'i'}
#ravix-bottom-notice .rbn-message{
  flex:1 1 auto;
  font-weight:700;
  font-size:15px;
  line-height:1.7;
  text-shadow:0 1px 1px rgba(0,0,0,.12);
}
#ravix-bottom-notice .rbn-close{
  margin-inline-start:auto;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.3);
  color:#fff;
  font:inherit;
  font-size:22px;
  line-height:1;
  border-radius:10px;
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:transform .12s ease,background .2s ease;
}
#ravix-bottom-notice .rbn-close:hover{transform:scale(1.06);background:rgba(255,255,255,.22)}
#ravix-bottom-notice .rbn-close:active{transform:scale(.96)}
#ravix-bottom-notice .rbn-close:focus-visible{outline:2px solid #fff;outline-offset:2px}
#ravix-bottom-notice.show .rbn-inner{transform:translateY(0);opacity:1}
#ravix-bottom-notice .rbn-progress{
  position:absolute;
  inset-inline:0;
  bottom:0;
  height:3px;
  background:rgba(255,255,255,.3);
  transform-origin:left center;
  transform:scaleX(1);
}
#ravix-bottom-notice .rbn-progress>span{
  display:block;
  height:100%;
  background:#fff;
  transform:scaleX(1);
  transform-origin:left center;
  animation:rbnShrink var(--rbn-duration,6s) linear forwards;
  opacity:.9;
}
@keyframes rbnShrink{from{transform:scaleX(1)}to{transform:scaleX(0)}}
#ravix-bottom-notice.type-error.show .rbn-icon{animation:rbnPulse 900ms ease-out 1}
@keyframes rbnPulse{0%{transform:scale(1)}30%{transform:scale(1.12)}100%{transform:scale(1)}}
@media (max-width:768px){
  #ravix-bottom-notice .rbn-inner{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));min-height:62px}
  #ravix-bottom-notice .rbn-message{font-size:14px}
}
@media (prefers-reduced-motion:reduce){
  #ravix-bottom-notice .rbn-inner,
  #ravix-bottom-notice .rbn-close{transition:none}
  #ravix-bottom-notice .rbn-progress>span,
  #ravix-bottom-notice.type-error.show .rbn-icon{animation:none}
}
