
:root{
  --pink:#ff69b4;--dpink:#d1477a;--pink4:#ffe4e6;
  --blue:#1e3a8a;--blue5:#3b82f6;--blue6:#2563eb;
  --green:#10b981;
  --bg:#fff;--bg2:#f9fafb;--card:#fff;
  --txt:#1e3a8a;--txt2:#6b7280;--border:#e5e7eb;
  --g50:#f9fafb;--g100:#f3f4f6;--g200:#e5e7eb;--g300:#d1d5db;
  --g400:#9ca3af;--g500:#6b7280;--g600:#4b5563;
  --sh2:0 4px 6px -1px rgba(0,0,0,.1);--sh3:0 10px 15px -3px rgba(0,0,0,.1);--sh4:0 20px 25px -5px rgba(0,0,0,.15);
  --radius:14px;
}
[data-theme="dark"]{
  --bg:#0f172a;--bg2:#1e293b;--card:#1e293b;
  --txt:#e2e8f0;--txt2:#94a3b8;--border:#334155;
  --g50:#1e293b;--g100:#334155;--g200:#475569;--g300:#64748b;--g400:#94a3b8;--g500:#94a3b8;--g600:#cbd5e1;
  --sh2:0 4px 6px -1px rgba(0,0,0,.4);--sh3:0 10px 15px -3px rgba(0,0,0,.4);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',-apple-system,sans-serif;background:var(--bg2);color:var(--txt);line-height:1.6;transition:background .3s,color .3s}
[data-theme="light"] body{background:linear-gradient(135deg,#ffe4e6 0%,#fff 50%,#f9fafb 100%)}
/* ── Blog section (homepage) ── */
.blog-sub{font-size:.88rem;color:var(--g500);margin:.15rem 0 1rem;max-width:70ch}
.blog-all{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:700;
  color:var(--blue5);text-decoration:none;white-space:nowrap}
.blog-all:hover{text-decoration:underline}
.blog-all i{transition:transform .2s}
.blog-all:hover i{transform:translateX(3px)}
[dir="rtl"] .blog-sub{text-align:right}
[dir="rtl"] .blog-all i{transform:scaleX(-1)}
[dir="rtl"] .blog-all:hover i{transform:scaleX(-1) translateX(3px)}
@media(max-width:640px){
  .blog-all{font-size:.76rem}
  .blog-sub{font-size:.83rem}
}

.container{max-width:1200px;margin:0 auto;padding:0 2rem}

/* Controls */
.controls-bar{position:fixed;top:10px;right:14px;z-index:1000;display:flex;gap:8px}
.ctrl-btn{display:flex;align-items:center;gap:5px;padding:7px 13px;background:rgba(255,255,255,.95);border:2px solid var(--pink);border-radius:25px;cursor:pointer;font-weight:600;font-size:.82rem;color:var(--blue);transition:all .3s;box-shadow:var(--sh2);white-space:nowrap}
.ctrl-btn:hover{background:var(--pink);color:#fff}
.ctrl-btn i{color:var(--pink);font-size:.8rem}
.ctrl-btn:hover i{color:#fff}
[data-theme="dark"] .ctrl-btn{background:rgba(30,41,59,.95);color:var(--txt)}

/* Language */
/* Legacy EN/HI show-hide kept for any residual markup */
.lang-en{display:inline}.lang-hi{display:none}
[data-lang="hi"] .lang-en{display:none}[data-lang="hi"] .lang-hi{display:inline}

/* ── i18n: Indic + Urdu script support ── */
:root{--font-latin:inherit}
[data-lang="hi"],[data-lang="mr"]{font-family:'Noto Sans Devanagari',system-ui,sans-serif}
[data-lang="bn"],[data-lang="as"]{font-family:'Noto Sans Bengali',system-ui,sans-serif}
[data-lang="te"]{font-family:'Noto Sans Telugu',system-ui,sans-serif}
[data-lang="ta"]{font-family:'Noto Sans Tamil',system-ui,sans-serif}
[data-lang="gu"]{font-family:'Noto Sans Gujarati',system-ui,sans-serif}
[data-lang="kn"]{font-family:'Noto Sans Kannada',system-ui,sans-serif}
[data-lang="ml"]{font-family:'Noto Sans Malayalam',system-ui,sans-serif}
[data-lang="or"]{font-family:'Noto Sans Oriya',system-ui,sans-serif}
[data-lang="pa"]{font-family:'Noto Sans Gurmukhi',system-ui,sans-serif}
[data-lang="ur"]{font-family:'Noto Nastaliq Urdu',system-ui,sans-serif;line-height:2.1}

/* Indic scripts have taller glyphs — give labels and titles room */
[data-lang]:not([data-lang="en"]) label{line-height:1.5}
[data-lang]:not([data-lang="en"]) .card-ttl{line-height:1.45}

/* ── RTL (Urdu) ── */
[dir="rtl"] .fg,[dir="rtl"] .card-ttl,[dir="rtl"] .cat-ttl,[dir="rtl"] label{text-align:right}
[dir="rtl"] .card-top{flex-direction:row-reverse}
[dir="rtl"] .btn-grp{flex-direction:row-reverse}
[dir="rtl"] .search-wrap .si{left:auto;right:.75rem}
[dir="rtl"] .search-wrap .sc{right:auto;left:.75rem}
[dir="rtl"] .srch{padding-left:2rem;padding-right:2.3rem;text-align:right}
[dir="rtl"] .hsn-it{flex-direction:row-reverse}
[dir="rtl"] .slab-note{border-left:none;border-right:3px solid currentColor;border-radius:6px 0 0 6px}
[dir="rtl"] .rate-badge{margin-left:0;margin-right:.4rem}
/* Numeric inputs and the monospace result block stay LTR in every language */
[dir="rtl"] input[type="number"],[dir="rtl"] input[type="date"]{direction:ltr;text-align:right}
[dir="rtl"] pre,[dir="rtl"] .res-body{direction:ltr;text-align:left}

/* ── RTL (Urdu) — search launcher widget ── */
[dir="rtl"] .hsw-title,[dir="rtl"] .hsw-sub,[dir="rtl"] .hsw-pop-h{text-align:right}
[dir="rtl"] .hsw-si{left:auto;right:1.05rem}
[dir="rtl"] .hsw-input{padding:.9rem 2.7rem .9rem 5.2rem;text-align:right}
[dir="rtl"] .hsw-clear{right:auto;left:3.6rem}
[dir="rtl"] .hsw-kbd{right:auto;left:.9rem}
[dir="rtl"] .hsw-item,[dir="rtl"] .hsw-recent{flex-direction:row-reverse;text-align:right}
[dir="rtl"] .hsw-item-open i{transform:scaleX(-1)}
[dir="rtl"] .hsw-item-cat{flex-direction:row-reverse}
[dir="rtl"] .hsw-chips{flex-direction:row-reverse}
[dir="rtl"] .hsw-grp-lbl{text-align:right}

/* Language picker */
.lang-sel{appearance:none;background:transparent;border:none;color:inherit;font:inherit;font-size:.78rem;cursor:pointer;padding:0 .2rem;outline:none;max-width:11.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lang-sel option{color:#111;background:#fff}
.theme-sel{appearance:none;background:transparent;border:none;color:inherit;font:inherit;font-size:.78rem;cursor:pointer;padding:0 .2rem;outline:none;max-width:7rem}
.theme-sel option{color:#111;background:#fff}
.mt-note{font-size:.7rem;line-height:1.45;color:var(--g500);background:var(--g50);border:1px dashed var(--border);border-radius:8px;padding:.45rem .7rem;margin:.6rem 0 0}
.mt-note[hidden]{display:none}

/* ── Freshness band (hero) ── */
.upd-band{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap;max-width:760px;margin:.55rem auto .2rem;padding:.55rem .9rem;background:rgba(255,255,255,.82);border:1px solid rgba(16,185,129,.45);border-radius:12px}
.upd-pill{display:inline-flex;align-items:center;gap:.35rem;background:#10b981;color:#fff;font-size:.72rem;font-weight:800;padding:.24rem .6rem;border-radius:20px;white-space:nowrap;letter-spacing:.2px}
.upd-pill i{animation:spinSlow 4s linear infinite}
@keyframes spinSlow{to{transform:rotate(360deg)}}
.upd-txt{font-size:.76rem;line-height:1.5;color:var(--blue);text-align:left;flex:1;min-width:240px}
[data-theme="dark"] .upd-band{background:rgba(15,23,42,.72);border-color:rgba(16,185,129,.5)}
[data-theme="dark"] .upd-txt{color:#cbd5e1}

/* ── Cross-promo units ── */
.promo{display:flex;align-items:center;gap:.9rem;margin:0 0 1.1rem;padding:.9rem 1.1rem;border-radius:14px;background:linear-gradient(100deg,rgba(255,105,180,.10),rgba(59,130,246,.10));border:1px dashed rgba(255,105,180,.5)}
.promo-ic{flex:0 0 auto;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#ff0080,#7c3aed);color:#fff;font-size:1rem}
.promo-tx{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}
.promo-tx strong{font-size:.88rem;color:var(--txt)}
.promo-tx span{font-size:.76rem;line-height:1.45;color:var(--g500)}
.promo-cta{flex:0 0 auto;display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:24px;background:linear-gradient(90deg,#ff0080,#7c3aed);color:#fff;text-decoration:none;font-size:.78rem;font-weight:700;white-space:nowrap;transition:transform .2s}
.promo-cta:hover{transform:translateX(3px)}
@media(max-width:640px){.promo{flex-wrap:wrap}.promo-cta{width:100%;justify-content:center}}
[dir="rtl"] .promo{flex-direction:row-reverse}
[dir="rtl"] .promo-cta:hover{transform:translateX(-3px)}

/* ── Footer ── */
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1.4rem;text-align:left;margin-bottom:1rem}
@media(max-width:640px){.foot-grid{grid-template-columns:1fr}}
.foot-h{display:block;font-size:.9rem;margin-bottom:.4rem}
.foot-p{font-size:.78rem;opacity:.85;line-height:1.55;margin:0 0 .5rem}
.foot-upd{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;background:rgba(16,185,129,.22);border:1px solid rgba(16,185,129,.55);color:#a7f3d0;padding:.22rem .6rem;border-radius:20px;margin:0}
.foot-l{display:flex;align-items:center;gap:.45rem;color:#dbeafe;text-decoration:none;font-size:.79rem;padding:.2rem 0;opacity:.9}
.foot-l:hover{opacity:1;text-decoration:underline}
.foot-c{font-size:.74rem;opacity:.8;margin:.6rem 0 .3rem}
.foot-d{font-size:.68rem;opacity:.62;line-height:1.5;margin:0}
[dir="rtl"] .foot-grid{text-align:right}

/* Animations */
@keyframes gradShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes flashGrad{0%{background-position:0% 50%}100%{background-position:300% 50%}}
@keyframes pdfPulse{0%,100%{transform:scale(1);box-shadow:0 0 22px rgba(255,0,128,.55),0 0 40px rgba(255,107,0,.3)}50%{transform:scale(1.06);box-shadow:0 0 38px rgba(255,0,128,.85),0 0 65px rgba(255,107,0,.55)}}
@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes starPop{0%{transform:scale(1)}50%{transform:scale(1.45)}100%{transform:scale(1)}}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

/* Header */
.header{background:linear-gradient(135deg,#ff69b4,#ffb6c1,#ffc0cb);color:var(--blue);padding:2rem 0 1.6rem;box-shadow:var(--sh3);text-align:center;position:relative;overflow:hidden}
.header::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(255,255,255,.18),transparent 55%);pointer-events:none}
.trust-badges{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.9rem}
.trust-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .8rem;background:rgba(255,255,255,.78);border-radius:20px;font-size:.76rem;font-weight:600;color:var(--blue)}
.glitter{background:linear-gradient(45deg,#1e3a8a,#3b82f6,#2563eb,#1d4ed8,#1e3a8a);background-size:300% 300%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:gradShift 3s ease-in-out infinite;font-size:2.1rem;font-weight:700;display:block;margin-bottom:.5rem}
.header h2{font-size:1.1rem;font-weight:600;margin:.3rem 0;display:flex;align-items:center;justify-content:center;gap:.5rem}
.hero-sub{font-size:.9rem;color:var(--blue);opacity:.85;max-width:680px;margin:.3rem auto .7rem}
.hero-stats{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin:.7rem 0}
.stat-num{display:block;font-size:1.45rem;font-weight:700;color:var(--blue)}
.stat-lbl{font-size:.73rem;color:var(--blue);opacity:.8}

/* Flashy PDF Button */
.pdf-btn-wrap{margin:1.2rem 0 .4rem;display:flex;justify-content:center}
.pdf-flashy{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 2.2rem;background:linear-gradient(90deg,#ff0080,#ff6b00,#ff69b4,#7c3aed,#ff0080);background-size:300% 100%;color:#fff;border-radius:50px;font-weight:800;font-size:1rem;text-decoration:none;animation:flashGrad 2.5s linear infinite,pdfPulse 2s ease-in-out infinite;border:2.5px solid rgba(255,255,255,.45);position:relative;overflow:hidden;letter-spacing:.3px}
.pdf-flashy::before{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);animation:shimmer 2.2s ease-in-out infinite}
.pdf-flashy:hover{animation-play-state:paused;transform:scale(1.07)}
.pdf-flashy i.fa-file-pdf{font-size:1.1rem;animation:bounce 1s ease-in-out infinite}

/* Nav */
.calc-nav{background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,105,180,.15);padding:.7rem 0;position:sticky;top:0;z-index:200;box-shadow:0 2px 8px rgba(0,0,0,.06)}
[data-theme="dark"] .calc-nav{background:rgba(15,23,42,.97)}
.nav-pills{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap}
.nav-pill{display:flex;align-items:center;gap:.38rem;padding:.5rem 1rem;text-decoration:none;color:var(--txt);font-weight:500;font-size:.83rem;border-radius:25px;transition:all .25s;background:rgba(255,105,180,.05);border:1px solid rgba(255,105,180,.15)}
.nav-pill:hover{background:rgba(255,105,180,.12);transform:translateY(-2px)}
.nav-pill i{color:var(--pink);font-size:.8rem}

/* Homepage Search Launcher Widget */
.hsw-sec{margin:1.6rem auto 0;display:flex;flex-direction:column;gap:1rem}
.hsw-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:1.6rem 1.8rem;box-shadow:var(--sh3)}
.hsw-title{font-size:1.3rem;font-weight:800;color:var(--txt);margin:0 0 .3rem;display:flex;align-items:center;gap:.5rem}
.hsw-sub{font-size:.88rem;color:var(--txt2);margin:0 0 1rem}
.hsw-searchwrap{position:relative;display:flex;align-items:center}
.hsw-si{position:absolute;left:1.05rem;color:var(--g400);font-size:.95rem;pointer-events:none}
.hsw-input{width:100%;padding:.9rem 5.2rem .9rem 2.7rem;border:2px solid var(--border);border-radius:14px;
  font-size:1rem;background:var(--bg);color:var(--txt);outline:none;transition:border-color .2s,box-shadow .2s;font-family:inherit}
.hsw-input:focus{border-color:var(--blue5);box-shadow:0 0 0 4px rgba(59,130,246,.14)}
.hsw-clear{position:absolute;right:3.6rem;background:none;border:none;color:var(--g400);cursor:pointer;
  padding:.4rem;border-radius:50%;display:flex}
.hsw-clear[hidden]{display:none}
.hsw-clear:hover{background:var(--g100);color:var(--txt)}
.hsw-kbd{position:absolute;right:.9rem;font-size:.7rem;color:var(--g400);border:1px solid var(--border);
  border-radius:5px;padding:.2rem .45rem;font-family:inherit;pointer-events:none;background:var(--g50)}
.hsw-results{margin-top:.6rem;border:1px solid var(--border);border-radius:12px;background:var(--card);
  max-height:min(60vh,420px);overflow-y:auto;box-shadow:var(--sh2)}
.hsw-item{display:flex;align-items:center;gap:.85rem;width:100%;padding:.75rem .95rem;cursor:pointer;
  border-bottom:1px solid var(--border);transition:background .15s}
.hsw-item:last-child{border-bottom:none}
.hsw-item:hover,.hsw-item.sel{background:var(--g50)}
.hsw-item.sel{outline:2px solid var(--blue5);outline-offset:-2px}
.hsw-item-ic{flex:none;width:36px;height:36px;border-radius:9px;background:var(--pink4);color:var(--dpink);
  display:flex;align-items:center;justify-content:center;font-size:.95rem}
[data-theme="dark"] .hsw-item-ic{background:rgba(255,105,180,.15);color:var(--pink)}
.hsw-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}
.hsw-item-name{font-size:.92rem;font-weight:700;color:var(--txt)}
.hsw-item-name b{color:var(--blue5)}
.hsw-item-desc{font-size:.76rem;color:var(--txt2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hsw-item-cat{font-size:.68rem;color:var(--g400);text-transform:uppercase;letter-spacing:.03em;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.hsw-item-badge{display:inline-flex;align-items:center;gap:.25rem;color:var(--green);text-transform:none;letter-spacing:0;font-weight:600}
.hsw-item-badge i{font-size:.72rem}
.hsw-grp-lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--g400);font-weight:700;padding:.55rem .95rem .3rem}
.hsw-recent{display:flex;align-items:center;gap:.7rem;padding:.6rem .95rem;cursor:pointer;font-size:.85rem;color:var(--txt2);
  border-bottom:1px solid var(--border);transition:background .15s}
.hsw-recent:hover,.hsw-recent.sel{background:var(--g50)}
.hsw-recent.sel{outline:2px solid var(--blue5);outline-offset:-2px}
.hsw-recent i{color:var(--g400);width:16px;text-align:center}
.hsw-item-open{flex:none;font-size:.76rem;font-weight:700;color:var(--blue5);display:flex;align-items:center;gap:.3rem;white-space:nowrap}
.hsw-empty{padding:1.3rem 1rem;text-align:center;font-size:.85rem;color:var(--txt2)}
.hsw-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem}
.hsw-chip{padding:.42rem .9rem;border-radius:20px;border:1px solid var(--border);background:var(--g50);
  font-size:.8rem;font-weight:600;color:var(--txt);cursor:pointer;font-family:inherit;transition:all .18s}
.hsw-chip:hover{border-color:var(--blue5);color:var(--blue5)}
.hsw-chip.on{background:var(--blue5);color:#fff;border-color:var(--blue5)}
.hsw-popular{padding:0 .2rem}
.hsw-pop-h{font-size:.95rem;font-weight:800;color:var(--txt);margin:0 0 .7rem;display:flex;align-items:center;gap:.4rem}
.hsw-pop-h i{color:#f59e0b}
.hsw-pop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}
.hsw-pop-card{display:flex;align-items:center;gap:.6rem;padding:.7rem .85rem;background:var(--card);
  border:1px solid var(--border);border-radius:10px;text-decoration:none;color:var(--txt);
  font-size:.82rem;font-weight:600;transition:all .18s}
.hsw-pop-card:hover{border-color:var(--blue5);transform:translateY(-2px);box-shadow:var(--sh2)}
.hsw-pop-ic{flex:none;width:28px;height:28px;border-radius:7px;background:var(--g100);color:var(--blue5);
  display:flex;align-items:center;justify-content:center;font-size:.8rem}
@media(max-width:768px){
  .hsw-card{padding:1.2rem 1.1rem}
  .hsw-title{font-size:1.1rem}
  .hsw-pop-grid{grid-template-columns:repeat(2,1fr)}
  .hsw-item-desc{display:none}
}

/* Search + Filter Bar */
.sfbar{background:var(--bg);border-bottom:1px solid var(--border);padding:.85rem 0;position:sticky;top:49px;z-index:190;box-shadow:0 2px 6px rgba(0,0,0,.04)}
[data-theme="dark"] .sfbar{background:var(--bg2)}
.sfinner{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;justify-content:space-between}
.search-wrap{position:relative;flex:1;min-width:220px;max-width:380px}
.srch{width:100%;padding:.5rem 1rem .5rem 2.3rem;border:1.5px solid var(--border);border-radius:25px;font-size:.88rem;background:var(--bg);color:var(--txt);outline:none;transition:all .25s;font-family:inherit}
.srch:focus{border-color:var(--blue5);box-shadow:0 0 0 3px rgba(59,130,246,.12)}
.si{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--g400);font-size:.85rem;pointer-events:none}
.sc{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:var(--g400);cursor:pointer;display:none}
.sdd{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--sh3);max-height:260px;overflow-y:auto;z-index:300;display:none}
.sdi{padding:.6rem .95rem;cursor:pointer;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.55rem;transition:background .15s;font-size:.85rem}
.sdi:hover{background:var(--g50)}
.sdi i{color:var(--pink);font-size:.82rem}
.sdi-name{font-weight:600;color:var(--txt)}
.sdi-cat{font-size:.72rem;color:var(--g400)}
.fp-group{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}
.fp{padding:.38rem .85rem;border:1.5px solid var(--border);border-radius:20px;font-size:.78rem;font-weight:600;cursor:pointer;background:var(--card);color:var(--txt);transition:all .2s}
.fp:hover,.fp.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.sc-btn{display:flex;align-items:center;gap:.3rem;padding:.38rem .75rem;border:1px solid var(--border);border-radius:20px;font-size:.77rem;cursor:pointer;background:var(--card);color:var(--g500);transition:all .2s;white-space:nowrap}
.sc-btn:hover{border-color:var(--blue5);color:var(--blue5)}

/* Shortcut Tooltip */
.sctip{position:fixed;bottom:78px;right:20px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1.1rem;box-shadow:var(--sh4);z-index:9998;min-width:255px;display:none;animation:fadeUp .2s ease}
.sctip.on{display:block}
.sct-row{display:flex;justify-content:space-between;align-items:center;padding:.28rem 0;font-size:.82rem;color:var(--txt2)}
.sct-hd{font-weight:700;font-size:.87rem;color:var(--txt);margin-bottom:.55rem}
.kk{background:var(--g100);padding:.12rem .45rem;border-radius:5px;font-family:monospace;font-size:.78rem;color:var(--txt);border:1px solid var(--border)}

/* Favourites */
.fav-sec{margin:1rem 0 0;padding:1.1rem;background:linear-gradient(135deg,rgba(255,105,180,.06),rgba(59,130,246,.04));border:1.5px solid rgba(255,105,180,.2);border-radius:16px;display:none}
.fav-sec.on{display:block;animation:fadeUp .3s ease}
.fav-ttl{font-size:.97rem;font-weight:700;color:var(--txt);margin-bottom:.75rem;display:flex;align-items:center;gap:.45rem}
.fav-ttl i{color:#f59e0b}
.fav-grid{display:flex;gap:.55rem;flex-wrap:wrap}
.fav-chip{display:inline-flex;align-items:center;gap:.38rem;padding:.38rem .85rem;background:var(--card);border:1px solid var(--border);border-radius:20px;font-size:.8rem;font-weight:600;cursor:pointer;color:var(--txt);transition:all .2s;text-decoration:none}
.fav-chip:hover{border-color:var(--pink);color:var(--pink);transform:translateY(-1px)}
.fav-chip i{color:#f59e0b;font-size:.78rem}

/* Categories */
.calc-sec{padding:1rem 0 3rem}
.calc-cat{margin:1.2rem 0;padding:1.7rem;border-radius:16px;transition:opacity .4s}
.calc-cat.hidden{display:none}
.cat-basic{background:#e6f3ff;border:2px solid #b3d9ff}
.cat-invest{background:#e6ffe6;border:2px solid #b3ffb3}
.cat-taxloan{background:#f0f0f0;border:2px solid #ccc}
.cat-special{background:#fffae6;border:2px solid #ffeb99}
[data-theme="dark"] .cat-basic{background:rgba(30,58,138,.15);border-color:rgba(59,130,246,.3)}
[data-theme="dark"] .cat-invest{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.3)}
[data-theme="dark"] .cat-taxloan{background:rgba(100,116,139,.1);border-color:rgba(100,116,139,.3)}
[data-theme="dark"] .cat-special{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.3)}
.cat-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem;position:sticky;top:98px;z-index:10;padding:.45rem .75rem;border-radius:10px;backdrop-filter:blur(6px)}
.cat-basic .cat-hdr{background:rgba(230,243,255,.92)}
.cat-invest .cat-hdr{background:rgba(230,255,230,.92)}
.cat-taxloan .cat-hdr{background:rgba(240,240,240,.92)}
.cat-special .cat-hdr{background:rgba(255,250,230,.92)}
[data-theme="dark"] .cat-hdr{background:rgba(15,23,42,.88)!important}
.cat-ttl{font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:9px}
.cat-basic .cat-ttl{color:#0066cc}
.cat-invest .cat-ttl{color:#006600}
.cat-taxloan .cat-ttl{color:#555}
.cat-special .cat-ttl{color:#cc9900}
[data-theme="dark"] .cat-ttl{color:var(--txt)!important}
.cat-cnt{font-size:.73rem;background:rgba(0,0,0,.1);padding:.18rem .55rem;border-radius:10px;font-weight:600}
.calcs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:.95rem}

/* Card */
.calc-card{background:var(--card);border-radius:var(--radius);padding:1.3rem;box-shadow:var(--sh2);border:1px solid var(--border);transition:transform .2s,box-shadow .2s;position:relative;animation:fadeUp .4s ease}
.calc-card:hover{transform:translateY(-3px);box-shadow:var(--sh3)}
.calc-card.fav-on{border-color:var(--pink);box-shadow:0 0 0 2px rgba(255,105,180,.2)}
.calc-card.s-hide{display:none}
.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem;padding-bottom:.65rem;border-bottom:2px solid var(--g100)}
.card-ttl{font-size:.97rem;font-weight:700;color:var(--txt);display:flex;align-items:center;gap:.52rem}
.card-ttl i{color:var(--pink);background:rgba(255,105,180,.1);width:29px;height:29px;display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0;font-size:.85rem}
.fav-star{background:none;border:none;cursor:pointer;color:var(--g300);font-size:1.05rem;padding:.18rem;transition:all .25s;flex-shrink:0}
.fav-star:hover{color:#f59e0b;transform:scale(1.2)}
.fav-star.on{color:#f59e0b;animation:starPop .3s ease}

/* Form */
.fg{margin-bottom:.7rem}
.fg label{display:block;font-size:.78rem;font-weight:600;color:var(--g600);margin-bottom:.25rem}
.fg input,.fg select{width:100%;padding:.5rem .75rem;border:1.5px solid var(--border);border-radius:8px;font-size:.88rem;color:var(--txt);background:var(--card);transition:all .25s;outline:none;font-family:inherit}
/* FIX — mobile input auto-zoom. iOS Safari zooms the whole page in when a
   text input's font-size is under 16px, and every calculator's number/select
   fields were .88rem (~14px), so tapping ANY field on a phone triggered an
   unwanted zoom the visitor then had to manually undo. 16px is the documented
   iOS threshold; this only raises the size on small viewports and leaves the
   existing desktop sizing untouched. */
@media(max-width:640px){
  .fg input,.fg select{font-size:16px}
}
/* FIX — same iOS auto-zoom issue as above, but for the contact form's
   inline-styled fields, which had no font-size at all and so fell back to
   each browser's own inconsistent default (often also under 16px). */
#contactForm input,#contactForm select,#contactForm textarea{font-size:16px}
.fg input:focus,.fg select:focus{border-color:var(--blue5);box-shadow:0 0 0 3px rgba(59,130,246,.1)}
.fg input.err{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.1)}
.fe{display:block;font-size:.73rem;color:#ef4444;margin-top:.22rem}
[data-theme="dark"] .fg input,[data-theme="dark"] .fg select{background:var(--bg2);border-color:var(--border);color:var(--txt)}

/* HSN */
.hsn-wrap{margin-bottom:.7rem}
.hsn-si{width:100%;padding:.44rem .75rem;border:1.5px dashed var(--border);border-radius:8px;font-size:.8rem;background:var(--g50);color:var(--txt);outline:none;font-family:inherit}
.hsn-si:focus{border-color:var(--pink);border-style:solid}
.hsn-dd{background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:var(--sh3);max-height:190px;overflow-y:auto;display:none;margin-top:4px;position:relative;z-index:100}
.hsn-it{padding:.47rem .75rem;cursor:pointer;font-size:.8rem;display:flex;justify-content:space-between;border-bottom:1px solid var(--border)}
.hsn-it:hover{background:var(--g50)}
.hsn-rt{font-weight:700;color:var(--pink)}
.hsn-lg{opacity:.55}
.hsn-lg .hsn-rt{color:var(--g500);text-decoration:line-through}

/* Rate era badge + notes */
.rate-badge{display:inline-block;margin-left:.4rem;padding:.08rem .4rem;border-radius:6px;font-size:.62rem;font-weight:700;letter-spacing:.3px;background:rgba(16,185,129,.14);color:#059669;vertical-align:middle;text-transform:uppercase}
.slab-note{margin-top:.35rem;font-size:.7rem;line-height:1.4;color:var(--g500)}
.slab-note.warn{color:#b45309;background:rgba(245,158,11,.12);border-left:3px solid #f59e0b;padding:.35rem .5rem;border-radius:0 6px 6px 0;font-weight:600}
.slab-note.info{color:#1d4ed8;background:rgba(59,130,246,.10);border-left:3px solid #3b82f6;padding:.35rem .5rem;border-radius:0 6px 6px 0}

/* Extra fields toggle */
.xf{padding:.65rem;background:var(--g50);border-radius:8px;margin-bottom:.7rem;border:1px dashed var(--border)}
.xf-ttl{font-size:.76rem;font-weight:700;color:var(--g500);margin-bottom:.45rem;text-transform:uppercase;letter-spacing:.4px}
.tog-xf{display:flex;align-items:center;gap:.38rem;font-size:.77rem;color:var(--blue5);cursor:pointer;background:none;border:none;font-family:inherit;font-weight:600;padding:.18rem 0;margin-bottom:.45rem}

/* Buttons */
.btn-grp{display:flex;gap:.5rem;margin-top:.85rem;flex-wrap:wrap}
.btn{flex:1;padding:.55rem .85rem;border:none;border-radius:8px;font-size:.84rem;font-weight:600;cursor:pointer;transition:all .25s;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:.33rem;min-width:0}
.btn-p{background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:#fff}
.btn-p:hover{background:linear-gradient(135deg,#1e40af,#2563eb);transform:translateY(-1px);box-shadow:0 4px 12px rgba(30,58,138,.3)}
.btn-s{background:var(--g100);color:var(--g600);border:1px solid var(--border)}
.btn-s:hover{background:var(--g200)}

/* Modal */
.m-ov{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeUp .18s ease}
.m-box{background:var(--card);border-radius:16px;width:100%;max-width:580px;max-height:90vh;overflow-y:auto;box-shadow:0 30px 70px rgba(0,0,0,.35);animation:fadeUp .22s ease;display:flex;flex-direction:column}
.m-hdr{background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:#fff;padding:.95rem 1.25rem;border-radius:16px 16px 0 0;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:1;flex-shrink:0}
.m-hdr h3{font-size:.92rem;font-weight:700;display:flex;align-items:center;gap:.42rem}
.m-cls{background:none;border:none;color:#fff;font-size:1.4rem;cursor:pointer;line-height:1;padding:0 .2rem;transition:transform .2s}
.m-cls:hover{transform:scale(1.25)}
.m-body{padding:1.1rem 1.25rem;background:var(--g50);font-size:.84rem;font-family:'Courier New',monospace;white-space:pre-line;color:var(--txt);border-left:4px solid var(--blue5);line-height:1.85;flex:1}
[data-theme="dark"] .m-body{background:var(--bg2)}
.m-chart{padding:.75rem 1.25rem;background:var(--card)}
.m-chart canvas{max-height:210px}
.m-tw{padding:0 1.25rem .75rem;overflow-x:auto}
.amort-tbl{width:100%;border-collapse:collapse;font-size:.74rem}
.amort-tbl th{background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:#fff;padding:.38rem .55rem;text-align:right;font-weight:600}
.amort-tbl th:first-child{text-align:left}
.amort-tbl td{padding:.33rem .55rem;text-align:right;border-bottom:1px solid var(--border);color:var(--txt)}
.amort-tbl td:first-child{text-align:left;font-weight:600}
.amort-tbl tr:hover td{background:var(--g50)}
.amort-tog{display:flex;align-items:center;gap:.38rem;font-size:.78rem;color:var(--blue5);cursor:pointer;background:var(--card);border:none;font-family:inherit;font-weight:600;padding:.48rem 1.25rem;width:100%}
.m-share{padding:.7rem 1.25rem;display:flex;gap:.45rem;flex-wrap:wrap;background:var(--g50);border-top:1px solid var(--border)}
[data-theme="dark"] .m-share{background:var(--bg2)}
.sb{display:flex;align-items:center;gap:.38rem;padding:.48rem .9rem;border:none;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit;flex:1;justify-content:center}
.sb-wa{background:#25d366;color:#fff}.sb-wa:hover{background:#128c7e}
.sb-cp{background:var(--blue5);color:#fff}.sb-cp:hover{background:var(--blue6)}
.sb-em{background:#ea4335;color:#fff}.sb-em:hover{background:#c5221f}
.sb-pr{background:#6b7280;color:#fff}.sb-pr:hover{background:#4b5563}
.sb-fb{background:#1877f2;color:#fff}.sb-fb:hover{background:#0d5dc7}
.sb-tw{background:#000;color:#fff}.sb-tw:hover{background:#333}
.sb-li{background:#0a66c2;color:#fff}.sb-li:hover{background:#084d92}
.sb-native{background:var(--pink,#ec4899);color:#fff}.sb-native:hover{filter:brightness(.9)}
.manual-copy-fallback{margin:.6rem 1.1rem 0;padding:.6rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-2,#f9fafb)}
.manual-copy-fallback textarea{border:1px solid var(--border);border-radius:6px;font-family:inherit;resize:vertical}
.m-acts{padding:.7rem 1.25rem;display:flex;gap:.55rem;justify-content:center;background:var(--card);border-top:1px solid var(--border)}
.m-save{padding:.55rem 1.3rem;border:none;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;background:#dc2626;color:#fff;display:flex;align-items:center;gap:.38rem;font-family:inherit;transition:all .2s}
.m-save:hover{background:#b91c1c;transform:translateY(-1px)}
.m-close{padding:.55rem 1.3rem;border:none;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;background:var(--g200);color:var(--g600);font-family:inherit;transition:all .2s}
.m-close:hover{background:var(--g300)}
.m-ftr{background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:#fff;padding:.55rem 1.25rem;border-radius:0 0 16px 16px;font-size:.76rem;font-weight:600;text-align:center;flex-shrink:0}

/* Scroll top + FAB */
#stt{position:fixed;bottom:70px;right:20px;background:linear-gradient(135deg,var(--pink),var(--dpink));color:#fff;width:43px;height:43px;border-radius:50%;border:none;cursor:pointer;display:none;align-items:center;justify-content:center;font-size:.92rem;box-shadow:0 4px 14px rgba(255,105,180,.4);z-index:998;transition:all .3s}
#stt:hover{transform:translateY(-3px)}
#stt.on{display:flex}
#scFab{position:fixed;bottom:20px;right:20px;background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:#fff;width:43px;height:43px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;box-shadow:0 4px 14px rgba(30,58,138,.35);z-index:998;transition:all .3s}
#scFab:hover{transform:translateY(-3px) scale(1.05)}

/* Footer */
.footer{background:linear-gradient(135deg,#1e3a8a,#1e40af);color:#fff;padding:2rem 0 1.2rem;margin-top:2rem}
.foot-in{text-align:center}
.foot-in h3{font-size:1.15rem;font-weight:700;margin-bottom:.35rem}
.foot-in p{font-size:.84rem;opacity:.8;max-width:460px;margin:.25rem auto}
.foot-nav{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin:.9rem 0}
.fl{color:rgba(255,255,255,.85);text-decoration:none;font-size:.8rem;font-weight:500;transition:color .2s}
.fl:hover{color:#fff}
.wl-row{display:flex;justify-content:center;gap:1.3rem;flex-wrap:wrap;margin:.8rem 0;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.15)}
.foot-copy{margin-top:.8rem;font-size:.75rem;opacity:.7;line-height:1.8}

/* Print */
@media print{
  .controls-bar,.calc-nav,.sfbar,.pdf-btn-wrap,#stt,#scFab,.sctip,
  .fav-sec,.btn-grp,.sb,.m-acts,.m-share,.m-hdr,.m-ftr,.amort-tog,.manual-copy-fallback{display:none!important}
  .calc-cat{break-inside:avoid}
  body{background:#fff!important;color:#000!important}
  .calc-card{box-shadow:none!important;border:1px solid #ccc!important;background:#fff!important;break-inside:avoid}
}

/* Responsive */
@media(max-width:768px){
  .container{padding:0 1rem}
  .glitter{font-size:1.65rem}
  .calcs-grid{grid-template-columns:1fr}
  .calc-cat{padding:1.1rem}
  .sfinner{flex-direction:column;align-items:stretch}
  .search-wrap{max-width:100%}
  .btn-grp{flex-direction:column}
  .m-share{flex-wrap:wrap}
  .sb{min-width:calc(50% - .23rem)}
  .pdf-flashy{font-size:.86rem;padding:.75rem 1.5rem}
}
@media(max-width:480px){.glitter{font-size:1.35rem!important}.hero-stats{gap:.9rem}.pdf-flashy{font-size:.8rem;padding:.65rem 1.2rem}.fp-group{gap:.35rem}.fp{font-size:.73rem;padding:.32rem .7rem}.cat-ttl{font-size:1.1rem}.calc-card{padding:1.1rem}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ==========================================================
   SIMPLEPDFTOOLS.IN STYLE UPGRADE OVERRIDES
   - Header/hero removed from HTML as requested.
   - Category system, calculator cards, text, functions and JS remain intact.
   ========================================================== */
:root{
  --pink:#2563eb;
  --dpink:#1d4ed8;
  --pink4:#dbeafe;
  --blue:#0f3d75;
  --blue5:#2563eb;
  --blue6:#1d4ed8;
  --green:#0ea5e9;
  --bg:#ffffff;
  --bg2:#eef6ff;
  --card:#ffffff;
  --txt:#0f2f5f;
  --txt2:#64748b;
  --border:#dbeafe;
  --radius:18px;
  --sh2:0 8px 24px rgba(15,61,117,.08);
  --sh3:0 16px 38px rgba(15,61,117,.13);
  --sh4:0 24px 60px rgba(15,61,117,.18);
}
[data-theme="dark"]{
  --bg:#0b1220;
  --bg2:#0f172a;
  --card:#111c31;
  --txt:#e6f0ff;
  --txt2:#a6b4c8;
  --border:#20324f;
  --g50:#111c31;
  --g100:#162640;
  --g200:#20324f;
  --g300:#334a70;
  --g400:#94a3b8;
  --g500:#b6c3d6;
  --g600:#d8e4f7;
}
body{
  background:
    radial-gradient(circle at top left,rgba(37,99,235,.16),transparent 34rem),
    linear-gradient(135deg,#f3f9ff 0%,#ffffff 48%,#eaf4ff 100%)!important;
}
[data-theme="dark"] body{
  background:
    radial-gradient(circle at top left,rgba(59,130,246,.16),transparent 32rem),
    linear-gradient(135deg,#0b1220 0%,#0f172a 52%,#08111f 100%)!important;
}
.container{max-width:1280px}

/* Header and hero are intentionally removed; keep top navigation as the first visible UI */
.header,.pdf-btn-wrap{display:none!important}

/* Floating controls, SimplePDFTools-style */
.controls-bar{
  top:10px;
  right:16px;
  z-index:1200;
}
.ctrl-btn{
  background:rgba(255,255,255,.96);
  border:1px solid rgba(191,219,254,.95);
  color:#0f3d75;
  border-radius:999px;
  box-shadow:0 10px 26px rgba(15,61,117,.16);
}
.ctrl-btn i{color:#2563eb}
.ctrl-btn:hover{
  background:#2563eb;
  border-color:#2563eb;
  color:#fff;
  transform:translateY(-1px);
}
[data-theme="dark"] .ctrl-btn{
  background:rgba(17,28,49,.95);
  border-color:#20324f;
  color:#e6f0ff;
}

/* Top category navigation */
.calc-nav{
  background:linear-gradient(135deg,#0f3d75 0%,#1d4ed8 54%,#38bdf8 100%);
  border-bottom:none;
  padding:.78rem 0;
  box-shadow:0 16px 35px rgba(15,61,117,.23);
}
.calc-nav::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 15% 10%,rgba(255,255,255,.28),transparent 28%),
    linear-gradient(90deg,rgba(255,255,255,.08),transparent);
  pointer-events:none;
}
.nav-pills{
  justify-content:flex-start;
  padding-right:230px;
  position:relative;
  z-index:1;
}
.nav-pill{
  color:#fff;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}
.nav-pill i{color:#dbeafe}
.nav-pill:hover{
  background:rgba(255,255,255,.22);
  color:#fff;
  transform:translateY(-2px);
}

/* Search/filter bar as a clean SaaS toolbar */
.sfbar{
  top:54px;
  background:rgba(255,255,255,.93);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(219,234,254,.95);
  box-shadow:0 10px 26px rgba(15,61,117,.07);
}
[data-theme="dark"] .sfbar{
  background:rgba(15,23,42,.94);
  border-bottom-color:#20324f;
}
.srch,.fg input,.fg select,.hsn-si{
  border-color:#cfe3ff;
  border-radius:12px;
}
.srch:focus,.fg input:focus,.fg select:focus,.hsn-si:focus{
  border-color:#2563eb;
  box-shadow:0 0 0 4px rgba(37,99,235,.12);
}
.fp,.sc-btn{
  border-color:#cfe3ff;
  border-radius:999px;
}
.fp:hover,.fp.active{
  background:linear-gradient(135deg,#0f3d75,#2563eb);
  border-color:#2563eb;
  color:#fff;
}
.sc-btn:hover{background:#eff6ff}

/* Section area */
.calc-sec{padding:1.2rem 0 3.25rem}
.fav-sec{
  background:linear-gradient(135deg,rgba(239,246,255,.95),rgba(255,255,255,.95));
  border-color:#bfdbfe;
  box-shadow:var(--sh2);
}

/* Category panels: same category structure, upgraded blue family theme */
.calc-cat{
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(191,219,254,.9)!important;
  box-shadow:var(--sh3);
  backdrop-filter:blur(12px);
  border-radius:22px;
}
[data-theme="dark"] .calc-cat{
  background:rgba(17,28,49,.78)!important;
  border-color:#20324f!important;
}
.cat-basic{box-shadow:0 18px 44px rgba(37,99,235,.10)}
.cat-invest{box-shadow:0 18px 44px rgba(14,165,233,.11)}
.cat-taxloan{box-shadow:0 18px 44px rgba(15,61,117,.10)}
.cat-special{box-shadow:0 18px 44px rgba(56,189,248,.12)}
.cat-hdr{
  top:105px;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(239,246,255,.94))!important;
  border:1px solid rgba(191,219,254,.85);
  box-shadow:0 8px 22px rgba(15,61,117,.08);
}
[data-theme="dark"] .cat-hdr{
  background:linear-gradient(135deg,rgba(17,28,49,.96),rgba(15,23,42,.94))!important;
  border-color:#20324f;
}
.cat-ttl,.cat-basic .cat-ttl,.cat-invest .cat-ttl,.cat-taxloan .cat-ttl,.cat-special .cat-ttl{
  color:#0f3d75!important;
}
[data-theme="dark"] .cat-ttl{color:#e6f0ff!important}
.cat-cnt{
  background:#dbeafe;
  color:#0f3d75;
  padding:.24rem .68rem;
}
[data-theme="dark"] .cat-cnt{
  background:#20324f;
  color:#dbeafe;
}

/* Cards */
.calc-card{
  border:1px solid rgba(191,219,254,.9);
  border-radius:20px;
  box-shadow:var(--sh2);
  overflow:hidden;
}
.calc-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,#0f3d75,#2563eb,#38bdf8);
}
.calc-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--sh3);
  border-color:#93c5fd;
}
.card-top{
  border-bottom:1px solid #e6f0ff;
}
.card-ttl i{
  color:#2563eb;
  background:linear-gradient(135deg,#dbeafe,#eff6ff);
  border:1px solid #bfdbfe;
}
[data-theme="dark"] .card-top{border-bottom-color:#20324f}
.fav-star.on,.fav-star:hover{color:#f59e0b}

/* Buttons */
.btn{
  border-radius:12px;
}
.btn-p{
  background:linear-gradient(135deg,#0f3d75,#2563eb)!important;
  box-shadow:0 10px 20px rgba(37,99,235,.18);
}
.btn-p:hover{
  background:linear-gradient(135deg,#0b3264,#1d4ed8)!important;
  box-shadow:0 14px 26px rgba(37,99,235,.24);
}
.btn-s{
  background:#eff6ff;
  color:#0f3d75;
  border-color:#bfdbfe;
}
.btn-s:hover{background:#dbeafe}
[data-theme="dark"] .btn-s{
  background:#162640;
  color:#dbeafe;
  border-color:#20324f;
}

/* Modal */
.m-hdr,.m-ftr{
  background:linear-gradient(135deg,#0f3d75,#2563eb)!important;
}
.m-body{
  border-left-color:#2563eb;
}
.amort-tbl th{
  background:linear-gradient(135deg,#0f3d75,#2563eb)!important;
}

/* Footer */
.footer{
  background:linear-gradient(135deg,#0b3264,#0f3d75 55%,#1d4ed8);
  box-shadow:0 -18px 45px rgba(15,61,117,.16);
}

/* Floating actions */
#stt{
  background:linear-gradient(135deg,#0f3d75,#2563eb);
  box-shadow:0 10px 24px rgba(37,99,235,.32);
}
#scFab{
  background:linear-gradient(135deg,#1d4ed8,#38bdf8);
  box-shadow:0 10px 24px rgba(37,99,235,.28);
}

@media(max-width:768px){
  .controls-bar{
    top:auto;
    bottom:78px;
    right:12px;
    flex-direction:column;
  }
  .ctrl-btn{
    padding:7px 10px;
    font-size:.76rem;
  }
  .nav-pills{
    justify-content:center;
    padding-right:0;
  }
  .calc-nav{
    padding:.65rem 0;
  }
  .sfbar{
    top:57px;
  }
  .cat-hdr{
    top:158px;
    align-items:flex-start;
    gap:.55rem;
  }
}
@media(max-width:480px){
  .nav-pill{
    padding:.45rem .72rem;
    font-size:.77rem;
  }
  .calc-sec{padding-top:.75rem}
  .calc-cat{padding:.95rem;border-radius:18px}
  .cat-hdr{
    flex-direction:row;
    top:190px;
  }
  .controls-bar{
    bottom:72px;
  }
}


/* Header link refinements */
.controls-bar{
  align-items:center;
  flex-wrap:wrap;
  max-width:min(620px,calc(100vw - 24px));
}
.ctrl-btn{
  text-decoration:none;
}
.nav-pills{
  padding-right:300px;
}
.footer{
  padding:1.15rem 0!important;
  margin-top:2rem;
}
.footer .foot-in p{
  max-width:none;
  margin:0 auto;
  font-size:.86rem;
  opacity:.92;
}
@media(max-width:900px){
  .controls-bar{
    position:static;
    justify-content:center;
    padding:.65rem .75rem .2rem;
    background:linear-gradient(135deg,#0f3d75 0%,#1d4ed8 54%,#38bdf8 100%);
  }
  .nav-pills{padding-right:0}
  .calc-nav{position:sticky;top:0}
}
@media(max-width:480px){
  .controls-bar{gap:6px}
  .ctrl-btn{font-size:.72rem;padding:6px 9px}
}

/* Final header cleanup: remove all buttons shown in the header screenshot */
.calc-nav{display:none!important}
.sfbar{top:0!important}
.cat-hdr{top:72px!important}
@media(max-width:768px){
  .sfbar{top:0!important}
  .cat-hdr{top:158px!important}
}
@media(max-width:480px){
  .cat-hdr{top:190px!important}
}



/* Final fix: remove any background/icon showing between About and Contact buttons */
.controls-bar{
  position:sticky!important;
  top:0!important;
  left:0!important;
  right:auto!important;
  width:100%!important;
  max-width:none!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 16px!important;
  background:linear-gradient(135deg,#0f3d75 0%,#1d4ed8 58%,#38bdf8 100%)!important;
  box-shadow:0 12px 28px rgba(15,61,117,.18)!important;
  z-index:1400!important;
}
.controls-bar::before,.controls-bar::after,.ctrl-btn::before,.ctrl-btn::after{
  content:none!important;
  display:none!important;
  background:none!important;
}
.controls-bar .ctrl-btn{
  position:relative!important;
  z-index:2!important;
  overflow:hidden!important;
  background:#ffffff!important;
  border:1px solid #bfdbfe!important;
  color:#0f3d75!important;
  box-shadow:0 8px 18px rgba(15,61,117,.16)!important;
}
.controls-bar .ctrl-btn:hover{
  background:#eff6ff!important;
  color:#0f3d75!important;
}
.controls-bar .ctrl-btn i{display:none!important}
.sfbar{top:0!important}
@media(max-width:900px){
  .controls-bar{
    position:sticky!important;
    justify-content:center!important;
    padding:10px 12px!important;
  }
}
@media(max-width:480px){
  .controls-bar{gap:8px!important;padding:9px 8px!important}
  .controls-bar .ctrl-btn{font-size:.72rem!important;padding:6px 9px!important}
}

/* ═══ back to top ═══ */
.to-top{
  position:fixed;right:1.15rem;
  /* env() keeps it clear of the iPhone home indicator and Android gesture bar. */
  bottom:calc(1.15rem + env(safe-area-inset-bottom,0px));
  width:46px;height:46px;border:0;border-radius:50%;cursor:pointer;
  display:grid;place-items:center;font-size:1rem;color:#fff;
  background:linear-gradient(135deg,#3b82f6,#ff69b4);
  box-shadow:0 6px 20px rgba(30,58,138,.34);
  /* Below .m-ov (9999) so a result modal covers it, above page chrome. */
  z-index:900;
  opacity:0;visibility:hidden;transform:translateY(12px) scale(.85);
  transition:opacity .22s ease,transform .22s ease,visibility .22s;
}
.to-top.on{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.to-top:hover{transform:translateY(-3px) scale(1.06);box-shadow:0 10px 26px rgba(30,58,138,.45)}
.to-top:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
[dir="rtl"] .to-top{right:auto;left:1.15rem}
@media(max-width:640px){.to-top{width:42px;height:42px;right:.85rem;bottom:calc(.85rem + env(safe-area-inset-bottom,0px))}}
@media print{
  .to-top,.share-sec{display:none!important}
  /* Cross-promo links are ads. On paper they are wasted ink and nothing else. */
  .promo,.promo-in,.hero-svg{display:none!important}

  /* FIX: footer/FAQ/related-calculators/updated-bar were previously only
     hidden when the result modal was open (body:has(#calcModal) below).
     Any page printed directly — Ctrl+P with no modal open, or the
     window.print()-calling pages (GST Filing Checklist, Rate Card
     Generator) — still printed these sections in full, which is exactly
     the "unwanted content on paper" the audit flagged. None of these add
     value on a printed page, modal or not. */
  .footer,.faq-sec,.rel-sec,.upd-bar{display:none!important}

  /* Rate Card Generator: once a card has been generated, print ONLY the
     card — not the business-name/address/item-row input form sitting
     above it. (No effect on pages without #rc_preview.) */
  body:has(#rc_preview:not([hidden])) .calc-card{display:none!important}

  /* GST Filing Checklist: keep the rendered checklist, hide the return-type
     selector above it — it's an input control, not part of the report. */
  body:has(#chk_list) .fg:has(#chk_type){display:none!important}

  /* Ctrl+P with a result open used to CLIP the result: .m-box caps at 90vh with
     overflow-y:auto, so anything past one viewport never reached the printer,
     and .m-ov is position:fixed (first page only) over a 60%-black backdrop.
     Unwind all of it for print. */
  .m-ov{position:static!important;inset:auto!important;background:none!important;
        display:block!important;padding:0!important;z-index:auto!important}
  .m-box{max-height:none!important;overflow:visible!important;max-width:none!important;
         box-shadow:none!important;border-radius:0!important;background:#fff!important}
  .m-box pre{white-space:pre-wrap!important;word-wrap:break-word!important;
             background:#fff!important;color:#000!important;border-left:2px solid #333!important}

  /* When a result is open, print the result — not the page behind it.
     :has() is progressive: without it you get page + result, which still reads. */
  body:has(#calcModal) .calc-card,
  body:has(#calcModal) .upd-bar{display:none!important}
}

/* ═══ share ═══ */
.share-sec{max-width:820px;margin:2rem auto 1.25rem;padding:1.25rem;border:1px solid var(--border);border-radius:14px;background:var(--card);text-align:center}
.share-h{font-size:1.05rem;margin:0 0 .3rem;color:var(--txt);display:flex;align-items:center;justify-content:center;gap:.45rem}
.share-h i{color:var(--pink)}
.share-p{font-size:.82rem;color:var(--g500);margin:0 0 .9rem}
.share-grid{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
.sh-btn{
  display:inline-flex;align-items:center;gap:.42rem;padding:.5rem .85rem;
  border:1px solid var(--border);border-radius:9px;background:var(--bg);
  color:var(--txt);font-size:.78rem;font-weight:600;cursor:pointer;
  font-family:inherit;transition:transform .16s,box-shadow .16s,background .16s,color .16s;
}
.sh-btn:hover{transform:translateY(-2px);color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.16)}
.sh-btn:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.sh-btn i{font-size:.92rem}
.sh-native:hover{background:linear-gradient(135deg,#3b82f6,#ff69b4);border-color:transparent}
.sh-wa:hover{background:#25d366;border-color:#25d366}
.sh-fb:hover{background:#1877f2;border-color:#1877f2}
.sh-tw:hover{background:#000;border-color:#000}
.sh-li:hover{background:#0a66c2;border-color:#0a66c2}
.sh-tg:hover{background:#229ed9;border-color:#229ed9}
.sh-em:hover{background:#64748b;border-color:#64748b}
.sh-cp:hover{background:var(--blue);border-color:var(--blue)}
.sh-cp.ok{background:#10b981;border-color:#10b981;color:#fff}
.share-note{font-size:.7rem;color:var(--g400);margin:.85rem 0 0}
/* FIX: same root cause as .mn-l above — .sh-btn{display:inline-flex} is an
   author rule and always overrides the UA [hidden] rule regardless of
   specificity. #shNative starts hidden in the HTML and is only revealed by
   JS when navigator.share actually exists — but without this override it
   was visible on every browser from page load, before that JS check even
   ran, including desktop browsers with no Web Share API. Clicking it there
   did nothing (shareNative() correctly no-ops without navigator.share), so
   this was a real dead-looking button on most desktop visits, not just a
   cosmetic slip. */
.sh-btn[hidden]{display:none}
@media(max-width:640px){.sh-btn span{display:none}.sh-btn{padding:.6rem .75rem}.sh-btn i{font-size:1.05rem}.sh-native span{display:inline!important}}

/* ═══ tooltips ═══ */
/* data-tip drives this bubble. Elements using it must NOT also carry title=,
   or the browser paints its native tooltip on top. */
[data-tip]{position:relative}
[data-tip]::after{
  content:attr(data-tip);
  position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);
  background:#0f172a;color:#fff;font-size:.7rem;font-weight:600;line-height:1.35;
  padding:.4rem .6rem;border-radius:6px;white-space:nowrap;
  opacity:0;visibility:hidden;pointer-events:none;z-index:9997;
  transition:opacity .16s ease,transform .16s ease,visibility .16s;
  box-shadow:0 4px 14px rgba(0,0,0,.28);
}
[data-tip]::before{
  content:"";position:absolute;bottom:calc(100% + 3px);left:50%;
  transform:translateX(-50%) translateY(4px);
  border:5px solid transparent;border-top-color:#0f172a;
  opacity:0;visibility:hidden;pointer-events:none;z-index:9997;
  transition:opacity .16s ease,transform .16s ease,visibility .16s;
}
[data-tip]:hover::after,[data-tip]:hover::before,
[data-tip]:focus-visible::after,[data-tip]:focus-visible::before{
  opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);
}
[data-theme="dark"] [data-tip]::after{background:#334155}
[data-theme="dark"] [data-tip]::before{border-top-color:#334155}
/* The floating button sits at the right edge — a centred bubble would overflow. */
.to-top[data-tip]::after{left:auto;right:0;transform:translateX(0) translateY(4px)}
.to-top[data-tip]:hover::after,.to-top[data-tip]:focus-visible::after{transform:translateX(0) translateY(0)}
.to-top[data-tip]::before{left:auto;right:17px;transform:translateX(0) translateY(4px)}
.to-top[data-tip]:hover::before,.to-top[data-tip]:focus-visible::before{transform:translateX(0) translateY(0)}
[dir="rtl"] .to-top[data-tip]::after{right:auto;left:0}
[dir="rtl"] .to-top[data-tip]::before{right:auto;left:17px}
/* Touch devices have no hover — the bubble would stick after a tap. */
@media(hover:none){[data-tip]::after,[data-tip]::before{display:none}}
@media(prefers-reduced-motion:reduce){
  .to-top,[data-tip]::after,[data-tip]::before,.sh-btn{transition:none}
  .to-top:hover,.sh-btn:hover{transform:none}
}

/* ═══ generated-page layouts ═══ */
.crumbs{display:flex;align-items:center;gap:.45rem;font-size:.76rem;color:var(--g500);padding:.7rem 0 0;flex-wrap:wrap}
.crumbs a{color:var(--blue);text-decoration:none}
.crumbs [aria-current="page"]{font-weight:700;color:var(--txt)}.crumbs a:hover{text-decoration:underline}
.tool-main{padding-bottom:2rem}
.tool-h1{font-size:1.6rem;margin:.5rem 0 .7rem;display:flex;align-items:center;gap:.55rem;color:var(--txt)}
.tool-h1 i{color:var(--blue)}
@media(max-width:640px){.tool-h1{font-size:1.25rem}}
.calc-grid.one{max-width:820px;margin:0 auto}
.sec-h{font-size:1.15rem;margin:1.6rem 0 .8rem;display:flex;align-items:center;gap:.5rem;color:var(--txt)}
.sec-h i{color:var(--pink)}
.faq-sec{max-width:820px;margin:0 auto}
.faq-i{border:1px solid var(--border);border-radius:10px;margin-bottom:.5rem;background:var(--card);overflow:hidden}
.faq-i summary{cursor:pointer;padding:.75rem 1rem;font-weight:700;font-size:.87rem;color:var(--txt);list-style:none;position:relative;padding-right:2.2rem}
.faq-i summary::-webkit-details-marker{display:none}
.faq-i summary::after{content:"+";position:absolute;right:1rem;top:.7rem;font-size:1.1rem;color:var(--blue);font-weight:800}
.faq-i[open] summary::after{content:"−"}
.faq-i p{margin:0;padding:0 1rem .85rem;font-size:.82rem;line-height:1.65;color:var(--g500)}
.rel-sec{max-width:820px;margin:0 auto}
.rel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem}
.rel-c{display:flex;align-items:center;gap:.5rem;padding:.7rem .9rem;border:1px solid var(--border);border-radius:10px;background:var(--card);text-decoration:none;color:var(--txt);font-size:.82rem;font-weight:600;transition:transform .18s,border-color .18s}
.rel-c:hover{transform:translateY(-2px);border-color:var(--blue)}
.rel-c i{color:var(--blue)}
.rel-all{background:linear-gradient(100deg,rgba(59,130,246,.12),rgba(255,105,180,.12));border-style:dashed}
/* hub */
.hero-flex{display:grid;grid-template-columns:1fr 340px;gap:1.5rem;align-items:center}
@media(max-width:900px){.hero-flex{grid-template-columns:1fr}.hero-art{display:none}}
.hero-svg{width:100%;height:auto;max-width:340px}
.fl-a,.fl-b,.fl-c{animation:floaty 5s ease-in-out infinite}
.fl-b{animation-delay:-1.6s}.fl-c{animation-delay:-3.2s}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media(prefers-reduced-motion:reduce){.fl-a,.fl-b,.fl-c,.upd-pill i{animation:none}}
.mn-wrap{margin:1.2rem auto}
.mn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;padding:1.1rem;border:1px solid var(--border);border-radius:14px;background:var(--card)}
.mn-h{display:block;font-size:.8rem;margin-bottom:.45rem;color:var(--txt);padding-bottom:.35rem;border-bottom:2px solid var(--border)}
.mn-h i{color:var(--blue);margin-right:.3rem}
.mn-l{display:block;font-size:.78rem;color:var(--g500);text-decoration:none;padding:.2rem 0}
.mn-l:hover{color:var(--blue);text-decoration:underline}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:.75rem}
.hub-c{display:flex;align-items:center;gap:.7rem;padding:.85rem;border:1px solid var(--border);border-radius:12px;background:var(--card);text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s}
.hub-c:hover{transform:translateY(-3px);border-color:var(--blue);box-shadow:0 8px 22px rgba(30,58,138,.10)}
.hub-ic{flex:0 0 auto;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#3b82f6,#ff69b4);color:#fff}
.hub-tx{display:flex;flex-direction:column;gap:.1rem;min-width:0}
.hub-tx strong{font-size:.85rem;color:var(--txt)}
.hub-tx small{font-size:.71rem;color:var(--g500);line-height:1.4}
.hub-ar{margin-left:auto;color:var(--blue);opacity:.35;transition:opacity .18s,transform .18s}
.hub-c:hover .hub-ar{opacity:1;transform:translateX(3px)}
.cat-n{font-size:.72rem;font-weight:800;color:#fff;background:var(--blue);border-radius:20px;padding:.1rem .5rem}
[dir="rtl"] .crumbs,[dir="rtl"] .hub-c,[dir="rtl"] .rel-c{flex-direction:row-reverse}
[dir="rtl"] .hub-ar{margin-left:0;margin-right:auto;transform:scaleX(-1)}
[dir="rtl"] .faq-i summary{padding-right:1rem;padding-left:2.2rem}
[dir="rtl"] .faq-i summary::after{right:auto;left:1rem}

.cmdk-kbd{margin-left:.4rem;font-size:.68rem;font-weight:600;border:1px solid currentColor;border-radius:4px;padding:.05rem .35rem;opacity:.75;font-family:inherit}
@media (max-width:640px){.cmdk-kbd{display:none}}

.site-masthead{display:flex;align-items:center;gap:.8rem;padding:4.2rem 0 .6rem;margin:0 auto}
.masthead-icon{border-radius:11px;flex:none;box-shadow:0 2px 8px rgba(30,58,138,.2)}
.masthead-text{display:flex;flex-direction:column;line-height:1.25}
.masthead-name{
  font-size:1.3rem;font-weight:800;letter-spacing:-.01em;display:block;
  background:linear-gradient(45deg,#1e3a8a,#3b82f6,#ff69b4,#3b82f6,#1e3a8a);
  background-size:300% 300%;background-clip:text;-webkit-background-clip:text;
  -webkit-text-fill-color:transparent;animation:gradShift 3s ease-in-out infinite;
}
.masthead-tag{font-size:.78rem;font-weight:600;color:#3b82f6}
@media (max-width:640px){
  .site-masthead{padding-top:5.6rem}
  .masthead-icon{width:38px;height:38px}
  .masthead-name{font-size:1.1rem}
}

/* ── Additional themes (Ocean, Sunset, Midnight) — appended last so they
   win the cascade over the earlier duplicate :root/[data-theme] blocks. ── */
[data-theme="ocean"]{
  --pink:#0891b2;--dpink:#0e7490;--pink4:#cffafe;
  --blue:#0c4a6e;--blue5:#0284c7;--blue6:#0369a1;--green:#059669;
  --bg:#f0f9ff;--bg2:#e0f2fe;--card:#ffffff;
  --txt:#0c4a6e;--txt2:#475569;--border:#bae6fd;
  --g50:#f0f9ff;--g100:#e0f2fe;--g200:#bae6fd;--g300:#7dd3fc;--g400:#38bdf8;--g500:#0284c7;--g600:#0369a1;
  --sh2:0 4px 6px -1px rgba(2,132,199,.12);--sh3:0 10px 15px -3px rgba(2,132,199,.15);--sh4:0 20px 25px -5px rgba(2,132,199,.18);
  --radius:14px;
}
[data-theme="ocean"] body{background:linear-gradient(135deg,#e0f2fe 0%,#fff 50%,#f0f9ff 100%)}
[data-theme="ocean"] .ctrl-btn{background:rgba(255,255,255,.95);color:var(--blue)}
[data-theme="sunset"]{
  --pink:#f97316;--dpink:#c2410c;--pink4:#ffedd5;
  --blue:#7c2d12;--blue5:#ea580c;--blue6:#c2410c;--green:#16a34a;
  --bg:#fff7ed;--bg2:#ffedd5;--card:#ffffff;
  --txt:#7c2d12;--txt2:#92400e;--border:#fed7aa;
  --g50:#fff7ed;--g100:#ffedd5;--g200:#fed7aa;--g300:#fdba74;--g400:#fb923c;--g500:#ea580c;--g600:#c2410c;
  --sh2:0 4px 6px -1px rgba(234,88,12,.12);--sh3:0 10px 15px -3px rgba(234,88,12,.15);--sh4:0 20px 25px -5px rgba(234,88,12,.18);
  --radius:14px;
}
[data-theme="sunset"] body{background:linear-gradient(135deg,#ffedd5 0%,#fff 50%,#fff7ed 100%)}
[data-theme="sunset"] .ctrl-btn{background:rgba(255,255,255,.95);color:var(--blue)}
[data-theme="midnight"]{
  --pink:#a78bfa;--dpink:#8b5cf6;--pink4:#4c1d95;
  --blue:#ede9fe;--blue5:#a78bfa;--blue6:#8b5cf6;--green:#34d399;
  --bg:#0f0a1f;--bg2:#1e1533;--card:#1e1533;
  --txt:#ede9fe;--txt2:#c4b5fd;--border:#3730a3;
  --g50:#1e1533;--g100:#2e2249;--g200:#3e2f5e;--g300:#4c3a73;--g400:#8b7ba8;--g500:#c4b5fd;--g600:#ede9fe;
  --sh2:0 4px 6px -1px rgba(0,0,0,.4);--sh3:0 10px 15px -3px rgba(0,0,0,.4);--sh4:0 20px 25px -5px rgba(0,0,0,.45);
  --radius:14px;
}
[data-theme="midnight"] .ctrl-btn{background:rgba(30,21,51,.95);color:var(--txt)}

/* Flashy glowing star on the header cross-promo PDF Tools link only —
   scoped to .controls-bar + utm_medium=header so it never matches the
   About/Contact links or the other hero/footer cross-promo CTAs, which
   share the same simplepdftools.in domain but different utm_medium values. */
.controls-bar a.ctrl-btn[href*="utm_medium=header"]{position:relative;overflow:visible}
.controls-bar a.ctrl-btn[href*="utm_medium=header"]::after{
  content:"b50";position:absolute;top:-10px;right:-8px;font-size:.85rem;
  line-height:1;pointer-events:none;
  animation:starGlow 1.3s ease-in-out infinite;
}
@keyframes starGlow{
  0%,100%{opacity:.55;filter:drop-shadow(0 0 1px gold);transform:scale(.85) rotate(-8deg)}
  50%{opacity:1;filter:drop-shadow(0 0 5px gold) drop-shadow(0 0 9px orange);transform:scale(1.2) rotate(8deg)}
}

.mn-more-wrap{text-align:center;margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--border)}
.mn-more-btn{background:none;border:2px solid var(--pink);border-radius:25px;padding:.5rem 1.3rem;font-weight:600;font-size:.85rem;color:var(--blue);cursor:pointer;transition:all .2s}
.mn-more-btn:hover{background:var(--pink);color:#fff}
.mn-more-btn.on i{transform:rotate(180deg)}
.mn-more-btn i{transition:transform .2s;margin-left:.3rem}
/* FIX: .mn-l{display:block} is an author rule and therefore always wins over
   the browser's default [hidden]{display:none} UA-stylesheet rule, no matter
   what — author styles beat UA styles regardless of selector specificity.
   That meant toggleMoreTools() correctly flipped the `hidden` attribute (and
   the button's own label/aria-expanded) but the .mn-extra links never
   actually hid or showed: "Show fewer tools" changed the label text but had
   no visible effect. This re-asserts display:none for any element carrying
   both classes while hidden, restoring the toggle. */
.mn-l.mn-extra[hidden]{display:none}

/* ── 4 additional themes (Forest, Rose, Amber, Slate) — 9 themes total ── */
[data-theme="forest"]{
  --pink:#16a34a;--dpink:#15803d;--pink4:#dcfce7;
  --blue:#14532d;--blue5:#16a34a;--blue6:#15803d;--green:#22c55e;
  --bg:#f0fdf4;--bg2:#dcfce7;--card:#ffffff;
  --txt:#14532d;--txt2:#3f6212;--border:#bbf7d0;
  --g50:#f0fdf4;--g100:#dcfce7;--g200:#bbf7d0;--g300:#86efac;--g400:#4ade80;--g500:#16a34a;--g600:#15803d;
  --sh2:0 4px 6px -1px rgba(22,163,74,.12);--sh3:0 10px 15px -3px rgba(22,163,74,.15);--sh4:0 20px 25px -5px rgba(22,163,74,.18);
  --radius:14px;
}
[data-theme="forest"] body{background:linear-gradient(135deg,#dcfce7 0%,#fff 50%,#f0fdf4 100%)}
[data-theme="forest"] .ctrl-btn{background:rgba(255,255,255,.95);color:var(--blue)}
[data-theme="rose"]{
  --pink:#e11d48;--dpink:#be123c;--pink4:#ffe4e6;
  --blue:#881337;--blue5:#e11d48;--blue6:#be123c;--green:#10b981;
  --bg:#fff1f2;--bg2:#ffe4e6;--card:#ffffff;
  --txt:#881337;--txt2:#9f1239;--border:#fecdd3;
  --g50:#fff1f2;--g100:#ffe4e6;--g200:#fecdd3;--g300:#fda4af;--g400:#fb7185;--g500:#e11d48;--g600:#be123c;
  --sh2:0 4px 6px -1px rgba(225,29,72,.12);--sh3:0 10px 15px -3px rgba(225,29,72,.15);--sh4:0 20px 25px -5px rgba(225,29,72,.18);
  --radius:14px;
}
[data-theme="rose"] body{background:linear-gradient(135deg,#ffe4e6 0%,#fff 50%,#fff1f2 100%)}
[data-theme="rose"] .ctrl-btn{background:rgba(255,255,255,.95);color:var(--blue)}
[data-theme="amber"]{
  --pink:#d97706;--dpink:#b45309;--pink4:#fef3c7;
  --blue:#78350f;--blue5:#d97706;--blue6:#b45309;--green:#16a34a;
  --bg:#fffbeb;--bg2:#fef3c7;--card:#ffffff;
  --txt:#78350f;--txt2:#92400e;--border:#fde68a;
  --g50:#fffbeb;--g100:#fef3c7;--g200:#fde68a;--g300:#fcd34d;--g400:#fbbf24;--g500:#d97706;--g600:#b45309;
  --sh2:0 4px 6px -1px rgba(217,119,6,.12);--sh3:0 10px 15px -3px rgba(217,119,6,.15);--sh4:0 20px 25px -5px rgba(217,119,6,.18);
  --radius:14px;
}
[data-theme="amber"] body{background:linear-gradient(135deg,#fef3c7 0%,#fff 50%,#fffbeb 100%)}
[data-theme="amber"] .ctrl-btn{background:rgba(255,255,255,.95);color:var(--blue)}
[data-theme="slate"]{
  --pink:#475569;--dpink:#334155;--pink4:#e2e8f0;
  --blue:#0f172a;--blue5:#475569;--blue6:#334155;--green:#059669;
  --bg:#0b1120;--bg2:#161e2e;--card:#161e2e;
  --txt:#e2e8f0;--txt2:#94a3b8;--border:#2b3648;
  --g50:#161e2e;--g100:#1e293b;--g200:#2b3648;--g300:#3e4c63;--g400:#64748b;--g500:#94a3b8;--g600:#cbd5e1;
  --sh2:0 4px 6px -1px rgba(0,0,0,.4);--sh3:0 10px 15px -3px rgba(0,0,0,.4);--sh4:0 20px 25px -5px rgba(0,0,0,.45);
  --radius:14px;
}
[data-theme="slate"] .ctrl-btn{background:rgba(22,30,46,.95);color:var(--txt)}

/* ── Static content pages (About / Contact / Privacy) ── */
.static-hero{padding:6.5rem 0 1.5rem;text-align:center}
@media (max-width:640px){.static-hero{padding-top:7.5rem}}
.static-hero i{font-size:2.2rem;color:var(--pink);margin-bottom:.6rem;display:block}
.static-hero h1{font-size:1.9rem;font-weight:800;color:var(--txt);margin-bottom:.5rem}
.static-hero p{color:var(--txt2);font-size:1rem;max-width:640px;margin:0 auto}
.static-body{max-width:800px;margin:0 auto;padding:1rem 2rem 4rem}
.static-body h2{font-size:1.3rem;font-weight:800;color:var(--txt);margin:2.2rem 0 .8rem;padding-top:.6rem;border-top:1px solid var(--border)}
.static-body h2:first-of-type{border-top:none;padding-top:0;margin-top:1rem}
.static-body h3{font-size:1.05rem;font-weight:700;color:var(--txt);margin:1.3rem 0 .5rem}
.static-body p{color:var(--txt2);line-height:1.7;margin-bottom:.9rem}
.static-body ul{margin:0 0 .9rem 1.3rem;color:var(--txt2);line-height:1.7}
.static-body li{margin-bottom:.4rem}
.static-body a{color:var(--blue5);text-decoration:underline}
.static-body strong{color:var(--txt)}
.static-updated{display:inline-block;background:var(--g50);border:1px solid var(--border);border-radius:20px;padding:.35rem 1rem;font-size:.8rem;color:var(--txt2);margin-bottom:1rem}
.static-toc{background:var(--g50);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem 1.5rem;margin:1.5rem 0 2rem}
.static-toc strong{display:block;margin-bottom:.6rem;color:var(--txt)}
.static-toc ul{margin:0 0 0 1.2rem}
.static-toc a{text-decoration:none}
.static-toc a:hover{text-decoration:underline}
.contact-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1.5rem 0}
.contact-info-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem;box-shadow:var(--sh2)}
.contact-info-card i{color:var(--pink);font-size:1.3rem;margin-bottom:.5rem;display:block}
.contact-info-card strong{display:block;color:var(--txt);margin-bottom:.3rem}
.contact-info-card span,.contact-info-card a{color:var(--txt2);font-size:.9rem}

/* ══════════════════════════════════════════════════════════════════
   GOD MODE UPGRADE — PREMIUM HEADER CTA ("Free PDF Tools")
   Scoped to .controls-bar a.ctrl-btn[href*="utm_medium=header"] only,
   so the About/Contact links and the tool-page/footer cross-promo CTAs
   (utm_medium=tool_*/footer) are completely untouched. Wins over the
   earlier !important passes above via higher selector specificity, so
   nothing that still depends on those older rules for other buttons
   breaks. Destination URL, UTM params, data-track and data-location
   are unchanged in the HTML — this is a CSS-only redesign.
   ══════════════════════════════════════════════════════════════════ */
.controls-bar a.ctrl-btn[href*="utm_medium=header"]{
  position:relative;
  overflow:hidden;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:44px;
  padding:9px 15px!important;
  background:linear-gradient(115deg,#dc2626 0%,#e11d48 30%,#a21caf 64%,#7c3aed 100%)!important;
  background-size:160% 160%;
  border:none!important;
  color:#fff!important;
  font-weight:700;
  border-radius:999px;
  box-shadow:0 4px 14px rgba(124,58,237,.35),0 2px 6px rgba(220,38,38,.22)!important;
  transition:transform .22s ease,box-shadow .22s ease,background-position .3s ease;
}
[data-theme="dark"] .controls-bar a.ctrl-btn[href*="utm_medium=header"]{
  color:#fff!important;
  box-shadow:0 4px 16px rgba(124,58,237,.5),0 2px 6px rgba(220,38,38,.3)!important;
}
.controls-bar a.ctrl-btn[href*="utm_medium=header"] i{
  display:inline-block!important;
  position:relative;
  z-index:2;
  color:#fff!important;
  font-size:.9rem!important;
}
.controls-bar a.ctrl-btn[href*="utm_medium=header"] span{
  position:relative;
  z-index:2;
  white-space:nowrap;
}
/* small "100+ Tools" badge, CSS-only (no markup change) */
.controls-bar a.ctrl-btn[href*="utm_medium=header"] span::after{
  content:"100+ Tools";
  position:relative;
  z-index:2;
  margin-left:7px;
  padding:1px 7px;
  font-size:.6rem;
  font-weight:800;
  letter-spacing:.02em;
  background:rgba(255,255,255,.26);
  border-radius:999px;
  white-space:nowrap;
  vertical-align:middle;
}
/* gentle animated shine sweep */
.controls-bar a.ctrl-btn[href*="utm_medium=header"]::after{
  content:"";
  position:absolute;
  z-index:1;
  top:0;left:-60%;
  width:40%;
  height:100%;
  background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%);
  transform:skewX(-20deg);
  animation:pdfCtaShine 3.4s ease-in-out infinite;
  pointer-events:none;
}
@keyframes pdfCtaShine{
  0%,30%{left:-60%}
  70%,100%{left:130%}
}
/* desktop hover lift + brighter glow */
@media(hover:hover) and (pointer:fine){
  .controls-bar a.ctrl-btn[href*="utm_medium=header"]:hover{
    color:#fff!important;
    transform:translateY(-2px);
    background-position:60% 40%;
    box-shadow:0 10px 24px rgba(124,58,237,.48),0 4px 12px rgba(220,38,38,.3)!important;
  }
}
/* mobile press feedback */
.controls-bar a.ctrl-btn[href*="utm_medium=header"]:active{
  transform:scale(.96);
  box-shadow:0 2px 8px rgba(124,58,237,.35)!important;
}
/* accessible keyboard focus ring */
.controls-bar a.ctrl-btn[href*="utm_medium=header"]:focus-visible{
  outline:3px solid #fff;
  outline-offset:2px;
  box-shadow:0 0 0 5px rgba(124,58,237,.55),0 4px 14px rgba(124,58,237,.35)!important;
}
/* respect reduced-motion: stop the shine sweep, keep the button fully usable */
@media(prefers-reduced-motion:reduce){
  .controls-bar a.ctrl-btn[href*="utm_medium=header"]::after{animation:none;display:none}
}
/* responsive: never let the header overflow, badge drops first, label always stays */
@media(max-width:900px){
  .controls-bar a.ctrl-btn[href*="utm_medium=header"]{padding:8px 13px!important}
}
@media(max-width:480px){
  .controls-bar a.ctrl-btn[href*="utm_medium=header"]{
    padding:7px 11px!important;
    font-size:.74rem!important;
    gap:5px;
  }
  .controls-bar a.ctrl-btn[href*="utm_medium=header"] i{font-size:.8rem!important}
  .controls-bar a.ctrl-btn[href*="utm_medium=header"] span::after{display:none} /* badge hidden below 480px: avoid crowding the language/theme controls */
}

/* ═══ Mobile touch-target fix (Phase 2 QA): keep every header control and
   nav pill at ≥44px CSS height on touch devices, without changing desktop
   density. Only min-height is added; existing padding/font sizes are kept
   so nothing visually shifts beyond a small height increase where needed. ═══ */
@media(max-width:900px){
  .ctrl-btn{min-height:44px}
}
@media(max-width:480px){
  .nav-pill{min-height:44px}
}
