/* Temporary Diwali layer. Loaded only while inc/diwali.php says it is on. */
.announcement-bar{position:relative}
.dw-strip{display:block;overflow:hidden;color:inherit;text-decoration:none}
.dw-strip:hover{color:inherit}
.dw-track{display:inline-flex;width:max-content;animation:dwMarquee 42s linear infinite}
.dw-set{display:inline-flex;align-items:center;gap:10px;padding-right:10px;white-space:nowrap}
.dw-set>span{margin-right:14px}
.dw-diya{flex:none;vertical-align:middle}
.dw-flame{transform-origin:50% 90%;animation:dwFlicker 1.6s ease-in-out infinite}
@keyframes dwMarquee{to{transform:translate3d(-50%,0,0)}}
@keyframes dwFlicker{50%{transform:scale(.88,1.08)}}

/* Garland and lanterns hang off the sticky header and never catch a tap. */
.dw-garland{position:absolute;left:0;right:0;top:100%;height:20px;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='20'%3E%3Cpath d='M0 3Q14 17 28 3T56 3' stroke='%232E6B3F' stroke-width='1.5' fill='none'/%3E%3Ccircle cx='7' cy='8' r='4' fill='%23F08A24'/%3E%3Ccircle cx='14' cy='10' r='4.5' fill='%23F7C331'/%3E%3Ccircle cx='21' cy='8' r='4' fill='%23F08A24'/%3E%3Cpath d='M28 3l4 3-4 3-4-3z' fill='%232E6B3F'/%3E%3Ccircle cx='35' cy='6' r='3.5' fill='%23F7C331'/%3E%3Ccircle cx='42' cy='5' r='3.5' fill='%23F08A24'/%3E%3Ccircle cx='49' cy='5' r='3.5' fill='%23F7C331'/%3E%3C/svg%3E") repeat-x}
.dw-lantern{position:absolute;top:100%;width:44px;pointer-events:none;transform-origin:50% 0;animation:dwSway 5s ease-in-out infinite}
.dw-lantern.l{left:24px}.dw-lantern.r{right:24px;animation-delay:-2.5s}
@keyframes dwSway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@media (max-width:900px){.dw-lantern{display:none}}

/* Hero */
.dw-hero{position:relative;overflow:hidden;background:#0D0D12;color:#FFF8E7}
.dw-hero-in{display:grid;grid-template-columns:1fr}
/* Wide screens: the artwork, extended sideways, fills the section edge to edge. */
@media (min-width:901px){
  .dw-hero{min-height:clamp(500px,33.3vw,720px);display:flex;align-items:center;padding:0}
  .dw-hero picture{position:absolute;inset:0}
  .dw-hero picture img{width:100%;height:100%;object-fit:cover;object-position:left center}
  .dw-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 52%,rgba(13,13,18,.8) 68%,rgba(13,13,18,.92))}
  .dw-hero-in{display:flex;justify-content:flex-end;width:100%;max-width:1640px;margin:0 auto}
  .dw-hero-offer{position:relative;z-index:1;width:min(36vw,480px)}
}
.dw-hero picture,.dw-hero img{display:block;width:100%;height:auto}
.dw-hero-offer{padding:28px 36px}
.dw-eyebrow{color:#E3B94F;font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
.dw-hero h2{margin:8px 0;color:#fff;font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.1}
.dw-hero-offer p{margin:0 0 14px;color:#FFF8E7}
.dw-code{display:block;width:100%;margin:0 0 12px;padding:12px;border:1.5px dashed #E3B94F;border-radius:10px;background:rgba(227,185,79,.12);color:#fff;font-size:1.25rem;letter-spacing:.08em;cursor:pointer}
.dw-code small{display:block;margin-top:2px;color:#E3B94F;font-size:.72rem;letter-spacing:.02em}
.dw-shop{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding-top:0;padding-bottom:0}
.dw-hero-offer .dw-count{margin:14px 0 2px;font-size:.95rem}
.dw-count b{color:#E3B94F;font-variant-numeric:tabular-nums}
.dw-hero-offer .dw-fine{margin:0;font-size:.78rem;opacity:.8}

/* Both ghee lines */
.dw-lines{padding:28px 0;background:#FFF6E3}
.dw-lines .wrap{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dw-line{display:flex;align-items:center;gap:14px;padding:12px;background:#fff;border:1px solid #EAD9AE;border-radius:12px;color:#1F3D2B;text-decoration:none}
.dw-line img{flex:none;width:110px;height:110px;object-fit:contain}
.dw-line>span{display:flex;flex-direction:column;gap:5px}
.dw-line-p s{opacity:.6}
.dw-line-go{color:#A8832A;font-weight:600;font-size:.88rem}

/* Home: rangoli dividers and a warm glow */
.dw-rangoli{display:block;width:72px;height:72px;margin:-36px auto;position:relative;z-index:1;pointer-events:none;animation:dwTurn 50s linear infinite}
@keyframes dwTurn{to{transform:rotate(360deg)}}
.dw-home .dn-section--cream{background-image:radial-gradient(ellipse at 50% 0,rgba(245,184,61,.16),transparent 65%)}

/* Product page and cart */
.dw-offer{position:relative;overflow:hidden;margin:14px 0 16px;padding:16px 18px;border-radius:14px;color:#FFF8E7;border:1.5px solid #E3B94F;
  background:radial-gradient(circle at 92% 8%,rgba(240,138,36,.38),transparent 42%),radial-gradient(circle at 4% 100%,rgba(214,51,108,.2),transparent 45%),#14141C;box-shadow:0 8px 22px rgba(31,61,43,.18)}
.dw-offer::before{content:"";position:absolute;top:0;bottom:0;left:-40%;width:30%;pointer-events:none;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,224,150,.16),transparent);animation:dwShine 5s ease-in-out infinite}
@keyframes dwShine{0%,55%{left:-40%}100%{left:120%}}
.dw-offer>*{position:relative}
.dw-offer [hidden]{display:none!important}
.dw-offer-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.dw-offer-tag{display:inline-flex;align-items:center;gap:7px;color:#E3B94F;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.dw-offer-pct{padding:4px 10px;border-radius:20px;background:#E2502C;color:#fff;font-size:.8rem;font-weight:800;letter-spacing:.03em}
.dw-offer p{margin:0}
.dw-offer-price{color:#fff;font-size:1.12rem;line-height:1.25}
.dw-offer-price b{color:#F7C85A;font-size:1.75rem;font-weight:800;margin-left:2px}
.dw-offer p.dw-offer-save{margin-top:4px;color:#F4E9D2;font-size:.86rem;line-height:1.4}
.dw-offer-save b{color:#F7C85A}
.dw-offer-act{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:13px}
.dw-offer-code{min-height:50px;padding:5px 14px;border:1.5px dashed #E3B94F;border-radius:9px;background:rgba(227,185,79,.13);color:#fff;cursor:pointer;letter-spacing:.07em;font-size:.98rem;line-height:1.2}
.dw-offer-code small{display:block;color:#E3B94F;font-size:.66rem;letter-spacing:.02em}
.dw-offer-go{min-height:50px;padding:8px 12px;border:0;border-radius:9px;background:#F5B83D;color:#1B1B14;font-weight:800;font-size:.95rem;line-height:1.2;cursor:pointer}
.dw-offer-go:hover{background:#FFC94F}
.dw-offer-go[disabled]{opacity:.7;cursor:default}
.dw-offer p.dw-offer-msg{margin-top:9px;color:#FFD9CC;font-size:.84rem}
.dw-offer p.dw-offer-end{margin-top:11px;color:#F4E9D2;font-size:.78rem}
.dw-offer-end b{color:#F7C85A;font-variant-numeric:tabular-nums}
/* The card replaces the smaller offer lines on these pages. */
.dw-light .po-best,.dw-light #dwMin{display:none!important}
.dw-note{display:flex;align-items:center;gap:9px;margin:4px 0 12px;padding:9px 12px;background:#FFF6E3;border:1px solid #EAD9AE;border-radius:8px;font-size:.86rem;color:#1F3D2B}
.dw-note[hidden]{display:none!important}
.po-code[data-dw-copy]{cursor:pointer;text-decoration:underline dotted}
.dw-apply{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 12px;padding:10px 12px;background:#FFF6E3;border:1px dashed #C99B2E;border-radius:10px;font-size:.88rem;font-weight:600;color:#1F3D2B}
.dw-apply button{margin-left:auto;padding:7px 14px;border:0;border-radius:7px;background:#1F3D2B;color:#fff;font-weight:700;cursor:pointer}
.dw-apply p{flex-basis:100%;margin:0;font-weight:400;color:#A33}

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

/* The device's reduce-motion setting: decorations stay, motion stops. */
.dw-still .dw-track,.dw-still .dw-flame,.dw-still .dw-lantern,.dw-still .dw-rangoli{animation:none}
.dw-still .dw-offer::before{display:none}
@media (prefers-reduced-motion:reduce){
  .dw-track,.dw-flame,.dw-lantern,.dw-rangoli{animation:none}
  .dw-offer::before{display:none}
}

@media (max-width:900px){
  .dw-hero-offer{padding:18px 16px 22px;text-align:center}
}
@media (max-width:640px){
  .dw-lines{padding:18px 0}
  .dw-lines .wrap{grid-template-columns:1fr;gap:10px}
  .dw-line img{width:84px;height:84px}
  .dw-diya{width:18px;height:18px}
  .dw-offer{padding:14px}
  .dw-offer-act{grid-template-columns:1fr}
  .dw-offer-code{display:flex;align-items:center;justify-content:center;gap:10px}
}
