/* v3.2.1 — modular links & municipal guide. Additive, scoped, responsive. */
.aft321-service-hub .aft321-category{margin:1.2rem 0 1.8rem}
.aft321-category>h3{font-size:1.13rem;border-left:4px solid var(--municipio-color,#1a365d);padding:.3rem .75rem;margin:0 0 .85rem}
.aft321-grid,.aft321-related-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem;align-items:stretch}
.aft321-resource,.aft321-related-grid>a.aft321-related-card{box-sizing:border-box;min-width:0;min-height:130px;background:#fff!important;border:0!important;border-left:5px solid var(--municipio-color,#1a365d)!important;border-radius:12px!important;box-shadow:0 4px 14px rgba(0,0,0,.06);padding:1.1rem!important;text-decoration:none!important;color:#152e34!important}
.aft321-resource{display:flex;flex-direction:column;gap:1rem;justify-content:space-between}
.aft321-resource h4{font-size:1.05rem;line-height:1.35;margin:0 0 .55rem;color:#13272e}
.aft321-resource p{font-size:.94rem;margin:.35rem 0;color:#3e5359;line-height:1.6}
.aft321-resource__place{font-weight:600}
.aft321-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:auto}
.aft321-btn{display:inline-flex;align-items:center;justify-content:center;flex:1 1 auto;min-height:44px;border:1px solid #b9c7ca;background:#fff;color:#15323a!important;border-radius:8px;padding:.45rem .7rem;font-weight:650;text-decoration:none!important;text-align:center;line-height:1.3}
.aft321-btn--primary{background:var(--municipio-color,#1a365d)!important;border-color:var(--municipio-color,#1a365d)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.aft321-btn--primary:hover,.aft321-btn--primary:focus-visible{filter:brightness(.83);color:#fff!important;-webkit-text-fill-color:#fff!important}
.aft321-jump{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 1.5rem}
.aft321-jump a{display:inline-flex;padding:.56rem .85rem;border:1px solid var(--municipio-color,#1a365d);border-radius:999px;background:#fff;color:#17333a;text-decoration:none;font-weight:650;font-size:.88rem}
.aft321-related-grid>a.aft321-related-card{display:flex!important;align-items:center;line-height:1.45;font-weight:650;overflow-wrap:anywhere}
.aft321-related-grid>a.aft321-related-card:hover{box-shadow:0 7px 18px rgba(0,0,0,.12);transform:translateY(-1px)}
.aft321-jump a:focus-visible,.aft321-btn:focus-visible,.aft321-related-card:focus-visible{outline:3px solid #1a365d;outline-offset:3px}
@media(max-width:580px){.aft321-grid,.aft321-related-grid{grid-template-columns:1fr}.aft321-resource{min-height:auto}}
