/* Diwali greeting (shown only during the festival window, see app/Views/diwali.php) */
.dw-lights { position: fixed; top: 0; left: 0; right: 0; height: 30px; z-index: 1051; display: flex; justify-content: space-between; pointer-events: none; overflow: hidden; }
.dw-lights::before { content: ""; position: absolute; left: -2%; right: -2%; top: -9px; height: 18px; border-bottom: 2px solid #5a3a16; border-radius: 0 0 50% 50%; opacity: .75; }
.dw-lights span { position: relative; width: 9px; height: 13px; margin-top: 4px; border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; background: var(--c, #ffb12e); box-shadow: 0 0 10px 3px var(--c, #ffb12e); animation: dw-twinkle 1.6s ease-in-out infinite; animation-delay: calc(var(--i) * -.23s); }
.dw-lights span:nth-child(4n+1) { --c: #ffb12e; margin-top: 8px; }
.dw-lights span:nth-child(4n+2) { --c: #ff5a5f; }
.dw-lights span:nth-child(4n+3) { --c: #ffd76a; margin-top: 9px; }
.dw-lights span:nth-child(4n) { --c: #4be08a; }
@keyframes dw-twinkle { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.8); } }

.dw-canvas { position: fixed; inset: 0; width: 100%; height: 100%; z-index: 1040; pointer-events: none; }

.dw-card { position: fixed; left: 18px; bottom: 18px; z-index: 1045; width: 340px; max-width: calc(100vw - 36px); display: flex; align-items: center; gap: 12px; padding: 16px 18px 16px 12px; color: #fff; background: radial-gradient(circle at 15% 0%, rgba(255, 177, 46, .35), transparent 55%), linear-gradient(135deg, #3b0f1e 0%, #6a1b2c 55%, #8a2a1c 100%); border: 1px solid rgba(255, 215, 106, .45); border-radius: 20px; box-shadow: 0 18px 44px rgba(59, 15, 30, .55), 0 0 0 4px rgba(255, 177, 46, .12); animation: dw-in .8s cubic-bezier(.2, .9, .2, 1) both .6s; }
@keyframes dw-in { from { opacity: 0; transform: translateY(40px) scale(.92); } to { opacity: 1; transform: none; } }
.dw-card.is-closed { display: none; }
.dw-x { position: absolute; top: 6px; right: 8px; width: 26px; height: 26px; font-size: 18px; line-height: 1; color: rgba(255, 255, 255, .8); background: rgba(255, 255, 255, .12); border: 0; border-radius: 50%; cursor: pointer; }
.dw-x:hover { background: rgba(255, 255, 255, .25); color: #fff; }
.dw-diya { flex: 0 0 auto; }
.dw-diya svg { display: block; overflow: visible; }
.dw-flame { transform-box: fill-box; transform-origin: 50% 100%; animation: dw-flicker 1.1s ease-in-out infinite; }
.dw-flame-in { animation-duration: .8s; animation-delay: -.3s; }
.dw-glow { animation: dw-glow 2.2s ease-in-out infinite; }
@keyframes dw-flicker { 0%, 100% { transform: scale(1, 1) rotate(-2deg); } 35% { transform: scale(.92, 1.08) rotate(2deg); } 70% { transform: scale(1.05, .94) rotate(-1deg); } }
@keyframes dw-glow { 0%, 100% { opacity: .85; } 50% { opacity: .45; } }
.dw-txt { min-width: 0; padding-right: 14px; }
.dw-eyebrow { display: block; margin-bottom: 3px; font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #ffd76a; }
.dw-txt strong { display: block; font-size: 18px; line-height: 1.25; font-weight: 800; color: #fff; }
.dw-txt p { margin: 5px 0 10px; font-size: 13px; line-height: 1.5; color: rgba(255, 255, 255, .85); text-align: left; }
.dw-txt p b { color: #ffd76a; }
.dw-apply { display: inline-flex; align-items: center; gap: 8px; padding: 8px 18px; font-size: 13.5px; font-weight: 700; color: #4a1410; background: linear-gradient(135deg, #ffd76a, #ffb12e); border: 0; border-radius: 50px; cursor: pointer; box-shadow: 0 8px 18px rgba(255, 177, 46, .4); transition: transform .2s; }
.dw-apply:hover { transform: translateY(-2px); }
@media (max-width: 767.98px) {
  .dw-card { left: 10px; right: 10px; bottom: 84px; width: auto; max-width: none; }
  .dw-diya svg { width: 64px; height: 54px; }
  .dw-txt strong { font-size: 16px; }
  .dw-lights span { width: 7px; height: 10px; }
}
@media (prefers-reduced-motion: reduce) { .dw-lights span, .dw-flame, .dw-glow, .dw-card { animation: none; } .dw-canvas { display: none; } }
