/* TWS promo bar + side tab — sitewide component, !important locks prevent theme override */
@keyframes twsPromoGrad{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes twsPromoSpin{to{transform:rotate(360deg)}}
@keyframes twsPromoPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.09)}}

.tws-promobar{
  position:relative!important;z-index:51!important;
  background:linear-gradient(270deg,#D63A2F,#F0603F,#FF8E3C,#E8443A)!important;
  background-size:300% 300%!important;
  animation:twsPromoGrad 9s ease infinite!important;
  overflow:hidden!important;
  color:#fff!important;text-align:center!important;
  font-family:Thicccboi,var(--font-display),sans-serif!important;
  font-size:16px!important;
}
.tws-promobar__link{
  display:flex!important;align-items:center!important;justify-content:center!important;
  gap:10px!important;flex-wrap:wrap!important;
  padding:11px 46px!important;
  color:#fff!important;text-decoration:none!important;line-height:1.35!important;
}
.tws-promobar__link b{font-weight:800!important;letter-spacing:.08em!important;}
.tws-promobar__off{
  background:#FFBE1C!important;color:#5a3d00!important;font-weight:800!important;
  border-radius:999px!important;padding:3px 11px!important;font-size:.85em!important;
  box-shadow:0 2px 8px rgba(0,0,0,.18)!important;
  animation:twsPromoPulse 2.2s ease-in-out infinite!important;
}
.tws-promobar__cta{
  display:inline-flex!important;margin-left:6px!important;
  background:#fff!important;color:#C22F24!important;font-weight:700!important;
  border-radius:999px!important;padding:6px 16px!important;
  text-decoration:none!important;box-shadow:0 3px 10px rgba(0,0,0,.15)!important;
  transition:transform 180ms!important;
}
.tws-promobar__link:hover .tws-promobar__cta{transform:translateY(-1px) scale(1.03)!important;}
.tws-promobar__x{
  position:absolute!important;top:50%!important;right:10px!important;transform:translateY(-50%)!important;
  width:30px!important;height:30px!important;border:0!important;border-radius:8px!important;
  background:rgba(255,255,255,.15)!important;color:#fff!important;font-size:18px!important;line-height:1!important;cursor:pointer!important;
}
.tws-promobar__x:hover{background:rgba(255,255,255,.28)!important;}

@media(max-width:600px){
  .tws-promobar{font-size:13px!important;}
  .tws-promobar__link{padding:9px 40px!important;line-height:1.3!important;gap:7px!important;}
  .tws-promobar__cta{display:inline-block!important;margin:4px 0 0!important;}
}

/* Side tab — all sizing locked with !important so no page CSS can interfere */
.tws-promotab{
  position:fixed!important;left:0!important;top:25%!important;transform:translateY(-50%)!important;
  z-index:9999!important;border:0!important;cursor:pointer!important;
  background:#E8443A!important;color:#fff!important;
  font-family:Thicccboi,var(--font-display),sans-serif!important;
  font-weight:800!important;font-size:14px!important;letter-spacing:.08em!important;
  padding:13px 7px!important;border-radius:0 9px 9px 0!important;
  box-shadow:0 4px 14px rgba(214,58,47,.45)!important;
  writing-mode:vertical-rl!important;text-orientation:upright!important;
  display:inline-flex!important;align-items:center!important;gap:6px!important;
  opacity:0;pointer-events:none;
  transition:padding .15s ease,background .15s ease,opacity .45s ease!important;
}
.tws-promotab:hover{padding-right:14px!important;background:#D63A2F!important;}

/* Desktop-only glow on the SALE side tab (tab sits far left, needs attention pull) */
@media (min-width:1025px){
  @keyframes twsPromoGlow{
    0%,100%{filter:drop-shadow(0 0 4px rgba(255,142,60,.55));}
    50%{filter:drop-shadow(0 0 14px rgba(255,142,60,.95)) drop-shadow(0 0 28px rgba(232,68,58,.6));}
  }
  .tws-promotab{animation:twsPromoGlow 2.2s ease-in-out infinite!important;}
}
