.ez-halloween-topbar { position:relative; z-index:20; width:100%; }
.ez-halloween-topbar__link { position:relative; display:block; overflow:hidden; color:#fff7f0; text-decoration:none; background:linear-gradient(105deg,#170c24,#30152a 45%,#171026); border-bottom:1px solid #ed8c4c66; isolation:isolate; }
.ez-halloween-topbar__link:hover { color:#fff; }
.ez-halloween-topbar__glow { position:absolute; inset:-100% -20%; z-index:-1; background:radial-gradient(ellipse at 50% 50%,rgba(248,126,49,.38),transparent 35%),linear-gradient(100deg,transparent 35%,rgba(255,205,136,.14) 49%,transparent 60%); animation:ez-halloween-topbar-glow 8s ease-in-out infinite alternate; pointer-events:none; }
.ez-halloween-topbar__inner { max-width:1100px; min-height:68px; margin:auto; padding:6px 24px; display:flex; align-items:center; justify-content:center; gap:18px; }
.ez-halloween-topbar__pumpkin { display:block; width:60px; height:60px; object-fit:contain; flex:0 0 60px; filter:drop-shadow(0 4px 12px #ff822d88); animation:ez-halloween-topbar-pumpkin 3.4s ease-in-out infinite; }
.ez-halloween-topbar__copy { display:flex; align-items:center; gap:14px; min-width:0; }
.ez-halloween-topbar__eyebrow { color:#ffc49a; font-size:.78rem; font-weight:700; }
.ez-halloween-topbar__copy strong { font-size:1.12rem; font-weight:900; line-height:1.5; }
.ez-halloween-topbar__cta { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:40px; padding:0 16px; border-radius:11px; background:#ff9b55; color:#25101a; font-size:.85rem; font-weight:900; white-space:nowrap; transition:background .2s,transform .2s; }
.ez-halloween-topbar__link:hover .ez-halloween-topbar__cta { background:#ffbc85; transform:translateX(-3px); }
.ez-halloween-topbar__link:focus-visible { outline:3px solid #ffcfaa; outline-offset:-4px; }
body:has(.ez-halloween-topbar) > .ez-tandis-topbar { position:relative; top:auto; }
@keyframes ez-halloween-topbar-glow { from { transform:translateX(-18%); } to { transform:translateX(18%); } }
@keyframes ez-halloween-topbar-pumpkin { 0%,100% { transform:translateY(0) rotate(-4deg); } 50% { transform:translateY(-4px) rotate(4deg); } }
@media (max-width: 767px) {
 .ez-halloween-topbar__inner { min-height:64px; padding:7px 14px; gap:9px; justify-content:space-between; }
 .ez-halloween-topbar__pumpkin { width:48px; height:48px; flex-basis:48px; }
 .ez-halloween-topbar__copy { flex:1; display:block; }
 .ez-halloween-topbar__eyebrow { display:block; font-size:.65rem; line-height:1.5; }
 .ez-halloween-topbar__copy strong { display:block; font-size:.9rem; line-height:1.5; }
 .ez-halloween-topbar__cta { min-height:38px; padding:0 10px; gap:5px; font-size:.72rem; }
}
@media (max-width: 340px) { .ez-halloween-topbar__inner { gap:6px; padding-inline:9px; } .ez-halloween-topbar__pumpkin { width:40px; height:40px; flex-basis:40px; } .ez-halloween-topbar__copy strong { font-size:.8rem; } .ez-halloween-topbar__cta { font-size:.68rem; padding-inline:7px; } }
@media (prefers-reduced-motion: reduce) { .ez-halloween-topbar__glow,.ez-halloween-topbar__pumpkin { animation:none; } .ez-halloween-topbar__cta { transition:none; } }
/* The mobile promotion stays in normal flow underneath the fixed header. */
.ez-halloween-topbar-mobile { display: none; }
@media (max-width: 1023px) {
    .ez-halloween-topbar-desktop { display: none; }
    .ez-halloween-topbar-mobile { display: block; position: relative; z-index: 1; }
}
/* First-purchase gift announcement; placement remains shared with the existing bar. */
.ez-gift-topbar__link { background:#06383d; border-bottom:1px solid #8ebdb766; isolation:isolate; }
.ez-gift-topbar__link::before { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at 30% 50%,#28766fb3,transparent 48%),radial-gradient(ellipse at 78% 50%,#fd70133b,transparent 42%); animation:ez-gift-aurora 7s ease-in-out infinite alternate; }
.ez-gift-topbar__shine { position:absolute; z-index:-1; inset:-70% auto -70% -35%; width:24%; background:linear-gradient(100deg,transparent,#ffffff26,transparent); transform:skewX(-18deg); animation:ez-gift-shine 5.5s ease-in-out infinite; pointer-events:none; }
.ez-gift-topbar__inner { min-height:68px; gap:18px; }
.ez-gift-topbar__icon { display:grid; place-items:center; flex:0 0 52px; width:52px; height:52px; color:#ffb478; border:1px solid #ffb47866; border-radius:16px; background:#ffffff0d; animation:ez-gift-float 3s ease-in-out infinite; }
.ez-gift-topbar__icon svg { width:33px; height:33px; }
.ez-gift-topbar__message { color:#fff; font-size:1.06rem; font-weight:800; line-height:1.6; }
.ez-gift-topbar__message strong { color:#ffb478; font-weight:900; }
.ez-gift-topbar__cta { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:0 18px; border-radius:12px; color:#06383d; background:#fd7013; font-weight:900; font-size:.875rem; white-space:nowrap; box-shadow:0 0 0 0 #fd701366; animation:ez-gift-pulse 3s ease-out infinite; }
.ez-gift-topbar__arrow { display:inline-block; animation:ez-gift-arrow 1.8s ease-in-out infinite; }
.ez-gift-topbar__link:focus-visible { outline:3px solid #fff; outline-offset:-4px; }
@keyframes ez-gift-aurora { from { opacity:.55; transform:scale(1); } to { opacity:1; transform:scale(1.08); } }
@keyframes ez-gift-shine { 0%,38% { left:-35%; } 78%,100% { left:115%; } }
@keyframes ez-gift-float { 0%,100% { transform:translateY(0) rotate(-5deg); } 50% { transform:translateY(-4px) rotate(5deg); } }
@keyframes ez-gift-pulse { 0%,100% { box-shadow:0 0 0 0 #fd701366; } 65% { box-shadow:0 0 0 8px #fd701300; } }
@keyframes ez-gift-arrow { 0%,100% { transform:translateX(0); } 50% { transform:translateX(-5px); } }
@media(max-width:767px) { .ez-gift-topbar__inner { min-height:64px; padding:7px 14px; gap:9px; }.ez-gift-topbar__icon { flex-basis:42px; width:42px; height:42px; border-radius:13px; }.ez-gift-topbar__icon svg { width:28px; height:28px; }.ez-gift-topbar__message { flex:1; font-size:.85rem; line-height:1.7; }.ez-gift-topbar__cta { min-height:42px; padding-inline:10px; gap:5px; font-size:.72rem; } }
@media(max-width:340px) { .ez-gift-topbar__inner { padding-inline:9px; gap:6px; }.ez-gift-topbar__icon { flex-basis:36px; width:36px; height:36px; }.ez-gift-topbar__message { font-size:.76rem; }.ez-gift-topbar__cta { font-size:.68rem; padding-inline:7px; } }
@media(prefers-reduced-motion:reduce) { .ez-gift-topbar__link::before,.ez-gift-topbar__shine,.ez-gift-topbar__icon,.ez-gift-topbar__cta,.ez-gift-topbar__arrow { animation:none; } }
