/* India PIN Directory. Scoped, theme-friendly, no !important, no external dependencies. */
.ipd-shell, .ipd-shortcode-list, .ipd-search { --ipd-ink:#172433; --ipd-muted:#596777; --ipd-line:#d9dfe4; --ipd-wash:#f5f7f8; --ipd-link:#174c7b; --ipd-white:#fff; }
.ipd-shell { max-width:1160px; padding:clamp(24px,4vw,54px) 20px 90px; margin:0 auto; color:var(--ipd-ink); line-height:1.55; }
.ipd-shell *, .ipd-shortcode-list *, .ipd-search * { box-sizing:border-box; }
.ipd-shell a, .ipd-shortcode-list a { color:var(--ipd-link); text-decoration:none; }
.ipd-shell a:hover, .ipd-shortcode-list a:hover { text-decoration:underline; }
.ipd-breadcrumbs { display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:13px; color:var(--ipd-muted); margin-bottom:34px; }
.ipd-breadcrumbs span[aria-hidden] { color:#9ca5af; }
.ipd-heading { max-width:760px; margin:0 0 28px; }
.ipd-heading h1 { margin:0 0 13px; color:var(--ipd-ink); letter-spacing:-.035em; line-height:1.13; font-size:clamp(32px,5vw,52px); font-weight:700; }
.ipd-heading p:not(.ipd-eyebrow) { font-size:clamp(15px,1.8vw,18px); color:var(--ipd-muted); max-width:660px; margin:0; }
.ipd-eyebrow { text-transform:uppercase; letter-spacing:.13em; font-size:11px; font-weight:750; color:var(--ipd-muted); margin:0 0 15px; }
.ipd-number { font-variant-numeric:tabular-nums; white-space:nowrap; }
.ipd-search { padding:23px; background:var(--ipd-wash); border:1px solid var(--ipd-line); margin:22px 0 37px; color:var(--ipd-ink); }
.ipd-search label { display:block; margin:0 0 10px; color:var(--ipd-ink); font-size:14px; font-weight:650; }
.ipd-search-fields { display:flex; gap:10px; width:100%; }
.ipd-search input { display:block; flex:1 1 auto; min-width:0; min-height:48px; border:1px solid #aeb9c3; border-radius:0; box-shadow:none; outline-offset:2px; background:#fff; color:#172433; padding:10px 14px; font-size:17px; letter-spacing:.05em; }
.ipd-search input:focus { outline:2px solid #205f97; }
.ipd-search button { flex:0 0 auto; min-height:48px; border:1px solid var(--ipd-ink); border-radius:0; cursor:pointer; background:var(--ipd-ink); color:#fff; font-size:14px; font-weight:650; padding:10px 21px; transition:background .15s ease; }
.ipd-search button:hover { background:#30485f; }
.ipd-section { margin-top:41px; }
.ipd-section-title { border-bottom:1px solid var(--ipd-line); padding:0 0 14px; margin:0 0 20px; display:flex; align-items:baseline; flex-wrap:wrap; justify-content:space-between; gap:10px 24px; }
.ipd-section-title h2, .ipd-shortcode-list h2 { margin:0; font-size:21px; letter-spacing:-.02em; line-height:1.3; color:var(--ipd-ink); font-weight:700; }
.ipd-section-title span { color:var(--ipd-muted); font-size:13px; }
.ipd-state-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--ipd-line); border-left:1px solid var(--ipd-line); }
.ipd-state-link, .ipd-pin-link { display:flex; gap:7px; flex-direction:column; min-width:0; padding:18px 19px; border-right:1px solid var(--ipd-line); border-bottom:1px solid var(--ipd-line); background:#fff; }
.ipd-state-link:hover, .ipd-pin-link:hover { background:var(--ipd-wash); text-decoration:none; }
.ipd-state-link strong { font-size:15px; line-height:1.3; font-weight:650; color:var(--ipd-ink); }
.ipd-state-link small, .ipd-pin-link small { color:var(--ipd-muted); font-size:12px; line-height:1.35; }
.ipd-pin-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-top:1px solid var(--ipd-line); border-left:1px solid var(--ipd-line); }
.ipd-pin-link { padding:17px 14px; gap:3px; }
.ipd-pin-link strong { font-size:20px; font-weight:700; letter-spacing:.025em; color:var(--ipd-ink); font-variant-numeric:tabular-nums; }
.ipd-metrics { display:flex; flex-wrap:wrap; gap:0; padding:12px 0 18px; border-top:1px solid var(--ipd-line); border-bottom:1px solid var(--ipd-line); margin:29px 0 34px; }
.ipd-metrics > div { min-width:150px; display:flex; flex-direction:column; padding:7px 25px 7px 0; margin-right:25px; border-right:1px solid var(--ipd-line); }
.ipd-metrics > div:last-child { border-right:0; }
.ipd-metrics strong { font-size:28px; letter-spacing:-.025em; color:var(--ipd-ink); font-weight:700; font-variant-numeric:tabular-nums; }
.ipd-metrics span { color:var(--ipd-muted); font-size:12px; }
.ipd-location-list { display:flex; flex-wrap:wrap; gap:12px; }
.ipd-location-list a { display:flex; flex-direction:column; gap:1px; border:1px solid var(--ipd-line); background:#fff; padding:12px 18px; min-width:210px; }
.ipd-location-list a:hover { background:var(--ipd-wash); text-decoration:none; }
.ipd-location-list strong { color:var(--ipd-ink); font-size:14px; }
.ipd-location-list span, .ipd-location-list small { color:var(--ipd-muted); font-size:12px; }
.ipd-table-wrap { width:100%; overflow-x:auto; }
.ipd-office-table { width:100%; border-collapse:collapse; border-spacing:0; font-size:14px; text-align:left; table-layout:auto; }
.ipd-office-table thead { background:var(--ipd-wash); }
.ipd-office-table th { padding:14px 13px; font-size:12px; font-weight:700; white-space:nowrap; color:var(--ipd-ink); border-bottom:1px solid var(--ipd-line); text-align:left; }
.ipd-office-table td { border-bottom:1px solid var(--ipd-line); vertical-align:top; text-align:left; padding:15px 13px; color:var(--ipd-ink); }
.ipd-office-table td strong { font-weight:650; }
.ipd-office-table td small { display:block; font-size:12px; color:var(--ipd-muted); margin-top:4px; }
.ipd-office-table td a { text-decoration:underline; text-underline-offset:3px; }
.ipd-pages { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:24px; font-size:14px; }
.ipd-pages a { border:1px solid var(--ipd-line); padding:9px 15px; }
.ipd-pages span { color:var(--ipd-muted); }
.ipd-alert { padding:14px 17px; background:#fff9ed; border:1px solid #d5bf8e; color:#60440b; }
.ipd-source-note { border-top:1px solid var(--ipd-line); margin-top:63px; padding-top:22px; font-size:13px; color:var(--ipd-muted); }
.ipd-source-note strong { color:var(--ipd-ink); }
.ipd-source-note p { max-width:800px; margin:5px 0 0; }
.ipd-shortcode-list { margin:30px 0; }
.ipd-shortcode-list h2 { margin-bottom:18px; }
@media(max-width:860px) { .ipd-state-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ipd-pin-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:620px) {
  .ipd-shell { padding:25px 16px 55px; }
  .ipd-breadcrumbs { margin-bottom:25px; }
  .ipd-heading h1 { font-size:32px; overflow-wrap:anywhere; }
  .ipd-search { margin:22px 0 28px; padding:16px; }
  .ipd-search-fields { flex-direction:column; gap:9px; }
  .ipd-search button, .ipd-search input { width:100%; }
  .ipd-state-grid { grid-template-columns:minmax(0,1fr); }
  .ipd-pin-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ipd-section { margin-top:32px; }
  .ipd-section-title h2 { font-size:19px; }
  .ipd-metrics { gap:5px 0; }
  .ipd-metrics > div { min-width:50%; margin:0; padding:12px 10px 12px 0; border-right:0; }
  .ipd-metrics strong { font-size:23px; }
  .ipd-location-list a { width:100%; min-width:0; }
  .ipd-table-wrap { overflow:visible; }
  .ipd-office-table, .ipd-office-table tbody, .ipd-office-table tr, .ipd-office-table td { display:block; width:100%; }
  .ipd-office-table thead { display:none; }
  .ipd-office-table tr { border:1px solid var(--ipd-line); padding:8px 14px; margin:0 0 13px; }
  .ipd-office-table td { display:grid; grid-template-columns:104px minmax(0,1fr); gap:12px; align-items:start; padding:9px 0; border:0; overflow-wrap:anywhere; }
  .ipd-office-table td:before { content:attr(data-label); color:var(--ipd-muted); font-size:12px; padding-top:2px; }
  .ipd-office-table td+td { border-top:1px solid #e9edef; }
  .ipd-office-table td small { grid-column:2; margin-top:2px; }
}
