/* Wrapper + Sticky */
.ppv2-wrap{font-family:var(--ppv2-font,inherit);font-size:var(--ppv2-size,16px);}
.ppv2-sticky .ppv2-nav{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid var(--ppv2-border);}

/* A–Z Nav */
.ppv2-nav{display:flex;flex-wrap:wrap;gap:.4rem;padding:.6rem .75rem;margin:0 0 1rem 0}
.ppv2-nav a{display:inline-block;min-width:2rem;text-align:center;text-decoration:none;color:var(--ppv2-text);font-weight:600;letter-spacing:.02em}
.ppv2-nav a:hover,.ppv2-nav a:focus{outline:3px solid color-mix(in srgb,var(--ppv2-hover) 18%,transparent);outline-offset:2px}
.ppv2-nav .ppv2-disabled{pointer-events:none;opacity:.45}
.ppv2-count{font-size:.85em;font-weight:700;opacity:.9;margin-left:.25rem;border:1px solid #c7d2fe;background:#eef2ff;border-radius:999px;padding:0 .35em}

/* Variants */
.ppv2-pills a{border:1px solid var(--ppv2-border);background:var(--ppv2-bg);border-radius:999px;padding:.35rem .55rem}
.ppv2-flat a{border:none;padding:.15rem .25rem;border-radius:.25rem}
.ppv2-flat a:hover{background:color-mix(in srgb,var(--ppv2-hover) 8%,transparent)}

/* Sections */
.ppv2-letter{font-size:clamp(1.25rem,1vw + 1rem,1.7rem);margin:.45rem 0 .3rem;color:#2F4A5C;border-bottom:1px solid var(--ppv2-border);padding-bottom:.15rem}
.ppv2-list{list-style:none;padding-left:0;margin:.4rem 0 1rem;display:grid;grid-template-columns:repeat(var(--ppv2-cols,3),minmax(0,1fr));column-gap:1rem;row-gap:.25rem}
@media (max-width:768px){.ppv2-list{grid-template-columns:1fr}}
.ppv2-list a{text-decoration:none}
.ppv2-list a:hover{text-decoration:underline}

/* Compact */
.ppv2-compact .ppv2-letter{margin:.35rem 0 .2rem}
.ppv2-compact .ppv2-list{row-gap:.15rem}

/* Back-to-top */
.ppv2-top{position:fixed;right:1rem;bottom:1rem;padding:.5rem .7rem;background:#fff;border:1px solid var(--ppv2-border);border-radius:.6rem;box-shadow:0 2px 8px rgba(0,0,0,.08);cursor:pointer;z-index:1000}
