/* ===== Registration type chooser + forms ===== */
.fpage .wrap{max-width:900px;padding-top:30px;padding-bottom:50px}
.regh{padding-top:26px}
.fees{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px}
.fees span{font-size:.85rem;font-weight:600;color:var(--navy,#1b2f7a);padding:7px 16px;border-radius:999px;background:#fff;border:1px solid rgba(27,47,122,.15);box-shadow:0 6px 16px rgba(27,47,122,.08)}
.fees b{color:var(--maroon);margin-left:4px}
.rtype{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:30px 0 8px}
.rcard{display:block;text-decoration:none;position:relative;text-align:center;cursor:pointer;font:inherit;border:2px solid transparent;border-radius:26px;padding:34px 24px 26px;background:linear-gradient(180deg,#fff,#fff8f0);box-shadow:0 14px 36px rgba(77,26,32,.14);overflow:hidden;transition:transform .35s cubic-bezier(.2,1,.3,1),box-shadow .35s,border-color .3s}
.rcard:before{content:'';position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--saffron,#f58220),#fff,var(--india-green,#1f8a3b))}
.rcard:hover,.rcard:focus-visible{transform:translateY(-8px);box-shadow:0 26px 54px rgba(77,26,32,.24);outline:0}
.rcard.sel{border-color:var(--gold,#d99a2b);box-shadow:0 22px 48px rgba(217,154,43,.35)}
.rc-ic{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 14px;border-radius:20px;background:linear-gradient(135deg,var(--maroon2,#7a2a35),var(--maroon,#4d1a20));box-shadow:0 10px 22px rgba(77,26,32,.3);transition:transform .4s}
.rcard2 .rc-ic{background:linear-gradient(135deg,#2b3d85,#1b2f7a)}
.rcard:hover .rc-ic{transform:rotate(-6deg) scale(1.08)}
.rc-ic svg{width:30px;height:30px;fill:#fff}
.rcard h3{font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--maroon);margin-bottom:6px}
.rc-sub{font-size:.95rem;font-weight:600;color:var(--navy,#1b2f7a);margin-bottom:14px;line-height:1.4}
.rc-go{display:inline-block;font-size:.82rem;font-weight:600;color:#fff;padding:8px 18px;border-radius:999px;background:linear-gradient(135deg,var(--saffron,#f58220),#e0670c);transition:padding .3s}
.rcard:hover .rc-go{padding:8px 24px}
.rcard.sel .rc-go{background:linear-gradient(135deg,var(--india-green,#1f8a3b),#2ea857)}
.rcard.sel .rc-go:after{content:' \2713'}
.rtype.picked .rcard:not(.sel){opacity:.6;transform:scale(.97)}
.rtype.picked .rcard:not(.sel):hover{opacity:1;transform:translateY(-4px)}
.regf{display:none}
.regf.show{display:block}
html:not(.js) .regf:target{display:block}   /* works even if JavaScript is blocked */
.regf.show{animation:rfIn .6s cubic-bezier(.2,1,.3,1)}
@keyframes rfIn{from{opacity:0;transform:translateY(26px)}}
.regf{margin-top:24px}
.rback{border:0;background:rgba(77,26,32,.08);color:var(--maroon);font:600 .85rem 'Poppins',sans-serif;padding:8px 16px;border-radius:999px;cursor:pointer;margin-bottom:8px;transition:.3s}
.rback:hover{background:var(--maroon);color:#fff}
.regf h2{font-size:clamp(1.3rem,4vw,1.8rem)}
.auto{font-weight:500;color:var(--muted,#6b5a5d);font-size:.75rem}
.payshow{background:#f7f1ea;cursor:default;font-weight:600;color:var(--muted,#6b5a5d)}
.payshow.filled{background:linear-gradient(135deg,#e7f6ec,#f1fbf4);border-color:#1f8a3b;color:#14663a}
.payshow:focus{box-shadow:none;border-color:#e4d3d5}
@media(max-width:700px){.rtype{grid-template-columns:1fr;gap:16px}.rcard{padding:28px 18px 22px}.form{padding:24px 18px}.form .row{grid-template-columns:1fr;gap:0}}

/* ===== Pay Now: designed QR card + payment details form ===== */
.paylink{text-align:center;margin:14px 0 0;font-size:.9rem;color:var(--muted)}
.paylink a{color:var(--maroon);font-weight:600;border-bottom:1.5px solid var(--gold);padding-bottom:1px}
.paylink a:hover{color:var(--maroon2)}
.payw{max-width:1000px}
.payp-page{margin:22px auto 10px;background:linear-gradient(180deg,#fff,#fff8f0);border-radius:28px;box-shadow:0 24px 60px rgba(77,26,32,.16);position:relative;overflow:hidden}
.payp-page:before,.paym-card:before{content:'';position:absolute;left:0;right:0;top:0;height:7px;background:linear-gradient(90deg,var(--saffron,#f58220) 33.3%,#fff 33.3% 66.6%,var(--india-green,#1f8a3b) 66.6%);z-index:2}
.payp{padding:34px clamp(16px,4vw,38px) 30px}
.payp-head{text-align:center;margin-bottom:22px}
.payp-chip{display:inline-block;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--maroon);padding:6px 16px;border-radius:999px;background:rgba(217,154,43,.2);border:1px solid rgba(217,154,43,.5)}
.payp-title{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,5.4vw,2.5rem);color:var(--maroon);margin:12px 0 6px;line-height:1.15}
.payp-title:after{display:none}
.payp-amt{display:inline-block;margin-left:6px;padding:0 16px;border-radius:16px;background:linear-gradient(135deg,var(--maroon),var(--maroon2));color:#ffe3a6;box-shadow:0 10px 24px rgba(77,26,32,.3)}
.payp.pulse .payp-amt{animation:payPop .7s cubic-bezier(.2,1,.3,1)}
@keyframes payPop{0%{transform:scale(.8)}60%{transform:scale(1.08)}100%{transform:scale(1)}}
.payp-sub{color:var(--muted);font-size:.95rem;max-width:560px;margin:0 auto}
.payp-grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:clamp(18px,4vw,40px);align-items:start}
/* the QR card */
.qrcard{position:relative;text-align:center;color:#fff;border-radius:26px;padding:22px 22px 20px;background:linear-gradient(160deg,#4d1a20,#7a2a35 60%,#4d1a20);border:2px solid #d99a2b;box-shadow:0 22px 50px rgba(77,26,32,.35),inset 0 0 0 5px rgba(255,255,255,.06);overflow:hidden}
.qrcard:before{content:'';position:absolute;inset:0;pointer-events:none;background:conic-gradient(rgba(246,210,140,.07) 25%,transparent 0 50%,rgba(246,210,140,.07) 0 75%,transparent 0) 0 0/44px 44px}
.qrcard>*{position:relative}
.qr-top{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#ffd98a}
.qr-top small{font-size:.7rem;letter-spacing:.05em;text-transform:none;font-weight:500;color:#f3dfe2;background:rgba(255,255,255,.12);padding:4px 10px;border-radius:999px}
.qr-name{font-family:'Playfair Display',serif;font-size:1.45rem;margin:12px 0 14px;letter-spacing:.04em}
.qr-frame{position:relative;width:min(260px,100%);margin:0 auto;padding:14px;background:#fff;border-radius:20px;box-shadow:0 14px 30px rgba(0,0,0,.35);overflow:hidden}
.qr-frame img{display:block;width:100%;height:auto;image-rendering:pixelated;border-radius:6px}
.qr-frame i{position:absolute;width:26px;height:26px;border:4px solid #d99a2b}
.qr-frame .c1{left:6px;top:6px;border-right:0;border-bottom:0;border-radius:10px 0 0 0}.qr-frame .c2{right:6px;top:6px;border-left:0;border-bottom:0;border-radius:0 10px 0 0}
.qr-frame .c3{left:6px;bottom:6px;border-right:0;border-top:0;border-radius:0 0 0 10px}.qr-frame .c4{right:6px;bottom:6px;border-left:0;border-top:0;border-radius:0 0 10px 0}
.qr-scan{position:absolute;left:10px;right:10px;top:10px;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,#d99a2b,transparent);box-shadow:0 0 14px 3px rgba(217,154,43,.6);animation:qrScan 2.8s ease-in-out infinite}
@keyframes qrScan{0%,100%{top:10px;opacity:0}12%,88%{opacity:1}50%{top:calc(100% - 13px)}}
.qr-amt{margin:16px 0 12px;font-size:.95rem;color:#f3dfe2}
.qr-amt b{display:inline-block;margin-left:6px;font-size:1.5rem;color:#1a0b0e;background:linear-gradient(135deg,#ffe3a6,#d99a2b);padding:2px 16px;border-radius:12px}
.qr-upi{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;background:rgba(255,255,255,.1);border:1px dashed rgba(255,217,138,.6);border-radius:14px;padding:8px 10px;font-size:.8rem}
.qr-upi span{color:#ffd98a;font-weight:600}
.qr-upi code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.82rem;color:#fff;word-break:break-all}
.qr-copy{border:0;cursor:pointer;font:600 .74rem 'Poppins',sans-serif;padding:5px 12px;border-radius:999px;background:#ffd98a;color:#4d1a20;transition:.25s}
.qr-copy:hover{background:#fff}
.qr-app{display:none;margin:14px auto 0;padding:12px 22px;border-radius:999px;font-weight:700;font-size:.92rem;color:#4d1a20;background:linear-gradient(135deg,#ffe3a6,#d99a2b);box-shadow:0 10px 22px rgba(0,0,0,.3)}
.qr-foot{margin-top:14px;font-size:.74rem;color:#e8cfd3}
/* the form side */
.payf{min-width:0}
.paysteps{list-style:none;display:flex;gap:10px;flex-wrap:wrap;margin:0 0 6px;padding:0}
.paysteps li{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;color:var(--muted);padding:6px 14px 6px 6px;border-radius:999px;background:#f7f1ea}
.paysteps i{font-style:normal;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e4d3d5;color:var(--maroon);font-size:.78rem}
.paysteps li.done{color:var(--maroon);background:rgba(217,154,43,.2)}.paysteps li.done i{background:var(--gold);color:#fff}
.paywho{margin:12px 0 0;padding:10px 14px;border-radius:14px;background:linear-gradient(135deg,#fff3dc,#fff9ee);border:1px solid rgba(217,154,43,.45);font-size:.9rem;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.paywho b{color:var(--maroon)}.paywho span{color:var(--muted);font-size:.82rem}
.drop{display:grid;justify-items:center;gap:2px;text-align:center;cursor:pointer;margin:0;padding:20px 14px;border:2px dashed rgba(122,42,53,.4);border-radius:16px;background:#fffaf4;font-weight:400;color:var(--ink,#2a1a1d);transition:.25s}
.drop:hover,.drop.over{border-color:var(--gold);background:#fff4df;transform:translateY(-2px)}
.drop-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--maroon2),var(--maroon));margin-bottom:6px}
.drop-ic svg{width:22px;height:22px;fill:#ffe3a6}
.drop-t{font-size:.95rem;color:var(--maroon);word-break:break-all}.drop-s{color:var(--muted);font-size:.78rem}
.drop-prev{display:none;max-height:170px;max-width:100%;margin-top:10px;border-radius:12px;border:1px solid #e4d3d5;box-shadow:0 8px 20px rgba(77,26,32,.15)}
.drop.has{border-style:solid;border-color:var(--gold);background:#fff9ee}.drop.has .drop-prev[src]{display:block}
.ferr{color:#c0392b;font-size:.85rem;margin-top:5px}
.payerr{display:none;margin-top:12px;padding:10px 14px;border-radius:12px;background:#fdeaea;color:#a12622;font-weight:600;font-size:.88rem}.payerr.on{display:block}
.paygo{width:100%;margin-top:20px;padding:15px 26px;font-size:1rem}
.paygo:disabled{opacity:.6;cursor:not-allowed;animation:none}
.paylater{display:block;margin:12px auto 0;border:0;background:none;color:var(--muted);font:600 .86rem 'Poppins',sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.paylater:hover{color:var(--maroon)}
/* modal wrapper (register page) */
.paym{position:fixed;inset:0;z-index:1050;display:grid;justify-items:center;align-items:start;overflow-y:auto;padding:22px 14px;background:rgba(20,8,16,.66);backdrop-filter:blur(0);opacity:0;transition:opacity .4s,backdrop-filter .4s}
.paym[hidden]{display:none}
.paym.on{opacity:1;backdrop-filter:blur(8px)}
.paym-card{position:relative;width:min(1000px,100%);margin:auto;border-radius:28px;background:linear-gradient(180deg,#fff,#fff8f0);box-shadow:0 40px 90px rgba(0,0,0,.45);overflow:hidden;transform:translateY(30px) scale(.97);opacity:0;transition:transform .55s cubic-bezier(.2,1,.3,1),opacity .4s}
.paym.on .paym-card{transform:none;opacity:1}
.paym-x{position:absolute;top:16px;right:14px;z-index:3;width:38px;height:38px;border-radius:50%;border:0;background:rgba(77,26,32,.1);color:var(--maroon);font-size:1.4rem;cursor:pointer;transition:.3s}
.paym-x:hover{background:var(--maroon);color:#fff;transform:rotate(90deg)}
@media(hover:none),(max-width:860px){.qr-app{display:inline-block}}
@media(max-width:860px){
  .payp-grid{grid-template-columns:1fr}
  .qrcard{max-width:380px;margin:0 auto;width:100%}
  .paym{padding:0;align-items:stretch}
  .paym-card{border-radius:0;margin:0;min-height:100%}
  .payp{padding-top:40px}
  .payp-amt{padding:0 12px}
}
@media(prefers-reduced-motion:reduce){.qr-scan,.payp.pulse .payp-amt{animation:none}}

/* no amount until we know it (never show 0) + e-mail note on the stand-alone Pay Now page */
.payp.noamt .payp-amt{display:none}
.payp.noamt .qa-yes,.payp:not(.noamt) .qa-no{display:none}
.qa-no{font-size:.84rem;color:#ffd98a;line-height:1.5;display:block;padding:2px 6px}
.payp-note{display:flex;gap:12px;align-items:flex-start;text-align:left;max-width:640px;margin:14px auto 0;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,#fff3dc,#fff9ee);border:1px solid rgba(217,154,43,.55);font-size:.9rem;line-height:1.55;color:var(--ink,#2a1a1d)}
.payp-note b{color:var(--maroon)}
.pn-ic{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--maroon2),var(--maroon));color:#ffe3a6;font-size:1.15rem}
.paywho[hidden]{display:none}

/* ===== v14: forms never overflow the screen; fee chips one below the other; payment pop-up scrolls ===== */
.form .row{grid-template-columns:repeat(2,minmax(0,1fr))}
.form .row>div{min-width:0}
.form input,.form select,.form textarea{max-width:100%;min-width:0}
.form select{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-right:34px}
@media(max-width:700px){.form .row{grid-template-columns:minmax(0,1fr)}}
.fees{flex-direction:column;align-items:center;gap:10px}
.fees span{width:min(100%,330px);text-align:center}
.paym{display:block}                  /* block (not grid): the card keeps its full height and the overlay scrolls */
.paym-card{margin:0 auto}
@media(max-width:860px){.paym{padding:0}.paym-card{min-height:100%}}
.regf .center{margin-top:22px}                       /* "Change registration type" button no longer touches the label */
