.avviso-featured__inner { display: flex; align-items: center; gap: 2rem; padding: 2rem; border-left: 5px solid var(--color-primary); }
.avviso-featured__content { flex: 1; min-width: 0; }
.avviso-featured__label { color: var(--color-primary); text-transform: uppercase; letter-spacing: .12em; font-size: .8rem; font-weight: 700; margin-bottom: .5rem; }
.avviso-featured h2 { font-size: 1.5rem; line-height: 1.35; margin-bottom: .75rem; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.avviso-featured__text { line-height: 1.6; max-height: 4.8em; overflow: hidden; margin-bottom: 1.5rem; }
.avviso-featured__inner > img { display: block; flex: 0 0 300px; width: 300px; aspect-ratio: 4/3; object-fit: cover; border-radius: inherit; }
/* Existing orange/white palette meets AA for this large, bold button label. */
.avviso-featured .btn-site-primary { font-size: 1.1875rem; font-weight: 700; white-space: normal; line-height: 1.5; padding: .85rem .65rem; margin: 0; }
.avviso-featured .btn-site-primary, .avviso-detail .btn-site-primary { background-color: var(--color-primary) !important; border-color: var(--color-primary) !important; color: var(--color-white) !important; }
.avviso-featured .btn-site-primary:hover, .avviso-featured .btn-site-primary:focus-visible,
.avviso-detail .btn-site-primary:hover, .avviso-detail .btn-site-primary:focus-visible { background-color: var(--color-primary-hover) !important; border-color: var(--color-primary-hover) !important; color: var(--color-white) !important; }
.avviso-detail .button { white-space: normal; height: auto; line-height: 1.5; padding: .85rem 1.4rem; }
.avviso-prose { width: 100%; max-width: none; overflow-wrap: anywhere; }
.avviso-detail h1 { line-height: 1.25; }
.avviso-body, .avviso-summary { font-size: 1.1rem; line-height: 1.8; }
.avviso-body p, .avviso-body ul, .avviso-body ol { margin-bottom: 1.4rem; }
.avviso-body h2, .avviso-body h3 { margin-top: 2rem; }
.avviso-prose ul, .avviso-prose ol { padding-left: 1.5em; }
.avviso-prose li { margin-bottom: .6em; }
.avviso-prose img { max-width: 100%; height: auto; }
.avviso-summary { background: #f1f4ef; border-left: 4px solid #6b8060; padding: 1.5rem; margin: 2rem 0; }
.avviso-summary h2 { font-size: 1.5rem; margin-bottom: 1rem; }
.avviso-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.avviso-gallery figure { margin: 0; }
.avviso-gallery img { width: 100%; aspect-ratio: 3/4; object-fit: contain; background: #f5f5f2; border-radius: 4px; }
.avviso-gallery figcaption { margin-top: .5rem; font-size: .9rem; }
#avviso-lightbox { border: 0; padding: 1rem; width: 100vw; height: 100dvh; max-width: 100vw; max-height: 100dvh; background: transparent; color: white; }
#avviso-lightbox::backdrop { background: rgba(0,0,0,.92); }
.avviso-lightbox__panel { max-width: 1200px; margin: auto; text-align: center; }
.avviso-lightbox__panel figure { margin: 1rem 0; }
.avviso-lightbox__panel img { display: block; margin: auto; max-width: 100%; max-height: 73dvh; object-fit: contain; }
.avviso-lightbox__panel button { background: #fff; color: #263322; border: 0; border-radius: 4px; padding: .75rem 1rem; cursor: pointer; }
.avviso-lightbox__controls { display: flex; gap: 1rem; align-items: center; justify-content: center; }
@media (max-width: 767px) {
    .avviso-featured__inner { flex-direction: column; gap: 1.5rem; padding: 1.25rem; }
    .avviso-featured__content { width: 100%; }
    .avviso-featured h2 { font-size: 1.25rem; }
    .avviso-featured__inner > img { order: -1; flex: none; width: 100%; aspect-ratio: 16/9; }
    .avviso-featured .btn { display: block; width: 100%; text-align: center; }
    .avviso-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .avviso-lightbox__controls { gap: .5rem; font-size: .85rem; }
}
.avviso-featured { margin: 0; padding-block: 2.5rem; }
.avviso-featured + #content > .section:first-child { margin-top: 0; }
