.festival-bar{position:relative;z-index:55;background:var(--festival-bg,#24163b);color:#fff6e6;border-bottom:1px solid #ffdc8b55;font-size:13px}
.festival-inner{max-width:1440px;margin:auto;min-height:60px;padding:10px 32px;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:20px}.festival-diya{color:var(--festival-accent,#ffdc8b);line-height:0}.festival-greeting{margin:0;text-align:center;font-size:15px;font-weight:600;letter-spacing:.02em;color:var(--festival-accent,#ffdc8b)}.festival-offers{display:flex;justify-content:flex-end;align-items:center;gap:14px}.festival-discount{font-size:12px;line-height:1.5;max-width:180px}.festival-details{position:relative;flex:none}.festival-details summary{list-style:none;cursor:pointer;border:1px solid #ffdc8b88;border-radius:99px;padding:9px 14px;color:var(--festival-accent,#ffdc8b);font-weight:700;white-space:nowrap}.festival-details summary::-webkit-details-marker{display:none}.festival-details summary:focus-visible{outline:2px solid #fff;outline-offset:3px}.festival-offer-card{position:absolute;right:0;top:calc(100% + 14px);width:min(360px,calc(100vw - 36px));padding:25px;border:1px solid #e3d0a6;border-radius:16px;background:#fffaf0;color:#18384a;box-shadow:0 16px 45px #11091d44;box-sizing:border-box}.festival-offer-card h2{font-size:25px;line-height:1.25;margin:12px 0}.festival-offer-card p{font-size:14px;line-height:1.6;margin:12px 0}.festival-code{letter-spacing:.08em;color:#9b4216}.festival-animated .festival-flame{animation:festival-glow 3s ease-in-out infinite;transform-origin:24px 25px}.festival-animated .festival-greeting{animation:festival-text-glow 4s ease-in-out infinite}
@keyframes festival-glow{50%{filter:drop-shadow(0 0 5px #ffc864);transform:scale(.94,1.04)}}@keyframes festival-text-glow{50%{text-shadow:0 0 15px #ffc86488}}
@media(max-width:1000px){.festival-inner{grid-template-columns:40px 1fr auto;gap:12px;padding:10px 20px}.festival-discount{display:none}}
@media(max-width:600px){.festival-inner{grid-template-columns:28px 1fr auto;gap:8px;padding:9px 12px}.festival-diya svg{width:28px;height:32px}.festival-greeting{font-size:12px;line-height:1.5}.festival-details summary{padding:7px 10px;font-size:12px}.festival-offer-card{position:fixed;top:auto;left:12px;right:12px;margin-top:12px;max-height:75dvh;overflow:auto;width:auto;max-width:none}}
@media(prefers-reduced-motion:reduce){.festival-animated .festival-flame,.festival-animated .festival-greeting{animation:none}}
