.holiday-notice{position:fixed;top:0;left:0;right:0;z-index:9999;background:linear-gradient(135deg,#17140d 0%,#2b2312 55%,#b88a2a 100%);border-bottom:1px solid rgba(212,175,55,.45);box-shadow:0 6px 24px rgba(0,0,0,.45),0 1px 0 rgba(255,215,105,.12) inset;animation:slideDown .4s cubic-bezier(.4,0,.2,1);transform-origin:top;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.holiday-notice::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0%,rgba(255,218,120,.06) 45%,rgba(255,218,120,.14) 50%,rgba(255,218,120,.06) 55%,transparent 100%);pointer-events:none}
.holiday-notice.hidden{animation:slideUp .3s cubic-bezier(.4,0,.2,1) forwards}
@keyframes slideDown{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes slideUp{from{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}
.holiday-notice-container{position:relative;z-index:1;max-width:1400px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.holiday-notice-content{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.holiday-notice-icon{font-size:20px;line-height:1;flex-shrink:0;color:#e6c567;filter:drop-shadow(0 2px 5px rgba(0,0,0,.45))}
.holiday-notice-text{color:#f7edcf;font-size:14px;font-weight:500;line-height:1.5;margin:0;text-shadow:0 1px 3px rgba(0,0,0,.55)}
.holiday-notice-text a{color:#f1cf70;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(241,207,112,.45);transition:color .2s ease,border-color .2s ease}
.holiday-notice-text a:hover{color:#ffe7a3;border-color:#ffe7a3}
.holiday-notice-emoji{display:inline-block;animation:holidayBounce 2s ease-in-out infinite;transform-origin:center}
@keyframes holidayBounce{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(-4deg)}}
.holiday-notice-close{width:32px;height:32px;padding:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;color:#f7e8bd;background:rgba(212,175,55,.1);border:1px solid rgba(212,175,55,.3);border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.2),0 1px 0 rgba(255,255,255,.05) inset;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.holiday-notice-close:hover{color:#fff4cf;background:rgba(212,175,55,.2);border-color:rgba(232,199,100,.55);box-shadow:0 4px 14px rgba(0,0,0,.3),0 0 0 3px rgba(212,175,55,.08);transform:translateY(-1px) scale(1.04)}
.holiday-notice-close:active{transform:scale(.95)}
.holiday-notice-close:focus-visible{outline:2px solid #d4af37;outline-offset:2px}
body.has-holiday-notice{padding-top:52px}
@media (prefers-reduced-motion:reduce){.holiday-notice,.holiday-notice.hidden,.holiday-notice-emoji{animation:none}.holiday-notice-close{transition:none}}
@media (max-width:1024px){.holiday-notice-container{padding:10px 16px}.holiday-notice-text{font-size:13px}.holiday-notice-icon{font-size:18px}body.has-holiday-notice{padding-top:48px}}
@media (max-width:640px){.holiday-notice-container{padding:10px 12px;gap:8px}.holiday-notice-content{gap:8px}.holiday-notice-text{font-size:12px;line-height:1.4}.holiday-notice-icon{font-size:16px}.holiday-notice-close{width:28px;height:28px}.holiday-notice-close svg{width:16px;height:16px}body.has-holiday-notice{padding-top:44px}}