/* Mhara — festival gift boxes v3.7 · loaded on /gifts pages and with the home banner.
   Look: Diwali at a Shekhawati haveli — marigold toran, diyas, a slowly turning gold rangoli, a kraft box that opens with light.
   Every class starts with gx- so nothing collides with style.css. */
@keyframes gxShimmer{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@keyframes gxFlicker{0%,100%{transform:scale(1,1)}25%{transform:scale(.92,1.08) translateY(-1px)}50%{transform:scale(1.06,.95)}75%{transform:scale(.96,1.05) translateY(-1px)}}
@keyframes gxRise{0%{transform:translateY(0) scale(1);opacity:0}15%{opacity:1}100%{transform:translateY(-320px) scale(.4);opacity:0}}
@keyframes gxSpin{to{transform:rotate(360deg)}}
@keyframes gxHover{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-10px) rotate(-5deg)}}
@keyframes gxPulse{0%,100%{opacity:.7}50%{opacity:1}}
@keyframes gxPop{0%{transform:translateY(16px) scale(.96);opacity:0}100%{transform:none;opacity:1}}
.gx-foil{background:linear-gradient(100deg,#b8862b 0%,#fbe8b0 22%,#d6a640 38%,#fff3cf 50%,#c99a3b 64%,#f6d77a 80%,#a8761a 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gxShimmer 6s linear infinite}
.gx-script{font-family:var(--script);font-style:italic;font-weight:600}
.lang-hi .gx-script{font-family:var(--hindi);font-style:normal;font-weight:400}

/* marigold toran */
.gx-toran{position:absolute;left:0;right:0;top:0;height:46px;z-index:3;pointer-events:none}
.gx-toran i{position:absolute;left:0;right:0;top:0}
.gx-toran .g{height:22px;background:radial-gradient(circle at 50% 50%,#ffc23d 0 6px,#f08a0c 7px 9px,#c25a06 10px,transparent 11px) 0 0/22px 22px repeat-x;filter:drop-shadow(0 4px 4px rgba(0,0,0,.35))}
.gx-toran .l{top:16px;height:30px;background:radial-gradient(ellipse 7px 14px at 50% 40%,#3f7a2a 0 90%,transparent 100%) 33px 0/88px 30px repeat-x}
.gx-toran .d{top:14px;height:34px;background:radial-gradient(circle at 50% 70%,#ffc23d 0 5px,#e0760a 6px 8px,transparent 9px) 0 0/88px 34px repeat-x}
.gx-embers{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.gx-embers i{position:absolute;bottom:40px;width:5px;height:5px;border-radius:50%;background:#ffd36b;box-shadow:0 0 10px 3px rgba(255,190,80,.8);animation:gxRise 7s ease-in infinite}
.gx-mandala{position:absolute;left:50%;top:50%;width:520px;height:520px;margin:-270px 0 0 -260px;animation:gxSpin 140s linear infinite;opacity:.55;pointer-events:none}
.gx-diya{position:relative;width:46px;height:34px;display:inline-block}
.gx-diya .b{position:absolute;left:0;right:0;bottom:0;height:16px;border-radius:0 0 30px 30px;background:linear-gradient(180deg,#d97a2b,#8a3a10)}
.gx-diya .f{position:absolute;left:50%;bottom:13px;width:12px;height:20px;margin-left:-6px;border-radius:50%/60% 60% 40% 40%;background:radial-gradient(circle at 50% 70%,#fff6cf 0 25%,#ffc23d 45%,#ff7a1a 80%);box-shadow:0 0 16px 6px rgba(255,170,60,.55);transform-origin:50% 100%;animation:gxFlicker 1.6s ease-in-out infinite}
.gx-orn{display:flex;align-items:center;gap:14px;justify-content:center}
.gx-orn span{height:1px;width:90px;background:linear-gradient(90deg,transparent,#c08b1b)}
.gx-orn span:last-child{background:linear-gradient(90deg,#c08b1b,transparent)}
.gx-orn i{width:9px;height:9px;transform:rotate(45deg);background:#c08b1b}

/* the kraft gift box (drawn) — sizes via --w on .gx-box */
.gx-box{--w:400px;position:relative;width:var(--w);height:calc(var(--w)*.95);max-width:100%}
.gx-box .rays{position:absolute;left:50%;bottom:30%;width:130%;height:85%;margin-left:-65%;background:conic-gradient(from 200deg at 50% 100%,transparent 0deg,rgba(255,214,120,.38) 8deg,transparent 16deg,rgba(255,214,120,.28) 26deg,transparent 34deg,rgba(255,214,120,.38) 46deg,transparent 56deg,rgba(255,214,120,.25) 66deg,transparent 76deg,rgba(255,214,120,.36) 88deg,transparent 98deg,rgba(255,214,120,.26) 110deg,transparent 120deg,rgba(255,214,120,.34) 132deg,transparent 140deg,transparent 360deg);-webkit-mask:radial-gradient(ellipse at 50% 100%,#000 25%,transparent 72%);mask:radial-gradient(ellipse at 50% 100%,#000 25%,transparent 72%);animation:gxPulse 4s ease-in-out infinite}
.gx-box .gin{position:absolute;left:13%;right:13%;bottom:15%;height:40%;background:linear-gradient(180deg,#6b4527,#8a5d38);border-radius:4px 4px 0 0;box-shadow:inset 0 22px 30px rgba(0,0,0,.45)}
.gx-box .jars{position:absolute;left:0;right:0;bottom:29%;display:flex;gap:6px;align-items:flex-end;justify-content:center;z-index:1}
.gx-box .jars img{height:calc(var(--w)*.5);width:auto;max-width:none;filter:drop-shadow(0 14px 16px rgba(0,0,0,.45));animation:gxPop .5s ease-out both}
.gx-box.n3 .jars img{height:calc(var(--w)*.42)}.gx-box.n4 .jars img{height:calc(var(--w)*.36)}
.gx-box .front{position:absolute;left:8%;right:8%;bottom:0;height:34%;z-index:2;border-radius:3px 3px 12px 12px;background:linear-gradient(180deg,#d2a676 0%,#bf8f5f 55%,#a87849 100%);box-shadow:0 30px 40px rgba(0,0,0,.5),inset 0 2px 0 rgba(255,255,255,.35),inset 0 -14px 24px rgba(0,0,0,.18)}
.gx-box .front:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:7%;margin-left:-3.5%;background:linear-gradient(90deg,#8f6408,#f9e3a3 40%,#d9a83c 60%,#8f6408)}
.gx-box .front:after{content:"";position:absolute;left:0;right:0;top:34%;height:20%;background:linear-gradient(180deg,#8f6408,#f9e3a3 40%,#d9a83c 60%,#8f6408)}
.gx-box .seal{position:absolute;left:50%;bottom:11%;width:16%;aspect-ratio:1;transform:translateX(-50%);z-index:3;border-radius:50%;background:radial-gradient(circle at 38% 32%,#c4452a,#8e2f17 60%,#5e1a0b);box-shadow:0 0 0 3px #e6b64a,0 8px 16px rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;font:900 italic calc(var(--w)*.07) var(--display);color:#f6d77a}
.gx-box .lid{position:absolute;left:4%;right:4%;top:18%;height:15%;z-index:4;border-radius:6px;background:linear-gradient(180deg,#d9ae7e,#b98858);box-shadow:0 20px 30px rgba(0,0,0,.45),inset 0 2px 0 rgba(255,255,255,.35);animation:gxHover 5s ease-in-out infinite}
.gx-box .lid:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:7%;margin-left:-3.5%;background:linear-gradient(90deg,#8f6408,#f9e3a3 40%,#d9a83c 60%,#8f6408)}
.gx-box .bow{position:absolute;left:50%;top:-58%;width:30%;height:75%;transform:translateX(-50%)}
.gx-box .bow i{position:absolute;top:5%;width:48%;height:85%;border:calc(var(--w)*.022) solid #d9a83c;border-radius:50%/60% 60% 40% 40%;box-sizing:border-box}
.gx-box .bow i:first-child{left:0;transform:rotate(-14deg)}.gx-box .bow i:nth-child(2){right:0;transform:rotate(14deg)}
.gx-box .bow b{position:absolute;left:50%;top:40%;width:20%;height:52%;transform:translateX(-50%);border-radius:6px;background:linear-gradient(180deg,#f9e3a3,#b8862b)}
.gx-box .floor{position:absolute;left:-5%;right:-5%;bottom:-6%;height:15%;background:radial-gradient(ellipse at center,rgba(0,0,0,.5),transparent 70%)}
.gx-box.flat .lid{display:none}
.gx-box .photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:5;filter:drop-shadow(0 22px 30px rgba(0,0,0,.5))}

/* hero */
.gx-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse 70% 80% at 72% 70%,#8a3914 0%,#4a1a0b 38%,#1e0904 75%,#130502 100%);color:#f6e2a8}
.gx-hero .vill{position:absolute;inset:0;background:url(/assets/img/gift-village.webp) center/cover;opacity:.09;mix-blend-mode:luminosity}
.gx-hero .in{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:40px;align-items:center;padding-top:96px;padding-bottom:30px}
.gx-hero .copy{display:flex;flex-direction:column;gap:22px;position:relative;z-index:2}
.gx-hero .kick{font-size:30px;line-height:1}
.gx-hero h1{margin:0;font-family:var(--display);font-size:clamp(2.6rem,5.6vw,4.2rem);line-height:1.02;font-weight:900;color:#fcf3e0;letter-spacing:-.01em}
.gx-hero h1 em{font-style:italic}
.gx-hero .sub{margin:0;font-family:var(--script);font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.45;color:#ead6ad;max-width:520px}
.lang-hi .gx-hero .sub{font-family:var(--hindi)}
.gx-hero .ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.gx-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 30px;border-radius:999px;background:linear-gradient(180deg,#fbe39a,#e0ad3c 45%,#b07b14);color:#2a1109;font:800 .88rem var(--body);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:0;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,240,200,.6),0 14px 34px rgba(224,173,60,.45),0 0 50px rgba(255,190,80,.2);transition:transform .2s,box-shadow .2s}
.gx-btn:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px rgba(255,240,200,.7),0 18px 40px rgba(224,173,60,.55)}
.gx-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.gx-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.gx-ghost{display:inline-flex;align-items:center;min-height:54px;border:1px solid rgba(230,182,74,.55);color:#f6e2a8;padding:0 24px;border-radius:999px;font:800 .8rem var(--body);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;background:rgba(252,243,224,.04)}
.gx-clock{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:6px}
.gx-clock .t{display:flex;gap:8px}
.gx-clock .t span{display:flex;flex-direction:column;align-items:center;justify-content:center;width:62px;height:66px;border-radius:14px;background:linear-gradient(180deg,rgba(252,243,224,.12),rgba(252,243,224,.03));border:1px solid rgba(230,182,74,.4)}
.gx-clock .t b{font-family:var(--display);font-size:1.65rem;color:#fcf3e0;line-height:1}
.gx-clock .t small{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:#d7bf93;margin-top:4px}
.gx-clock .w{font-size:.9rem;color:#d7bf93;line-height:1.5}.gx-clock .w b{color:#fcf3e0}
.gx-hero .art{position:relative;display:flex;justify-content:center;align-items:flex-end;min-height:520px}
.gx-hero .card{position:absolute;right:0;bottom:70px;z-index:6;transform:rotate(5deg);background:linear-gradient(160deg,#fffaf0,#f6e2a8);border:1px solid #e6b64a;border-radius:4px;padding:14px 18px 12px;box-shadow:0 18px 34px rgba(0,0,0,.45);max-width:220px;color:#2a1109}
.gx-hero .card span{font-size:.75rem;font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:#8e2f17}
.gx-hero .card p{margin:6px 0 0;font-family:var(--script);font-style:italic;font-size:1.15rem;line-height:1.3}
.gx-hero .card p.f{text-align:right;font-style:normal;font-weight:600;font-size:1rem}
.gx-diyas{position:relative;display:flex;justify-content:center;gap:46px;padding:6px 0 30px;flex-wrap:wrap}
.gx-weave{position:relative;height:18px;background:repeating-linear-gradient(90deg,#c08b1b 0 12px,#8e2f17 12px 16px,#e6b64a 16px 28px,#2a1109 28px 32px);opacity:.9}

/* section heads */
.gx-head{text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center;margin-bottom:54px}
.gx-head .ey{font-size:.75rem;letter-spacing:.34em;text-transform:uppercase;font-weight:800;color:#8e2f17}
.gx-head h2{margin:0;font-family:var(--display);font-size:clamp(2rem,4.2vw,3.1rem);font-weight:900;color:#2a1109;line-height:1.05}
.gx-head h2 em{color:#8e2f17}
.gx-head p{margin:0;color:var(--muted);font-size:1.05rem;max-width:600px}

/* box cards — jharokha arches */
.gx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:30px;align-items:stretch}
.gx-card{position:relative;padding:10px;border-radius:220px 220px 26px 26px;background:linear-gradient(180deg,#e9c46a,#b8862b 50%,#e6b64a);box-shadow:0 26px 56px rgba(42,17,9,.2);transition:transform .35s,box-shadow .35s;display:flex;text-decoration:none;color:inherit}
.gx-card:hover{transform:translateY(-6px);box-shadow:0 40px 70px rgba(42,17,9,.28)}
.gx-card .in{flex-grow:1;overflow:hidden;background:#fcf3e0;display:flex;flex-direction:column;border-radius:212px 212px 18px 18px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.gx-card .sky{position:relative;height:330px;overflow:hidden;background:radial-gradient(ellipse 80% 70% at 50% 85%,#7a3012 0%,#3d1a0e 50%,#1a0904 100%);border-radius:210px 210px 0 0;display:flex;align-items:flex-end;justify-content:center}
.gx-card .rib{position:absolute;top:86px;left:50%;transform:translateX(-50%);z-index:6;background:linear-gradient(180deg,#a8361b,#7a2410);color:#f6d77a;font-size:.75rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;padding:7px 14px;border-radius:999px;box-shadow:0 0 0 1px #e6b64a;white-space:nowrap}
.gx-card .gx-box{--w:300px;margin-bottom:-6px}
.gx-card .body{padding:26px 28px 28px;display:flex;flex-direction:column;gap:12px;flex-grow:1;text-align:center}
.gx-card .kind{font-size:.75rem;letter-spacing:.28em;text-transform:uppercase;font-weight:800;color:#b77c10}
.gx-card h3{margin:0;font-family:var(--display);font-size:1.85rem;font-weight:800;color:#2a1109}
.gx-card .d{margin:0;color:var(--muted);font-size:.95rem;line-height:1.6}
.gx-card ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:9px;text-align:left}
.gx-card li{display:flex;gap:10px;align-items:center;font-size:.9rem;font-weight:600}
.gx-card li:before{content:"";width:8px;height:8px;transform:rotate(45deg);background:#c08b1b;flex:none}
.gx-card .pr{margin-top:auto;padding-top:18px;display:flex;flex-direction:column;align-items:center;gap:4px;border-top:1px solid rgba(192,139,27,.35)}
.gx-card .pr small{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.gx-card .pr span{display:flex;align-items:baseline;gap:10px}
.gx-card .pr b{font-family:var(--display);font-size:2.5rem;font-weight:900;color:#2a1109}
.gx-card .pr s{color:#8a7560;font-size:1rem}
.gx-card .pr .sv{font-size:.82rem;font-weight:800;color:var(--green)}
.gx-card .pr span.go{margin-top:12px;align-self:stretch;display:flex;align-items:center;justify-content:center;min-height:54px;border-radius:999px;background:linear-gradient(180deg,#3d1a0e,#1e0904);color:#f6d77a;font-weight:800;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;box-shadow:inset 0 0 0 1px rgba(230,182,74,.5),0 10px 24px rgba(42,17,9,.3)}
.gx-card.so{filter:grayscale(.5)}.gx-card.so .pr span.go{background:#8a7560;color:#fff}

/* dark "in every box" */
.gx-dark{position:relative;margin:60px 0 0;padding:90px 0;background:radial-gradient(ellipse at 50% 0%,#4a1a0b 0%,#1e0904 70%);overflow:hidden}
.gx-dark:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(230,182,74,.18) 1px,transparent 1.5px) 0 0/26px 26px}
.gx-dark .wrap{display:flex;flex-direction:column;gap:46px}
.gx-dark .gx-head h2{color:#fcf3e0}.gx-dark .gx-head{margin-bottom:0}
.gx-feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:22px}
.gx-feat{position:relative;padding:30px 24px;border-radius:22px;background:linear-gradient(180deg,rgba(252,243,224,.07),rgba(252,243,224,.02));border:1px solid rgba(230,182,74,.3);display:flex;flex-direction:column;gap:14px;align-items:center;text-align:center}
.gx-feat .ic{width:76px;height:76px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,#fbe39a,#c08b1b 60%,#7a5208);box-shadow:0 0 0 6px rgba(230,182,74,.12),0 14px 30px rgba(0,0,0,.4)}
.gx-feat .ic svg{width:32px;height:32px;fill:none;stroke:#2a1109;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gx-feat b{font-family:var(--display);font-size:1.3rem;color:#fcf3e0}
.gx-feat span{font-size:.9rem;line-height:1.6;color:#d7bf93}
.gx-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:26px}
.gx-steps div{display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center;padding:0 12px}
.gx-steps i{width:92px;height:92px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fcf3e0;border:1.5px solid #c08b1b;box-shadow:0 0 0 8px var(--paper),0 0 0 9px rgba(192,139,27,.35),0 16px 34px rgba(42,17,9,.15);font:900 2.3rem var(--display);font-style:normal;color:#8e2f17}
.gx-steps b{font-family:var(--display);font-size:1.4rem;color:#2a1109;margin-top:8px}
.gx-steps span{color:var(--muted);font-size:.95rem;line-height:1.6;max-width:300px}
.gx-bulk{position:relative;overflow:hidden;border-radius:28px;padding:44px 48px;background:linear-gradient(120deg,#2a1109,#4a1a0b 60%,#2a1109);display:flex;gap:30px;align-items:center;flex-wrap:wrap;justify-content:space-between;box-shadow:0 26px 60px rgba(42,17,9,.3)}
.gx-bulk:before{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;border:1px solid rgba(230,182,74,.3);box-shadow:0 0 0 30px rgba(230,182,74,.05),0 0 0 60px rgba(230,182,74,.03)}
.gx-bulk .t{position:relative;display:flex;flex-direction:column;gap:10px;max-width:640px}
.gx-bulk .t small{font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;font-weight:800;color:#e6b64a}
.gx-bulk .t b{font-family:var(--display);font-size:2.1rem;color:#fcf3e0;line-height:1.1}
.gx-bulk .t span{color:#d7bf93;font-size:1rem;line-height:1.6}
.gx-bulk a{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 28px;border-radius:999px;background:var(--wa);color:#fff;font-weight:800;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;box-shadow:0 12px 26px rgba(31,143,58,.4)}
.gx-empty{max-width:640px;margin:0 auto;text-align:center;display:flex;flex-direction:column;gap:16px;align-items:center;padding:90px 20px}

/* ---------- box page (builder) ---------- */
.gx-page{padding:30px 0 90px}
.gx-crumb{display:flex;gap:8px;align-items:center;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.gx-crumb a{color:var(--rust);text-decoration:none;min-height:40px;display:inline-flex;align-items:center}
.gx-split{display:flex;flex-wrap:wrap;gap:34px;align-items:flex-start}
.gx-left{flex:1 1 500px;min-width:0;position:sticky;top:90px;display:flex;flex-direction:column;gap:18px}
.gx-right{flex:1 1 500px;min-width:0;display:flex;flex-direction:column;gap:18px}
.gx-stage{position:relative;border-radius:30px;overflow:hidden;background:radial-gradient(ellipse 80% 70% at 50% 80%,#8a3914 0%,#4a1a0b 40%,#1e0904 80%,#130502 100%);padding:30px 26px 26px;box-shadow:0 34px 70px rgba(42,17,9,.38),inset 0 0 0 1px rgba(230,182,74,.3);min-height:640px}
.gx-stage .vill{position:absolute;inset:0;background:url(/assets/img/gift-village.webp) center/cover;opacity:.08;mix-blend-mode:luminosity}
.gx-stage .gx-mandala{top:40%;width:470px;height:470px;margin:-235px 0 0 -235px;opacity:.5}
.gx-stage .top{position:relative;display:flex;justify-content:space-between;align-items:center;z-index:3;gap:12px}
.gx-stage .top .gx-script{font-size:1.4rem}
.gx-stage .top span.pv{background:rgba(252,243,224,.08);border:1px solid rgba(230,182,74,.4);color:#f6e2a8;padding:7px 14px;border-radius:999px;font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.gx-stage .boxwrap{position:relative;display:flex;justify-content:center;margin-top:14px;z-index:2}
.gx-stage .gx-box{--w:380px}
.gx-cardpv{position:relative;margin:26px auto 0;max-width:400px;z-index:5;transform:rotate(-2deg);border-radius:4px;padding:24px 26px 20px;box-shadow:0 22px 40px rgba(0,0,0,.5);border:1px solid;transition:background .3s}
.gx-cardpv:before{content:"";position:absolute;inset:7px;border:1px solid;border-color:inherit;border-radius:2px;pointer-events:none;opacity:.7}
.gx-cardpv .h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.gx-cardpv .h span{font-size:.75rem;font-weight:800;letter-spacing:.3em;text-transform:uppercase}
.gx-cardpv .h svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.gx-cardpv .m{margin:0;font-family:var(--script);font-style:italic;font-size:1.4rem;line-height:1.35;white-space:pre-line;min-height:58px;overflow-wrap:anywhere}
.gx-cardpv .f{margin:12px 0 0;text-align:right;font-family:var(--script);font-size:1.2rem;font-weight:600}
.gx-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gx-mini div{background:#fffaf0;border:1px solid rgba(192,139,27,.3);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center}
.gx-mini svg{width:22px;height:22px;fill:none;stroke:#8e2f17;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gx-mini b{font-size:.88rem;color:#2a1109}.gx-mini span{font-size:.78rem;color:var(--muted);line-height:1.45}
.gx-title{display:flex;flex-direction:column;gap:8px;padding:4px 4px 6px}
.gx-title .ey{font-size:.75rem;letter-spacing:.32em;text-transform:uppercase;font-weight:800;color:#8e2f17}
.gx-title h1{margin:0;font-family:var(--display);font-size:clamp(2.2rem,4vw,3rem);font-weight:900;color:#2a1109;line-height:1.04}
.gx-title p{margin:0;font-family:var(--script);font-size:1.3rem;color:var(--muted)}
.lang-hi .gx-title p{font-family:var(--hindi);font-size:1.1rem}
.gx-title .by{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;background:#e9f2e4;color:var(--green);font-size:.82rem;font-weight:800;padding:7px 12px;border-radius:999px}
.gx-title .by.late{background:#fbeee0;color:#9a5a12}
.gx-step{position:relative;background:#fffaf0;border:1px solid rgba(192,139,27,.3);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:16px;box-shadow:0 14px 34px rgba(42,17,9,.07)}
.gx-sh{display:flex;align-items:center;gap:14px}
.gx-sh i{width:38px;height:38px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,#fbe39a,#c08b1b 60%,#7a5208);color:#2a1109;font:900 1.05rem var(--display);font-style:normal;box-shadow:0 6px 14px rgba(192,139,27,.35)}
.gx-sh h2{margin:0;font:800 1.4rem var(--display);color:#2a1109}
.gx-sh small{margin-left:auto;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.gx-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.gx-opt{position:relative;text-align:left;cursor:pointer;border-radius:18px;padding:16px 14px;min-height:108px;display:flex;flex-direction:column;gap:4px;font-family:var(--body);background:#fff;color:#2b1a12;border:1.5px solid rgba(192,139,27,.35);transition:all .2s;text-decoration:none}
.gx-opt b{font-family:var(--display);font-size:1.05rem}
.gx-opt span{font-size:.75rem;opacity:.8}
.gx-opt em{font-style:normal;font-size:1rem;font-weight:800;margin-top:auto;color:#2a1109}
.gx-opt.on{background:linear-gradient(180deg,#3d1a0e,#1e0904);color:#f6e2a8;border-color:#c08b1b;box-shadow:0 14px 28px rgba(42,17,9,.3),inset 0 0 0 1px rgba(230,182,74,.4)}
.gx-opt.on em{color:#f0c860}
.gx-opt.so{opacity:.5;cursor:not-allowed}
.gx-slot{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:18px;background:#fff;border:1px solid rgba(192,139,27,.25)}
.gx-slot .n{font-size:.75rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#8e2f17}
.gx-prods{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.gx-prod{cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border-radius:14px;font:700 .82rem var(--body);background:#fff;color:#2b1a12;border:1.5px solid rgba(192,139,27,.25);min-height:104px;text-align:center}
.gx-prod img{height:62px;width:auto}
.gx-prod.on{background:#fff4e0;border-color:#c08b1b;box-shadow:0 0 0 3px rgba(230,182,74,.25)}
.gx-sizes{display:inline-flex;flex-wrap:wrap;align-self:flex-start;padding:4px;border-radius:14px;background:#f3e6cc;gap:4px}
.gx-sizes button{cursor:pointer;min-height:44px;padding:0 18px;border-radius:10px;font:800 .88rem var(--body);background:transparent;color:var(--muted);border:0}
.gx-sizes button.on{background:#2a1109;color:#f6e2a8}
.gx-sizes button:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.gx-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}
.gx-cd{cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px;border-radius:16px;font:700 .82rem var(--body);background:#fff;color:#2b1a12;border:1.5px solid rgba(192,139,27,.3);min-height:104px}
.gx-cd span{width:100%;height:58px;border-radius:8px;box-shadow:inset 0 0 0 4px rgba(255,255,255,.25)}
.gx-cd.on{border-color:#c08b1b;box-shadow:0 0 0 4px rgba(230,182,74,.35)}
.gx-fld{display:flex;flex-direction:column;gap:7px}
.gx-fld label{font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.gx-fld input,.gx-fld textarea{font:600 1rem var(--body);color:#2b1a12;background:#fff;border:1.5px solid rgba(192,139,27,.4);border-radius:14px;padding:14px 15px;outline:none;transition:border-color .2s,box-shadow .2s;width:100%;box-sizing:border-box}
.gx-fld input:focus,.gx-fld textarea:focus{border-color:#c08b1b;box-shadow:0 0 0 4px rgba(230,182,74,.25)}
.gx-fld textarea{resize:vertical;min-height:108px;line-height:1.55;font-family:var(--script);font-size:1.25rem;font-style:italic}
.lang-hi .gx-fld textarea{font-family:var(--body);font-style:normal;font-size:1rem}
.gx-fld .cnt{font-size:.75rem;color:var(--muted);text-align:right}
.gx-fld.bad input,.gx-fld.bad textarea{border-color:#b23a3a;box-shadow:0 0 0 4px rgba(178,58,58,.12)}
.gx-fld .er{display:none;font-size:.78rem;font-weight:700;color:#b23a3a}.gx-fld.bad .er{display:block}
.gx-g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gx-g2 .full{grid-column:1/-1}
.gx-who{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gx-who button{cursor:pointer;text-align:left;min-height:72px;padding:14px 16px;border-radius:16px;font-family:var(--body);background:#fff;color:#2b1a12;border:1.5px solid rgba(192,139,27,.35)}
.gx-who button b{display:block;font-size:.95rem}.gx-who button span{font-size:.78rem;opacity:.8}
.gx-who button.on{background:linear-gradient(180deg,#3d1a0e,#1e0904);color:#f6e2a8;border-color:#c08b1b}
.gx-check{display:flex;gap:12px;align-items:flex-start;font-size:.9rem;color:#2b1a12;cursor:pointer;min-height:44px;padding:14px;border-radius:14px;background:#fff4e0}
.gx-check input{width:20px;height:20px;accent-color:#8e2f17;margin-top:2px;flex:none}
.gx-check span span{color:var(--muted)}
.gx-ticket{position:relative;background:linear-gradient(180deg,#2a1109,#1a0904);color:#f6e2a8;border-radius:24px;padding:26px 26px 24px;box-shadow:0 30px 60px rgba(42,17,9,.35),inset 0 0 0 1px rgba(230,182,74,.35)}
.gx-ticket:before,.gx-ticket:after{content:"";position:absolute;top:50%;width:26px;height:26px;margin-top:-13px;border-radius:50%;background:var(--paper)}
.gx-ticket:before{left:-13px}.gx-ticket:after{right:-13px}
.gx-ticket .hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:10px;flex-wrap:wrap}
.gx-ticket .hd small{font-size:.75rem;font-weight:800;letter-spacing:.26em;text-transform:uppercase;color:#e6b64a}
.gx-ticket .hd span{font-size:.78rem;color:#c9b083}
.gx-lines{display:flex;flex-direction:column;gap:9px;padding-bottom:14px}
.gx-lines div{display:flex;justify-content:space-between;gap:12px;font-size:.9rem;color:#e5cf9f}
.gx-lines div b{font-weight:700;white-space:nowrap}.gx-lines div b.g{color:#8fd19e}
.gx-perf{height:0;border-top:2px dashed rgba(230,182,74,.35);margin:6px -26px}
.gx-tot{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;padding-top:16px}
.gx-tot small{display:block;font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#e6b64a}
.gx-tot .sv{font-size:.82rem;font-weight:800;color:#8fd19e}
.gx-tot span{display:flex;align-items:baseline;gap:12px}.gx-tot s{color:#a58d6a;font-size:1rem}
.gx-tot b{font-family:var(--display);font-size:2.9rem;font-weight:900;line-height:1}
.gx-ticket .gx-btn{width:100%;margin-top:18px;min-height:60px}
.gx-ticket .nt{display:block;margin-top:12px;font-size:.75rem;color:#c9b083;text-align:center}
.gx-err{display:none;margin-top:12px;padding:12px 14px;border-radius:12px;background:rgba(178,58,58,.18);color:#ffd6cc;font-weight:700;font-size:.85rem}
.gx-err.show{display:block}

/* mobile bar */
.gx-mbar{display:none}
@media (max-width:900px){
  .gx-left{position:relative;top:0}
  .gx-stage{min-height:0;padding:22px 16px 20px}
  .gx-stage .gx-box{--w:min(320px,78vw)}
  .gx-mini{grid-template-columns:1fr 1fr 1fr;gap:8px}.gx-mini div{padding:12px 8px}.gx-mini span{display:none}
  .gx-hero .in{padding-top:70px}
  .gx-hero .art{min-height:400px}.gx-hero .art .gx-box{--w:min(330px,82vw)}.gx-hero .card{right:4px;bottom:20px;max-width:180px}
  .gx-mandala{width:380px;height:380px;margin:-200px 0 0 -190px}
  .gx-mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:linear-gradient(180deg,#2a1109,#1a0904);padding:12px 16px calc(14px + env(safe-area-inset-bottom));align-items:center;gap:12px;box-shadow:0 -14px 34px rgba(42,17,9,.4),inset 0 1px 0 rgba(230,182,74,.45);border-radius:22px 22px 0 0}
  .gx-mbar .p{flex-grow:1;display:flex;flex-direction:column;gap:2px}
  .gx-mbar .p span{font-size:.75rem;color:#c9b083}.gx-mbar .p span b{color:#8fd19e}
  .gx-mbar .p strong{font:900 1.8rem/1 var(--display);color:#fcf3e0}
  .gx-mbar .gx-btn{min-height:52px;padding:0 22px}
  body.gx-builder .tabbar,body.gx-builder .fab{display:none}
  body.gx-builder{padding-bottom:90px}
}
@media (max-width:560px){
  .gx-g2,.gx-who{grid-template-columns:1fr}
  .gx-card .sky{height:290px}.gx-card .gx-box{--w:260px}
  .gx-bulk{padding:30px 24px}
  .gx-clock .t span{width:54px;height:58px}
}

/* ---------- home page banner ---------- */
.gx-banner{padding:40px 0 10px}
.gx-banner .bx{position:relative;border-radius:30px;overflow:hidden;background:radial-gradient(ellipse 60% 90% at 78% 75%,#8a3914 0%,#4a1a0b 40%,#1e0904 78%,#130502 100%);box-shadow:0 30px 70px rgba(42,17,9,.4),inset 0 0 0 1px rgba(230,182,74,.35);display:flex;align-items:center;justify-content:space-between;gap:30px;padding:56px 64px 0;flex-wrap:wrap;color:#f6e2a8}
.gx-banner .vill{position:absolute;inset:0;background:url(/assets/img/gift-village.webp) center/cover;opacity:.09;mix-blend-mode:luminosity}
.gx-banner .t{position:relative;z-index:2;display:flex;flex-direction:column;gap:16px;max-width:580px;padding-bottom:40px}
.gx-banner .t .gx-script{font-size:1.7rem;line-height:1}
.gx-banner h2{margin:0;font-family:var(--display);font-size:clamp(2.1rem,4.4vw,3.5rem);line-height:1.02;font-weight:900;color:#fcf3e0}
.gx-banner h2 em{font-style:italic}
.gx-banner p{margin:0;font-family:var(--script);font-size:1.35rem;color:#ead6ad;line-height:1.4}
.lang-hi .gx-banner p{font-family:var(--hindi);font-size:1.1rem}
.gx-banner .row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:6px}
.gx-banner .art{position:relative;z-index:2;flex:none;align-self:flex-end;margin-bottom:24px}
.gx-banner .art .gx-box{--w:360px}
@media (max-width:760px){.gx-banner .bx{padding:44px 22px 0;justify-content:center}.gx-banner .art{margin:0 auto 20px}.gx-banner .art .gx-box{--w:min(300px,78vw)}.gx-banner .t{padding-bottom:0}}

@media (prefers-reduced-motion:reduce){.gx-foil,.gx-embers i,.gx-mandala,.gx-diya .f,.gx-box .lid,.gx-box .rays,.gx-box .jars img{animation:none}}

/* checkout sheet: the little box on the left */
.gx-sbox{position:relative;display:flex;justify-content:center;margin:14px 0 8px;z-index:1}
.gx-sbox .gx-box{--w:230px}
.gx-sbox .gx-box .lid{animation:none}
.gx-prod:disabled{opacity:.5;cursor:not-allowed}.gx-prod small{font-size:.75rem;color:#b23a3a;font-weight:800}
@media (max-width:560px){.gx-diyas{gap:12px;flex-wrap:nowrap}.gx-diyas .gx-diya{width:34px;height:30px}}

/* v3.9 U26: a disabled "email them" box reads as off, not broken */
.gx-check input:disabled{cursor:default}.gx-check:has(input:disabled){cursor:default}
/* v3.9.2 — home gift banner: same breathing space above and below (section padding above + this padding below) */
.gx-banner{padding:0 0 var(--gb-gap,100px)}
/* v3.10.5: four boxes sit 2 × 2 on wide screens (four in a row was too narrow for the box art) */
@media (min-width:761px){.gx-grid.n4{grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px;margin-left:auto;margin-right:auto}}
