.db-modulistica{--db-modulistica-gap:24px;color:var(--asl-text);font-family:inherit}
.db-modulistica *{box-sizing:border-box;font-family:inherit}

/* Ricerca e filtri: usa intenzionalmente le classi native del portale.
   Nessuna geometria, tipografia o colore viene duplicato in questo file. */
.db-modulistica .asl-search-panel { margin: 0 0 28px; }
.db-modulistica .asl-search-panel__quick a { cursor: pointer; }
.db-modulistica .asl-search-panel__quick a:focus-visible { outline: 2px solid var(--asl-primary); outline-offset: 2px; }

.db-modulistica-grid{display:grid;grid-template-columns:repeat(var(--db-modulistica-columns,4),minmax(0,1fr));gap:var(--db-modulistica-gap)}

/* Le card usano intenzionalmente lo stesso markup e le stesse regole globali
   delle card archivio/ricerca del portale. Nessuna tipografia o geometria duplicata. */
.db-modulistica-document-icon{position:relative}
.db-modulistica-document-icon svg{display:block;width:42px;height:42px}
.db-modulistica-document-icon small{position:absolute;right:-2px;bottom:1px;font-family:inherit;font-size:6px;font-weight:700;line-height:1;letter-spacing:0}
.db-modulistica-more-wrap{display:flex;justify-content:center;margin-top:28px}.db-modulistica-more{min-width:150px;min-height:46px;padding-inline:24px;border:2px solid var(--asl-primary);border-radius:4px;background:#fff;color:var(--asl-primary);font:inherit;font-weight:700;cursor:pointer}.db-modulistica-more:hover,.db-modulistica-more:focus{background:var(--asl-primary);color:#fff}.db-modulistica-more:disabled{opacity:.65;cursor:wait}.db-modulistica-empty{text-align:center;color:var(--asl-text);padding:24px}.db-modulistica [hidden]{display:none!important}
@media(max-width:1100px){.db-modulistica-grid{grid-template-columns:repeat(min(3,var(--db-modulistica-columns,4)),minmax(0,1fr))}}@media(max-width:780px){.db-modulistica-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.db-modulistica-grid{grid-template-columns:1fr}}
