/* AFerrolterra v3.2.0 · presentación aditiva; conserva las hojas corporativas previas. */
/* Fichas municipales: proporción coherente, acento municipal y acciones ancladas. */
.aft-services-categories .aft-services-group {margin:1.25rem 0 1.85rem;border:0;background:transparent;}
.aft-services-categories .aft-services-group>h3 {background:transparent;border:0;border-left:4px solid var(--municipio-color,#1a365d);padding:.3rem .85rem;margin-bottom:1rem;border-radius:0;}
.aft-services-categories .aft-services-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.15rem;align-items:stretch;}
.aft-services-categories .aft-services-grid>.municipal-service.card-municipio {background:#fff;border:0;border-left:5px solid var(--municipio-color,#1a365d);border-top:0;border-radius:12px;box-shadow:0 4px 14px rgba(0,0,0,.06);min-height:230px;height:100%;padding:1.1rem 1.15rem;display:flex;flex-direction:column;min-width:0;box-sizing:border-box;}
.aft-services-categories .aft-services-grid>.municipal-service.card-municipio::before {display:none;}
.aft-services-categories .municipal-service__body-link {display:block;flex:1;min-width:0;color:inherit;}
.aft-services-categories .municipal-service__body-link p {overflow-wrap:anywhere;}
.aft-services-categories .municipal-service__actions {display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin:auto 0 0;padding-top:1rem;}
.aft-services-categories .municipal-service__actions>a.action-btn {display:inline-flex;justify-content:center;align-items:center;min-height:42px;padding:.55rem .75rem;border-radius:9px;font-weight:650;text-decoration:none;flex:1 1 auto;white-space:normal;text-align:center;line-height:1.3;}
.aft-services-categories .municipal-service__actions>a.aft-primary-action,.aft-services-categories .municipal-service__actions>a.aft-primary-action:link,.aft-services-categories .municipal-service__actions>a.aft-primary-action:visited {background:var(--municipio-color,#1a365d);border-color:var(--municipio-color,#1a365d);color:#fff!important;-webkit-text-fill-color:#fff!important;}
.aft-services-categories .municipal-service__actions>a.aft-primary-action:hover {filter:brightness(.85);color:#fff!important;-webkit-text-fill-color:#fff!important;}
.aft-services-categories .municipal-service__actions>a:focus-visible {outline:3px solid #1a365d;outline-offset:3px;}
/* Tarjetas de agenda municipal idénticas a las del feed; filas alineadas sin truncado irreversible. */
.aft-local-agenda .feed-agenda,.feed-agenda-propuestas {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:1.1rem;align-items:stretch;}
.aft-local-agenda .feed-agenda>.card-evento,.feed-agenda-propuestas>.card-evento {display:flex;flex-direction:column;min-height:280px;height:auto;min-width:0;box-sizing:border-box;background:#fff;border:0;border-left:5px solid var(--municipio-color,#1a365d);border-radius:12px;box-shadow:0 4px 14px rgba(0,0,0,.06);padding:1.1rem;}
.aft-local-agenda .feed-agenda>.card-evento::before,.feed-agenda-propuestas>.card-evento::before {display:none;}
.aft-local-agenda .card-evento .evento-descripcion-resumen,.feed-agenda-propuestas .card-evento .evento-descripcion-resumen {display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.aft-local-agenda .card-evento .evento-pie,.feed-agenda-propuestas .card-evento .evento-pie {margin-top:auto;padding-top:.9rem;}
.aft-local-agenda .card-evento .evento-estado-revision,.feed-agenda-propuestas .card-evento .evento-estado-revision {font-size:.8rem;line-height:1.4;color:#765315;margin-top:auto;padding-top:.75rem;}
@media(max-width:650px){.aft-services-categories .aft-services-grid,.aft-local-agenda .feed-agenda,.feed-agenda-propuestas {grid-template-columns:minmax(0,1fr)}.aft-services-categories .municipal-service__actions>a.action-btn{flex-grow:1;}}
@media(prefers-reduced-motion:reduce){.aft-services-categories *, .aft-local-agenda * {transition:none!important}}
