.library-source {
    margin:38px 0;
    padding:22px;
    border:1px solid var(--line);
    border-radius:16px;
    background:var(--surface);
}
.library-source-inner {
    display:grid;
    grid-template-columns:90px minmax(0,1fr);
    gap:18px;
    align-items:center;
}
.library-source img {
    width:90px;
    max-height:130px;
    object-fit:contain;
    border-radius:6px;
}
.library-source h2 {
    margin:.1rem 0 .4rem;
    font-size:1.3rem;
}
.library-source p {
    margin:.4rem 0;
    color:var(--muted);
}
.library-source-actions {
    display:flex;
    gap:9px;
    flex-wrap:wrap;
    margin-top:12px;
}
.library-source-actions a {
    display:inline-flex;
    padding:9px 13px;
    border:1px solid var(--line);
    border-radius:9px;
    text-decoration:none;
    font-weight:750;
}
.library-sequence {
    margin:30px 0;
    padding:18px;
    border:1px solid var(--line);
    border-radius:14px;
}
.library-sequence-title {
    margin:0 0 12px;
    font-weight:800;
}
.library-sequence ol {
    margin:0;
    padding-left:1.35rem;
}
.library-sequence li+li {
    margin-top:7px;
}
.library-sequence .current {
    font-weight:800;
}
.topic-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.topic-card {
    padding:22px;
    border:1px solid var(--line);
    border-radius:16px;
    background:var(--surface);
}
.topic-card h2 {
    margin-top:0;
}

/* Tabelle provenienti da Word: responsive senza larghezze fisse. */
.article-content table {
    width:100%;
    max-width:100%;
    border-collapse:collapse;
    margin:1.35rem 0;
}
.article-content th,
.article-content td {
    padding:.65rem .75rem;
    border:1px solid var(--line);
    vertical-align:top;
}
.article-content th {
    text-align:left;
}
.article-content sup,
.article-content sub {
    line-height:0;
}
.article-content .footnotes,
.article-content [data-footnotes] {
    font-size:.92em;
}

@media(max-width:700px) {
    .library-source-inner {
        grid-template-columns:1fr;
    }
    .library-source img {
        width:80px;
    }
    .topic-grid {
        grid-template-columns:1fr;
    }
    .article-content {
        overflow-wrap:anywhere;
    }
    .article-content table {
        display:block;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
    }
}

/* mobile-table-cards-1-11-3 */
@media(max-width:700px) {
    .article-content table {
        display:block;
        width:100%;
        max-width:100%;
        border:0;
        background:transparent;
        overflow:visible;
        overflow-wrap:anywhere;
        word-break:normal;
    }

    .article-content table tbody {
        display:grid;
        gap:12px;
        width:100%;
    }

    .article-content table tr {
        display:grid;
        width:100%;
        overflow:hidden;
        border:1px solid var(--line);
        border-radius:12px;
        background:var(--surface);
    }

    .article-content table td,
    .article-content table th {
        display:block;
        width:100% !important;
        max-width:none !important;
        padding:11px 13px;
        border:0;
    }

    .article-content table tr > :first-child {
        padding-bottom:9px;
        border-bottom:1px solid var(--line);
        background:color-mix(
            in srgb,
            var(--surface) 82%,
            var(--bg)
        );
        font-weight:800;
    }

    .article-content table tr > :last-child {
        padding-top:10px;
    }

    .article-content table td p,
    .article-content table th p {
        margin:.25rem 0;
    }

    .article-content table td p:first-child,
    .article-content table th p:first-child {
        margin-top:0;
    }

    .article-content table td p:last-child,
    .article-content table th p:last-child {
        margin-bottom:0;
    }

    .article-content table tr:first-child > :first-child,
    .article-content table tr:first-child > :last-child {
        font-weight:850;
    }
}
/* article-cover-caption-1-12 */
.article-cover-caption{margin-top:8px;text-align:center;color:var(--muted);font-size:.82rem;line-height:1.45}


/* article-inline-image-release-1-12-6 */
.article-inline-image {
    margin: 1.6rem auto;
    text-align: center;
}

.article-inline-image img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    margin: 0 auto;
    border-radius: 10px;
}

.article-inline-image figcaption {
    max-width: 760px;
    margin: .55rem auto 0;
    font-size: .82rem;
    line-height: 1.45;
    color: var(--muted);
}

.article-inline-image--auto {
    max-width: 100%;
}

.article-inline-image--medium {
    max-width: 680px;
}

.article-inline-image--medium img {
    max-width: min(100%, 680px);
}

.article-inline-image--full {
    width: 100%;
    max-width: 100%;
}

.article-inline-image--full img {
    width: 100%;
    max-width: 100%;
}

/* Controlli inserimento immagine nel CMS */
.article-inline-image-options {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
    margin: 0 0 14px;
    padding: 12px 14px;
    border: 1px solid #dfe3e6;
    border-radius: 10px;
    background: #f7f8f8;
}

.article-inline-image-options[hidden] {
    display: none;
}

.article-inline-image-options label {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
}

.article-inline-image-options select {
    width: auto;
    min-width: 155px;
}

.article-inline-image-options small {
    flex-basis: 100%;
    color: #6b7280;
    font-size: .76rem;
    line-height: 1.4;
}

@media (max-width: 700px) {
    .article-inline-image--medium,
    .article-inline-image--full,
    .article-inline-image--auto {
        width: 100%;
        max-width: 100%;
    }

    .article-inline-image-options {
        align-items: stretch;
    }

    .article-inline-image-options label {
        width: 100%;
        justify-content: space-between;
    }
}