/* प्रतापगढ़ सहायता — civic hub. System fonts only (fast on weak networks). */
:root{
  --saffron:#FF671F; --green:#046A38; --navy:#0b2545; --ink:#10202e;
  --bg:#f6f7f4; --card:#ffffff; --line:#e3e6e0; --muted:#5b6b66;
  --red:#c62828; --red-d:#9e1b1b; --accent:#11497a; --accent-d:#0d3a63;
  --chip:#eef3ee; --radius:16px; --shadow:0 2px 10px rgba(16,32,46,.07);
  --maxw:1040px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Noto Sans Devanagari","Mukta",Arial,sans-serif;
  font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased;
}
a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 16px}
.en{color:var(--muted); font-weight:400}

/* tricolor hairline */
.tricolor{height:4px; background:linear-gradient(90deg,var(--saffron) 0 33.3%,#fff 33.3% 66.6%,var(--green) 66.6% 100%)}

/* header */
header.site{position:sticky; top:0; z-index:50; background:#fff; border-bottom:1px solid var(--line)}
.bar{display:flex; align-items:center; gap:12px; padding:10px 0; max-width:var(--maxw); margin:0 auto; padding-left:16px; padding-right:16px}
.brand{display:flex; align-items:center; gap:10px; font-weight:800; color:var(--navy); font-size:19px; white-space:nowrap}
.brand .seal{width:34px;height:34px;border-radius:50%;background:radial-gradient(120% 120% at 50% 0,var(--saffron),var(--green));display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;flex:0 0 auto}
.brand small{display:block;font-weight:600;color:var(--muted);font-size:11.5px;letter-spacing:.2px}
.bar nav{margin-left:auto; display:flex; gap:4px; flex-wrap:wrap}
.bar nav a{color:var(--ink); font-weight:600; font-size:14.5px; padding:7px 10px; border-radius:9px}
.bar nav a:hover{background:var(--chip); text-decoration:none}
@media(max-width:720px){ .bar nav{display:none} }

/* search */
.search{display:flex; gap:8px; margin:14px 0}
.search input{flex:1; padding:13px 15px; border:1.5px solid var(--line); border-radius:12px; font-size:16px; background:#fff}
.search input:focus{outline:none; border-color:var(--accent)}

/* hero */
.hero{padding:26px 0 8px}
.hero h1{font-size:27px; line-height:1.28; margin:.1em 0 .25em; color:var(--navy)}
.hero p{margin:.2em 0; color:var(--ink); font-size:16.5px}
.hero .note{color:var(--muted); font-size:14px; margin-top:8px}

/* section heads */
.sec{margin:26px 0 8px}
.sec h2{font-size:21px; color:var(--navy); margin:0 0 2px; display:flex; align-items:center; gap:9px}
.sec p.sub{margin:0 0 12px; color:var(--muted); font-size:14.5px}

/* category grid (home) */
.cats{display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px}
.cat{display:block; background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:16px 14px; box-shadow:var(--shadow); transition:transform .12s,border-color .12s}
.cat:hover{transform:translateY(-2px); border-color:#cdd6cf; text-decoration:none}
.cat .ic{font-size:30px; line-height:1}
.cat b{display:block; margin-top:9px; color:var(--ink); font-size:16px}
.cat span{display:block; color:var(--muted); font-size:12.5px}

/* item cards / rows */
.cards{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px}
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:16px; box-shadow:var(--shadow)}
.card h3{margin:0 0 4px; font-size:18px; color:var(--navy)}
.card .tagline{color:var(--ink); font-size:15px; margin:.2em 0 .5em}
.card ul{margin:.3em 0; padding-left:1.15em}
.card ul li{margin:.15em 0; font-size:14.5px}
.kv{font-size:14px; color:var(--ink); margin:.25em 0}
.kv b{color:var(--navy)}
.chips{list-style:none; display:flex; flex-wrap:wrap; gap:6px; padding:0; margin:.5em 0 0}
.chips li{background:var(--chip); color:var(--green); border:1px solid #d7e3d7; padding:4px 9px; border-radius:999px; font-size:12.5px; font-weight:600}

/* buttons */
.btn{display:inline-flex; align-items:center; gap:8px; background:var(--accent); color:#fff; padding:11px 16px; border-radius:11px; font-weight:700; font-size:15px; border:none; cursor:pointer}
.btn:hover{background:var(--accent-d); text-decoration:none}
.btn.block{display:flex; justify-content:center; width:100%}
.btn.ghost{background:#fff; color:var(--accent); border:1.5px solid var(--accent)}
.btn-sm{padding:8px 12px; font-size:14px; border-radius:9px}

/* emergency */
.emg{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px}
.tel{display:flex; align-items:center; gap:13px; background:#fff; border:1px solid var(--line); border-left:5px solid var(--red); border-radius:14px; padding:13px 14px; box-shadow:var(--shadow)}
.tel:hover{text-decoration:none; background:#fff6f5}
.tel .n{font-size:25px; font-weight:800; color:var(--red-d); min-width:64px; text-align:center; letter-spacing:.5px}
.tel .t b{display:block; color:var(--ink); font-size:16px}
.tel .t span{color:var(--muted); font-size:13px}
.tel .call{margin-left:auto; color:var(--red); font-size:20px}

/* finder */
.finder{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:18px; box-shadow:var(--shadow)}
.qrow{margin:10px 0}
.qrow > b{display:block; margin-bottom:7px; color:var(--navy)}
.opts{display:flex; flex-wrap:wrap; gap:8px}
.opt{display:inline-flex; align-items:center; gap:7px; background:var(--chip); border:1.5px solid var(--line); border-radius:999px; padding:8px 13px; font-size:14.5px; cursor:pointer; user-select:none}
.opt input{accent-color:var(--green); width:17px; height:17px}
.opt.on{background:#e7f3ea; border-color:var(--green); color:var(--green); font-weight:600}
#finderResult{margin-top:14px}
.hidden{display:none}

/* breadcrumb + page intro */
.crumb{font-size:13.5px; color:var(--muted); margin:14px 0 0}
.crumb a{color:var(--muted)}
.lead{font-size:16.5px; color:var(--ink); margin:.4em 0 0}

/* notices */
.notice{background:#fff8e8; border:1px solid #f0e0b0; border-radius:12px; padding:12px 14px; font-size:14px; color:#6a5410; margin:14px 0}
.notice.green{background:#eef7ef; border-color:#cfe6d2; color:#1f5a2c}

/* footer */
footer.site{background:var(--navy); color:#cdd8e4; margin-top:40px}
footer .wrap{padding-top:26px; padding-bottom:26px}
footer h4{color:#fff; margin:0 0 8px; font-size:15px}
footer a{color:#a9c2dd}
footer .cols{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:18px}
footer .disc{margin-top:18px; padding-top:14px; border-top:1px solid #1d3a5c; font-size:12.5px; color:#8aa3bf; line-height:1.55}
.updated{font-size:12.5px;color:var(--muted)}

/* utilities */
.center{text-align:center}
.mt0{margin-top:0}
.muted{color:var(--muted)}
.searchnohit{color:var(--muted); padding:18px 0}
