/**
 * ARCHIVIO ATENA - DESIGN SYSTEM ITALIANO
 * ======================================
 * 
 * Frontend CSS basato su Bootstrap Italia per il plugin Archivio Atena
 * Versione: 2.0.0
 * 
 * DESCRIZIONE:
 * Questo file CSS implementa il design system italiano per il frontend
 * del plugin Archivio Atena, basato sui principi di Bootstrap Italia.
 * 
 * FUNZIONALITÀ:
 * - Design system completo con colori, tipografia e spaziature italiane
 * - Layout responsive per tutti i dispositivi
 * - Componenti per visualizzazione archivi (fotografie, documenti, audio, video)
 * - Sistema di gallery e lightbox per immagini
 * - Player audio e video integrati
 * - Sistema di ricerca e filtri avanzati
 * - Paginazione e navigazione
 * - Supporto per breadcrumb e navigazione
 * - Stili per enti e persone
 * - Componenti per statistiche e dashboard
 * 
 * UTILIZZO:
 * - Caricato automaticamente nel frontend quando si utilizzano shortcode
 * - Attivabile con ?design=comuni per preview design system
 * - Compatibile con tutti i temi WordPress
 * 
 * STRUTTURA:
 * 1. Design Tokens (variabili CSS)
 * 2. Reset e Base styles
 * 3. Layout e Grid system
 * 4. Header e Navigation
 * 5. Componenti (badge, bottoni, card)
 * 6. Gallery e Media
 * 7. Search e Filtri
 * 8. Paginazione
 * 9. Responsive design
 * 10. Utility classes
 * 
 * AUTORE: Yes I Code
 * DATA: 2024-2025
 */

/* Import Google Font - Varela */
@import url('https://fonts.googleapis.com/css2?family=Varela+Round&display=swap');

/* ===== DESIGN TOKENS ===== */
:root {
    /* Colori Principali */
    --archivio-blu-italia: #0066cc;
    --archivio-blu-italia-dark: #004d99;
    --archivio-blu-italia-light: #3385d6;
    --archivio-azzurro-italia: #007bb5;
    --archivio-celeste-italia: #5bc0de;
    --archivio-verde-italia: #5cb85c;
    --archivio-verde-italia-dark: #449d44;
    --archivio-rosso-italia: #d9534f;
    --archivio-rosso-italia-dark: #c9302c;
    --archivio-arancione-italia: #f0ad4e;
    
    /* Colori Neutri */
    --archivio-grigio-scuro: #435A6B;
    --archivio-grigio-medio: #5A738E;
    --archivio-grigio-chiaro: #F0F6FC;
    --archivio-grigio-border: #E3E3E3;
    --archivio-bianco: #ffffff;
    --archivio-nero: #17324D;
    
    /* SOVRASCRITTURA VARIABILI CONFLITTUALI - PRIORITÀ MASSIMA */
    --archivio-primary: #0066cc !important;
    --archivio-secondary: #007bb5 !important;
    --archivio-border-radius: 4px !important;
    --archivio-spacing-md: 1rem !important;
    
    /* Tipografia */
    --archivio-font-serif: "Varela Round", sans-serif;
    --archivio-font-sans: "Varela Round", sans-serif;
    --archivio-font-mono: "Varela Round", sans-serif;
    
    /* Spaziature */
    --archivio-space-xs: 0.25rem;
    --archivio-space-sm: 0.5rem;
    --archivio-space-md: 1rem;
    --archivio-space-lg: 1.5rem;
    --archivio-space-xl: 2rem;
    --archivio-space-xxl: 3rem;
    
    /* Dimensioni */
    --archivio-border-radius: 4px;
    --archivio-border-radius-lg: 8px;
    --archivio-container-max-width: 1200px;
    --archivio-sidebar-width: 300px;
    
    /* Ombre */
    --archivio-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
    --archivio-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
    --archivio-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
    
    /* Transizioni */
    --archivio-transition: all 0.3s ease;
    --archivio-transition-fast: all 0.15s ease;
}

/* ===== RESET E BASE ===== */
.archivio-comuni-italia {
    font-family: var(--archivio-font-sans) !important;
    font-size: 16px;
    line-height: 1.6;
    color: var(--archivio-nero) !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.archivio-comuni-italia * {
    box-sizing: border-box;
}

/* SOVRASCRITTURA FORZATA PER LARGHEZZA COMPLETA */
body .archivio-comuni-italia,
.post-type-archivio_fotografia .archivio-comuni-italia,
.post-type-archivio_documento .archivio-comuni-italia,
.post-type-archivio_audio .archivio-comuni-italia,
.post-type-archivio_cartografia .archivio-comuni-italia,
.post-type-archivio_libri .archivio-comuni-italia,
.post-type-archivio_fondo .archivio-comuni-italia,
.post-type-archivio_enteper .archivio-comuni-italia {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* PRIORITÀ SU WRAPPER CONTENITORI DEL TEMA */
.archivio-comuni-italia .archivio-comuni-container {
    width: 100% !important;
    max-width: var(--archivio-container-max-width) !important;
    margin: 0 auto !important;
    padding: 0 var(--archivio-space-xl) !important;
}

/* ===== LAYOUT ===== */
.archivio-comuni-italia .archivio-comuni-container {
    max-width: var(--archivio-container-max-width) !important;
    margin: 0 auto !important;
    padding: 0 var(--archivio-space-xl) !important;
    width: 100% !important;
}

.archivio-comuni-italia .archivio-servizio-layout {
    display: grid !important;
    grid-template-columns: 1fr var(--archivio-sidebar-width) !important;
    gap: var(--archivio-space-lg) !important;
    margin-top: var(--archivio-space-md) !important;
    width: 100% !important;
    padding: 0 !important;
}

/* FORZA LARGHEZZA COMPLETA PER TUTTI I CONTENITORI */
.archivio-comuni-italia,
.archivio-comuni-italia .archivio-servizio-header,
.archivio-comuni-italia .archivio-servizio-main {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

.archivio-comuni-italia .archivio-servizio-nav {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

/* ===== HEADER SERVIZIO ===== */
.archivio-servizio-header {
    background: linear-gradient(135deg, var(--archivio-blu-italia) 0%, var(--archivio-azzurro-italia) 100%);
    color: var(--archivio-bianco);
    padding: var(--archivio-space-xxl) 0;
    position: relative;
    overflow: hidden;
}

.archivio-servizio-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="2" fill="rgba(255,255,255,0.1)"/></svg>') repeat;
    background-size: 50px 50px;
    pointer-events: none;
}

.archivio-servizio-breadcrumb {
    margin-bottom: var(--archivio-space-md);
    font-size: 0.9rem;
    position: relative;
    z-index: 2;
}

.archivio-servizio-breadcrumb a {
    color: #ffffff !important;
    text-decoration: none !important;
    transition: var(--archivio-transition-fast) !important;
    font-weight: 400 !important;
}

.archivio-servizio-breadcrumb a:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
}

.archivio-servizio-breadcrumb .separator {
    margin: 0 var(--archivio-space-sm) !important;
    color: #ffffff !important;
    font-weight: 400 !important;
}

.archivio-servizio-breadcrumb .current {
    color: #ffffff !important;
    font-weight: 500 !important;
}

.archivio-servizio-title {
    font-family: var(--archivio-font-serif);
    font-size: 2.5rem;
    font-weight: 700;
    margin: 0 0 var(--archivio-space-md) 0;
    line-height: 1.2;
    position: relative;
    z-index: 2;
}

.archivio-servizio-subtitle {
    font-size: 1.2rem;
    color: inherit !important;
    margin: 0 0 var(--archivio-space-lg) 0;
    line-height: 1.4;
    position: relative;
    z-index: 2;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}



/* ===== CONTENUTO PRINCIPALE ===== */
.archivio-servizio-main {
    background: var(--archivio-grigio-chiaro);
    padding: var(--archivio-space-lg) 0;
    min-height: 60vh;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

.archivio-servizio-main .archivio-comuni-container {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 var(--archivio-space-xl) !important;
}

.archivio-servizio-content {
    background: var(--archivio-bianco);
    border-radius: var(--archivio-border-radius-lg);
    box-shadow: var(--archivio-shadow-sm);
    margin: 0;
}

/* ===== SEZIONI ===== */
.archivio-sezione {
    padding: var(--archivio-space-xl);
    margin-bottom: var(--archivio-space-lg);
}



.archivio-sezione:last-child {
    border-bottom: none !important;
}

.archivio-sezione-title {
    font-family: var(--archivio-font-serif);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--archivio-nero);
    margin: 0 0 var(--archivio-space-lg) 0;
    padding-left: var(--archivio-space-sm);
    border-left: 4px solid var(--archivio-blu-italia);
    margin-bottom: 1rem !important;
}

.archivio-sezione-content {
    line-height: 1.7;
    color: var(--archivio-grigio-scuro);
    margin-top: 0 !important;
}

.archivio-sezione-content p {
    margin-bottom: var(--archivio-space-md);
}

.archivio-sezione-content p:last-child {
    margin-bottom: 0;
}

/* ===== DETTAGLI (DL) ===== */
.archivio-comuni-italia .archivio-dettagli {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.archivio-comuni-italia .archivio-dettagli dt {
    font-weight: 600 !important;
    color: var(--archivio-nero) !important;
    margin: 0 !important;
    padding: var(--archivio-space-sm) 0 !important;
    border-bottom: none !important;
    font-family: var(--archivio-font-sans) !important;
    margin-top: 0.75rem !important;
    margin-bottom: 0.25rem !important;
}

.archivio-comuni-italia .archivio-dettagli dt:first-child {
    margin-top: 0 !important;
}

.archivio-comuni-italia .archivio-dettagli dd {
    margin: 0 !important;
    padding: var(--archivio-space-sm) 0 !important;
    color: var(--archivio-grigio-scuro) !important;
    border-bottom: none !important;
    font-family: var(--archivio-font-sans) !important;
    margin-bottom: 0.5rem !important;
    margin-left: 0 !important;
    padding-left: 1rem !important;
}

/* STILI SPECIALI PER VALORI METAFIELDS */
.archivio-comuni-italia .archivio-reference-link {
    color: var(--archivio-blu-italia) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: var(--archivio-transition-fast) !important;
    border-bottom: 1px solid transparent !important;
    transition: border-color 0.3s ease !important;
}

.archivio-comuni-italia .archivio-reference-link:hover {
    color: var(--archivio-blu-italia-dark) !important;
    text-decoration: underline !important;
    border-bottom-color: #007cba !important;
}

.archivio-comuni-italia .archivio-term-missing,
.archivio-comuni-italia .archivio-missing-ref {
    color: #dc3545 !important;
    font-style: italic !important;
    font-size: 0.85em !important;
    background: #f8d7da !important;
    padding: 2px 6px !important;
    border-radius: 3px !important;
    border: 1px solid #f5c6cb !important;
}

.archivio-comuni-italia .archivio-image-preview img {
    max-width: 200px !important;
    height: auto !important;
    border-radius: var(--archivio-border-radius) !important;
    box-shadow: var(--archivio-shadow-sm) !important;
}

.archivio-comuni-italia .archivio-long-text {
    max-height: 400px !important;
    overflow-y: auto !important;
    padding: var(--archivio-space-sm) !important;
    background: var(--archivio-grigio-chiaro) !important;
    border-radius: var(--archivio-border-radius) !important;
    border: 1px solid var(--archivio-grigio-border) !important;
}

/* Layout speciale per campi con testo lungo */
.archivio-comuni-italia .archivio-dettagli .archivio-field-soggetto-value .archivio-long-text,
.archivio-comuni-italia .archivio-dettagli .archivio-field-note-value .archivio-long-text,
.archivio-comuni-italia .archivio-dettagli .archivio-field-consistenza-value .archivio-long-text,
.archivio-comuni-italia .archivio-dettagli .archivio-field-cronologia-formazione-value .archivio-long-text,
.archivio-comuni-italia .archivio-dettagli .archivio-field-modo-condizionamento-value .archivio-long-text,
.archivio-comuni-italia .archivio-dettagli .archivio-field-descrizione-value .archivio-long-text,
.archivio-comuni-italia .archivio-dettagli .archivio-field-biography-value .archivio-long-text,
.archivio-comuni-italia .archivio-dettagli .archivio-field-iscrizioni-value .archivio-long-text,
.archivio-comuni-italia .archivio-dettagli .archivio-field-alterazioni-value .archivio-long-text,
.archivio-comuni-italia .archivio-dettagli .archivio-field-stato-conservazione-value .archivio-long-text {
    width: 100% !important;
    display: block !important;
    margin-top: var(--archivio-space-sm) !important;
}

.archivio-comuni-italia .archivio-dettagli .archivio-field-soggetto,
.archivio-comuni-italia .archivio-dettagli .archivio-field-note,
.archivio-comuni-italia .archivio-dettagli .archivio-field-consistenza,
.archivio-comuni-italia .archivio-dettagli .archivio-field-cronologia-formazione,
.archivio-comuni-italia .archivio-dettagli .archivio-field-modo-condizionamento,
.archivio-comuni-italia .archivio-dettagli .archivio-field-descrizione,
.archivio-comuni-italia .archivio-dettagli .archivio-field-biography,
.archivio-comuni-italia .archivio-dettagli .archivio-field-iscrizioni,
.archivio-comuni-italia .archivio-dettagli .archivio-field-alterazioni,
.archivio-comuni-italia .archivio-dettagli .archivio-field-stato-conservazione {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-bottom: var(--archivio-space-xs) !important;
}

.archivio-comuni-italia .archivio-dettagli .archivio-field-soggetto-value,
.archivio-comuni-italia .archivio-dettagli .archivio-field-note-value,
.archivio-comuni-italia .archivio-dettagli .archivio-field-consistenza-value,
.archivio-comuni-italia .archivio-dettagli .archivio-field-cronologia-formazione-value,
.archivio-comuni-italia .archivio-dettagli .archivio-field-modo-condizionamento-value,
.archivio-comuni-italia .archivio-dettagli .archivio-field-descrizione-value,
.archivio-comuni-italia .archivio-dettagli .archivio-field-biography-value,
.archivio-comuni-italia .archivio-dettagli .archivio-field-iscrizioni-value,
.archivio-comuni-italia .archivio-dettagli .archivio-field-stato-conservazione-value {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    padding-left: 0 !important;
}

/* ===== TASSONOMIE ===== */
.archivio-tassonomia {
    margin-bottom: var(--archivio-space-lg);
}

.archivio-tassonomia:last-child {
    margin-bottom: 0;
}

.archivio-tassonomia strong {
    display: block;
    margin-bottom: var(--archivio-space-sm);
    color: var(--archivio-nero);
}

.archivio-badge-group {
    display: flex;
    flex-wrap: wrap;
    gap: var(--archivio-space-xs);
    margin-bottom: var(--archivio-space-sm);
}

.archivio-badge {
    display: inline-block;
    padding: var(--archivio-space-xs) var(--archivio-space-sm);
    font-size: 0.8rem;
    font-weight: 500;
    text-decoration: none;
    border-radius: var(--archivio-border-radius);
    transition: var(--archivio-transition-fast);
    
    background: var(--archivio-bianco) !important;
    color: var(--archivio-blu-italia) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    border: 2px solid var(--archivio-blu-italia) !important;
}

.archivio-badge:hover {
    background: var(--archivio-blu-italia) !important;
    color: var(--archivio-bianco) !important;
}

.archivio-badge-outline {
    background: transparent !important;
    color: var(--archivio-blu-italia) !important;
    border: 2px solid var(--archivio-blu-italia) !important;
}

.archivio-badge-outline:hover,
.archivio-badge-outline:focus,
.archivio-badge-outline:active {
    background: var(--archivio-blu-italia) !important;
    color: var(--archivio-bianco) !important;
    border-color: var(--archivio-blu-italia) !important;
    text-decoration: none !important;
}

/* REGOLE DI SICUREZZA EXTRA - FORZA CONTRASTO */
a.archivio-badge-outline:hover,
a.archivio-badge-outline:focus,
a.archivio-badge-outline:active,
.archivio-badge-outline:hover,
.archivio-badge-outline:focus,
.archivio-badge-outline:active {
    background-color: var(--archivio-blu-italia) !important;
    color: var(--archivio-bianco) !important;
    border-color: var(--archivio-blu-italia) !important;
    text-decoration: none !important;
}

/* OVERRIDE TEMA - PRIORITÀ ASSOLUTA */
.archivio-comuni-italia a.archivio-badge-outline:hover,
.archivio-comuni-italia a.archivio-badge-outline:focus,
.archivio-comuni-italia a.archivio-badge-outline:active,
.archivio-comuni-italia .archivio-badge-outline:hover,
.archivio-comuni-italia .archivio-badge-outline:focus,
.archivio-comuni-italia .archivio-badge-outline:active {
    background-color: var(--archivio-blu-italia) !important;
    color: var(--archivio-bianco) !important;
    border-color: var(--archivio-blu-italia) !important;
    text-decoration: none !important;
}

/* FALLBACK CON COLORI HARDCODED */
.archivio-badge-outline:hover {
    background: #0066cc !important;
    color: #ffffff !important;
    border-color: #0066cc !important;
}

.archivio-badge-outline:focus {
    background: #0066cc !important;
    color: #ffffff !important;
    border-color: #0066cc !important;
    outline: 2px solid #0066cc !important;
    outline-offset: 2px !important;
}

.archivio-badge-outline:active {
    background: #004d99 !important;
    color: #ffffff !important;
    border-color: #004d99 !important;
}



/* ===== SIDEBAR ===== */
.archivio-servizio-sidebar {
    display: flex;
    flex-direction: column;
    gap: var(--archivio-space-lg);
}

.archivio-widget {
    margin-bottom: var(--archivio-space-md);
}

.archivio-widget:last-child {
    margin-bottom: 0;
}

.archivio-widget {
    background: var(--archivio-bianco);
    border-radius: var(--archivio-border-radius-lg);
    box-shadow: var(--archivio-shadow-sm);
    overflow: hidden;
}

.archivio-widget-title {
    font-family: var(--archivio-font-serif);
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--archivio-bianco) !important;
    background: var(--archivio-blu-italia) !important;
    margin: 0;
    padding: var(--archivio-space-md);
    margin-bottom: 1rem !important;
}

.archivio-widget-content {
    padding: var(--archivio-space-md) !important;
    background: var(--archivio-bianco) !important;
    margin-top: 0 !important;
}

/* FORZA STILE WIDGET CONTENT */
.archivio-comuni-italia .archivio-widget-content {
    padding: var(--archivio-space-md) !important;
    background: var(--archivio-bianco) !important;
    border: none !important;
    margin: 0 !important;
}

/* RESPONSIVE WIDGET CONTENT */
@media (max-width: 768px) {
    .archivio-widget-content {
        padding: var(--archivio-space-sm) !important;
    }
}

.archivio-info-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.archivio-info-list li {
    padding: var(--archivio-space-sm) 0;
    border-bottom: 1px solid var(--archivio-grigio-border);
    font-size: 0.9rem;
    margin-bottom: 0.5rem !important;
}

.archivio-info-list li:last-child {
    border-bottom: none;
    margin-bottom: 0 !important;
}

.archivio-info-list li strong {
    color: var(--archivio-nero);
}

.archivio-tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--archivio-space-xs);
}

.archivio-tag {
    display: inline-block;
    padding: var(--archivio-space-xs) var(--archivio-space-sm);
    background: var(--archivio-grigio-chiaro);
    color: var(--archivio-grigio-scuro);
    text-decoration: none;
    border-radius: var(--archivio-border-radius);
    font-size: 0.8rem;
    transition: var(--archivio-transition-fast);
}

.archivio-tag:hover {
    background: var(--archivio-blu-italia);
    color: var(--archivio-bianco);
    text-decoration: none;
}

.archivio-related-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.archivio-related-list li {
    margin-bottom: var(--archivio-space-sm);
}

.archivio-related-list li:last-child {
    margin-bottom: 0;
}

.archivio-related-link {
    display: block;
    padding: var(--archivio-space-sm);
    color: var(--archivio-grigio-scuro);
    text-decoration: none;
    border-left: 3px solid transparent;
    transition: var(--archivio-transition-fast);
    font-size: 0.9rem;
}

.archivio-related-link:hover {
    color: var(--archivio-blu-italia);
    border-left-color: var(--archivio-blu-italia);
    background: var(--archivio-grigio-chiaro);
    text-decoration: none;
}

/* ===== BOTTONI ===== */
.archivio-btn {
    display: inline-block;
    padding: var(--archivio-space-sm) var(--archivio-space-md);
    border: 1px solid transparent;
    border-radius: var(--archivio-border-radius);
    font-size: 0.9rem;
    font-weight: 500;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: var(--archivio-transition-fast);
    vertical-align: middle;
    user-select: none;
    background: none;
    font-family: inherit;
}

.archivio-btn-primary {
    background: var(--archivio-blu-italia) !important;
    color: var(--archivio-bianco) !important;
    border-color: var(--archivio-blu-italia) !important;
}

.archivio-btn-primary:hover {
    background: var(--archivio-blu-italia-dark) !important;
    border-color: var(--archivio-blu-italia-dark) !important;
    color: var(--archivio-bianco) !important;
    text-decoration: none !important;
    transform: translateY(-1px);
}

.archivio-btn-outline {
    background: transparent;
    color: var(--archivio-blu-italia);
    border-color: var(--archivio-blu-italia);
}

.archivio-btn-outline:hover {
    background: var(--archivio-blu-italia);
    color: var(--archivio-bianco);
    text-decoration: none;
}

.archivio-btn-block {
    display: block;
    width: 100%;
    margin-bottom: var(--archivio-space-sm);
}

.archivio-btn-block:last-child {
    margin-bottom: 0;
}

/* ===== NAVIGAZIONE ===== */
.archivio-servizio-nav {
    background: var(--archivio-bianco);
    border-top: 1px solid var(--archivio-grigio-border);
    padding: var(--archivio-space-xl) 0;
}

.archivio-nav-links {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1rem !important;
    align-items: stretch !important;
}

.archivio-nav-link {
    display: flex !important;
    flex-direction: column !important;
    padding: 1rem !important;
    border: 1px solid #e6e9f0 !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    min-height: 80px !important;
}

.archivio-nav-link:hover {
    border-color: #007cba !important;
    background-color: #f8f9fa !important;
}

.archivio-nav-prev {
    text-align: left !important;
}

.archivio-nav-next {
    text-align: right !important;
}

.archivio-nav-label {
    font-size: 0.875rem !important;
    color: #666 !important;
    margin-bottom: 0.25rem !important;
    font-weight: 500 !important;
}

.archivio-nav-title {
    font-weight: 600 !important;
    color: #1e1e1e !important;
    line-height: 1.4 !important;
}

/* ===== SISTEMA RESPONSIVE COMPLETO ===== */

/* BREAKPOINT SISTEMA:
   - Mobile: < 576px (xs)
   - Mobile Large: 576px - 768px (sm) 
   - Tablet: 768px - 992px (md)
   - Desktop Small: 992px - 1200px (lg)
   - Desktop: > 1200px (xl)
*/
/* ===== DESKTOP LARGE (>1200px) ===== */
@media (min-width: 1201px) {
    .archivio-comuni-container {
        max-width: 1200px !important;
        padding: 0 var(--archivio-space-xl) !important;
    }
    
    .archivio-servizio-layout {
        grid-template-columns: 1fr 320px !important;
        gap: var(--archivio-space-xl) !important;
    }
    
    .archivio-archive-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .archivio-altri-termini-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .archivio-related-type-section .archivio-badge-group {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ===== DESKTOP SMALL (992px - 1200px) ===== */
@media (max-width: 1200px) and (min-width: 993px) {
    .archivio-comuni-container {
        max-width: 1000px !important;
        padding: 0 var(--archivio-space-lg) !important;
    }
    
    .archivio-servizio-layout {
        grid-template-columns: 1fr 300px !important;
        gap: var(--archivio-space-lg) !important;
    }
    
    .archivio-archive-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .archivio-altri-termini-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .archivio-related-type-section .archivio-badge-group {
        grid-template-columns: 1fr;
    }
}

/* ===== TABLET (768px - 992px) ===== */
@media (max-width: 992px) and (min-width: 769px) {
    .archivio-comuni-container {
        padding: 0 var(--archivio-space-lg) !important;
    }
    
    .archivio-servizio-layout {
        grid-template-columns: 1fr !important;
        gap: var(--archivio-space-lg) !important;
    }
    
    .archivio-servizio-sidebar {
        order: 2 !important;
        margin-top: var(--archivio-space-lg) !important;
    }
    
    .archivio-archive-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--archivio-space-md);
    }
    
    .archivio-altri-termini-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .archivio-related-type-section .archivio-badge-group {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Tipografia tablet */
    .archivio-servizio-title {
        font-size: 2rem;
    }
    
    .archivio-sezione-title {
        font-size: 1.4rem;
    }
}

/* ===== MOBILE LARGE (576px - 768px) ===== */
@media (max-width: 768px) and (min-width: 577px) {
    .archivio-comuni-container {
        padding: 0 var(--archivio-space-md) !important;
    }
    
    .archivio-servizio-layout {
        grid-template-columns: 1fr !important;
        gap: var(--archivio-space-md) !important;
    }
    
    .archivio-archive-grid {
        grid-template-columns: 1fr;
        gap: var(--archivio-space-md);
    }
    
    .archivio-altri-termini-grid {
        grid-template-columns: 1fr;
    }
    
    .archivio-related-type-section .archivio-badge-group {
        grid-template-columns: 1fr;
    }
    
    /* Controlli responsive */
    .archivio-archive-controls {
        flex-direction: column;
        gap: var(--archivio-space-sm);
    }
    
    .archivio-sort-select {
        width: 100%;
    }
    
    /* Tipografia mobile large */
    .archivio-servizio-title {
        font-size: 1.8rem;
        line-height: 1.2;
    }
    
    .archivio-sezione-title {
        font-size: 1.3rem;
    }
}

/* ===== MOBILE (< 576px) ===== */
@media (max-width: 576px) {
    /* Container mobile */
    .archivio-comuni-container {
        padding: 0 var(--archivio-space-sm) !important;
        max-width: 100% !important;
    }
    
    /* Layout mobile */
    .archivio-comuni-italia .archivio-servizio-layout,
    .archivio-servizio-layout {
        display: block !important;
        grid-template-columns: none !important;
        gap: var(--archivio-space-md) !important;
    }
    
    .archivio-comuni-italia .archivio-servizio-content,
    .archivio-servizio-content {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: var(--archivio-space-md) !important;
        padding: var(--archivio-space-sm) !important;
    }
    
    .archivio-comuni-italia .archivio-servizio-sidebar,
    .archivio-servizio-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        margin-top: var(--archivio-space-md) !important;
    }
    
    /* Header mobile */
    .archivio-servizio-header {
        padding: var(--archivio-space-md) 0 !important;
    }
    
    .archivio-servizio-title {
        font-size: 1.5rem !important;
        line-height: 1.2 !important;
        margin-bottom: var(--archivio-space-sm) !important;
    }
    
    .archivio-servizio-subtitle {
        font-size: 0.85rem !important;
    }
    
    .archivio-servizio-breadcrumb {
        font-size: 0.75rem !important;
        flex-wrap: wrap;
        gap: 0.2rem;
    }
    
    /* Sezioni mobile */
    .archivio-sezione {
        padding: var(--archivio-space-sm) !important;
        margin-bottom: var(--archivio-space-sm) !important;
    }
    
    .archivio-sezione-title {
        font-size: 1.2rem !important;
        margin-bottom: var(--archivio-space-sm) !important;
    }
    
    /* Card mobile */
    .archivio-archive-grid {
        grid-template-columns: 1fr !important;
        gap: var(--archivio-space-sm) !important;
    }
    
    .archivio-archive-item {
        min-height: 300px !important;
    }
    
    .archivio-card-content-section {
        padding: var(--archivio-space-sm) !important;
    }
    
    /* Altri termini mobile */
    .archivio-altri-termini-grid {
        grid-template-columns: 1fr !important;
        gap: var(--archivio-space-sm) !important;
    }
    
    .archivio-altro-termine-card {
        padding: var(--archivio-space-sm) !important;
    }
    
    /* Post correlati mobile */
    .archivio-related-type-section .archivio-badge-group {
        grid-template-columns: 1fr !important;
        gap: var(--archivio-space-sm) !important;
    }
    
    /* Widget mobile */
    .archivio-widget {
        padding: var(--archivio-space-sm) !important;
        margin-bottom: var(--archivio-space-sm) !important;
    }
    
    .archivio-widget-title {
        font-size: 1rem !important;
    }
    
    /* Controlli mobile - FORZATO elementi a sinistra, icona a destra */
    .archivio-archive-controls,
    .archivio-comuni-container .archivio-archive-controls,
    .archivio-servizio-content .archivio-archive-controls {
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: var(--archivio-space-sm) !important;
        gap: var(--archivio-space-md) !important;
        display: flex !important;
    }
    
    .archivio-results-info {
        font-size: 0.85rem !important;
        flex-shrink: 0 !important;
    }
    
    /* Nascondi testo e dropdown su mobile */
    .archivio-sort-controls label {
        display: none !important;
    }
    
    .archivio-sort-select {
        display: none !important;
    }
    
    /* Icona ordinamento mobile - frecce su/giù */
    .archivio-sort-controls {
        position: relative !important;
    }
    
    .archivio-sort-controls::after {
        content: "↕" !important;
        font-size: 1.1rem !important;
        color: var(--archivio-grigio-scuro) !important;
        cursor: pointer !important;
        padding: var(--archivio-space-xs) var(--archivio-space-sm) !important;
        border: 1px solid var(--archivio-grigio-border) !important;
        border-radius: var(--archivio-border-radius-sm) !important;
        background: var(--archivio-bianco) !important;
        transition: all 0.3s ease !important;
        display: inline-block !important;
        line-height: 1.2 !important;
        position: relative !important;
        vertical-align: middle !important;
        margin-left: auto !important;
    }
    
    .archivio-sort-controls:hover::after {
        background: var(--archivio-grigio-chiaro) !important;
        border-color: var(--archivio-blu-italia) !important;
        color: var(--archivio-blu-italia) !important;
    }
    
    /* Modal ordinamento mobile */
    .archivio-mobile-sort-modal {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        z-index: 9999 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: all 0.3s ease !important;
    }
    
    .archivio-mobile-sort-modal.show {
        opacity: 1 !important;
        visibility: visible !important;
    }
    
    .archivio-modal-overlay {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background: rgba(0, 0, 0, 0.5) !important;
    }
    
    .archivio-modal-content {
        position: absolute !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        background: var(--archivio-bianco) !important;
        border-top-left-radius: var(--archivio-border-radius-lg) !important;
        border-top-right-radius: var(--archivio-border-radius-lg) !important;
        padding: var(--archivio-space-lg) !important;
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15) !important;
    }
    
    .archivio-modal-content h3 {
        margin: 0 0 var(--archivio-space-md) 0 !important;
        font-size: 1.1rem !important;
        color: var(--archivio-grigio-scuro) !important;
        text-align: center !important;
    }
    
    .archivio-sort-options {
        display: flex !important;
        flex-direction: column !important;
        gap: var(--archivio-space-xs) !important;
    }
    
    .archivio-sort-option {
        padding: var(--archivio-space-md) !important;
        border: 1px solid var(--archivio-grigio-border) !important;
        border-radius: var(--archivio-border-radius) !important;
        background: var(--archivio-bianco) !important;
        color: var(--archivio-grigio-scuro) !important;
        font-size: 0.9rem !important;
        text-align: left !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
    }
    
    .archivio-sort-option:hover,
    .archivio-sort-option.selected {
        background: var(--archivio-blu-italia) !important;
        color: var(--archivio-bianco) !important;
        border-color: var(--archivio-blu-italia) !important;
    }
    
    .archivio-modal-close {
        position: absolute !important;
        top: var(--archivio-space-md) !important;
        right: var(--archivio-space-md) !important;
        width: 32px !important;
        height: 32px !important;
        border: none !important;
        background: var(--archivio-grigio-chiaro) !important;
        color: var(--archivio-grigio-scuro) !important;
        border-radius: 50% !important;
        font-size: 1.2rem !important;
        line-height: 1 !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
    }
    
    .archivio-modal-close:hover {
        background: var(--archivio-grigio-scuro) !important;
        color: var(--archivio-bianco) !important;
    }
    
    /* Ricerca mobile */
    .archivio-search-input-group {
        flex-direction: column !important;
        gap: var(--archivio-space-sm) !important;
    }
    
    .archivio-search-input {
        width: 100% !important;
        font-size: 1rem !important;
    }
    
    .archivio-search-button {
        width: 100% !important;
        justify-content: center !important;
        padding: var(--archivio-space-sm) !important;
    }
    
    /* Pulsanti mobile */
    .archivio-btn {
        font-size: 0.85rem !important;
        padding: var(--archivio-space-xs) var(--archivio-space-sm) !important;
        width: 100%;
        justify-content: center;
    }
    
    /* Badge mobile */
    .archivio-badge-group {
        gap: var(--archivio-space-xs) !important;
        flex-wrap: wrap !important;
    }
    
    .archivio-badge {
        font-size: 0.75rem !important;
        padding: 0.2rem 0.4rem !important;
    }
}
    
    .archivio-servizio-title {
        font-size: 2rem;
    }
    
    .archivio-servizio-meta {
        flex-direction: column;
        gap: var(--archivio-space-sm);
    }
    
    .archivio-servizio-content {
        padding: var(--archivio-space-md) !important;
    }
    
    .archivio-sezione {
        padding: var(--archivio-space-lg);
    }
    
    /* RINFORZO RESPONSIVE TABLET */
    .archivio-comuni-italia .archivio-servizio-layout,
    .archivio-servizio-layout {
        display: block !important;
        width: 100% !important;
    }
    
    .archivio-comuni-italia .archivio-servizio-content,
    .archivio-comuni-italia .archivio-servizio-sidebar,
    .archivio-servizio-content,
    .archivio-servizio-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        float: none !important;
    }
    
    .archivio-dettagli {
        grid-template-columns: 1fr;
        gap: var(--archivio-space-sm);
    }
    
    .archivio-dettagli dt {
        font-weight: 600;
        margin-bottom: var(--archivio-space-xs);
    }
    
    .archivio-dettagli dd {
        margin-bottom: var(--archivio-space-md);
    }
    
    .archivio-nav-links {
        flex-direction: column;
    }
    
    .archivio-nav-link {
        max-width: 100%;
    }
}

/* Responsive mobile ottimizzato */
@media (max-width: 480px) {
    .archivio-comuni-container {
        padding: 0 var(--archivio-space-md) !important;
    }
    
    /* Header responsive */
    .archivio-servizio-header {
        padding: var(--archivio-space-lg) 0;
    }
    
    .archivio-servizio-title {
        font-size: 1.75rem;
        line-height: 1.2;
    }
    
    .archivio-servizio-subtitle {
        font-size: 0.9rem;
    }
    
    /* Breadcrumb responsive */
    .archivio-servizio-breadcrumb {
        font-size: 0.8rem;
        flex-wrap: wrap;
    }
    
    /* Contenuto responsive */
    .archivio-servizio-content {
        padding: var(--archivio-space-sm) !important;
        border-radius: var(--archivio-border-radius);
    }
    
    .archivio-sezione {
        padding: var(--archivio-space-md);
    }
    
    .archivio-sezione-title {
        font-size: 1.3rem;
    }
    
    /* Sidebar responsive */
    .archivio-servizio-sidebar {
        gap: var(--archivio-space-sm) !important;
    }
    
    .archivio-widget {
        padding: var(--archivio-space-md);
    }
    
    .archivio-widget-title {
        font-size: 1.1rem;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    
    /* Fix per contenuto widget */
    .archivio-widget-content {
        word-wrap: break-word;
        overflow-wrap: break-word;
        white-space: normal;
    }
    
    .archivio-widget-content p,
    .archivio-widget-content div,
    .archivio-widget-content span {
        word-wrap: break-word;
        overflow-wrap: break-word;
        white-space: normal;
        font-size: 0.85rem;
        line-height: 1.4;
    }
    
    /* Layout responsive */
    .archivio-comuni-italia .archivio-servizio-layout,
    .archivio-servizio-layout {
        display: block !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
        width: 100% !important;
    }
    
    .archivio-comuni-italia .archivio-servizio-content,
    .archivio-comuni-italia .archivio-servizio-sidebar,
    .archivio-servizio-content,
    .archivio-servizio-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        float: none !important;
        margin: 0 0 var(--archivio-space-md) 0 !important;
    }
    
    /* Badge e pulsanti responsive */
    .archivio-badge-group {
        gap: var(--archivio-space-xs);
        flex-wrap: wrap;
    }
    
    .archivio-badge {
        font-size: 0.8rem;
        padding: 0.2rem 0.4rem;
    }
    
    /* Pulsanti responsive */
    .archivio-btn {
        font-size: 0.85rem;
        padding: var(--archivio-space-xs) var(--archivio-space-sm);
    }
    
    /* Controlli archivio responsive */
    .archivio-archive-controls {
        flex-direction: column;
        gap: var(--archivio-space-sm);
        align-items: stretch;
    }
    
    .archivio-sort-controls {
        width: 100%;
    }
    
    .archivio-sort-select {
        width: 100%;
    }
    
    /* Metadati card responsive - Fix per mobile */
    .archivio-card-info-item {
        flex-direction: column;
        gap: 0.2rem;
        margin-bottom: var(--archivio-space-xs);
        width: 100%;
    }
    
    .archivio-info-label {
        min-width: auto;
        font-size: 0.75rem;
        font-weight: 600;
        color: var(--archivio-grigio-scuro);
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    
    .archivio-info-value {
        font-size: 0.8rem;
        font-weight: 400;
        padding-left: 0;
        word-wrap: break-word;
        overflow-wrap: break-word;
        white-space: normal;
        line-height: 1.3;
    }
}

/* ===== ACCESSIBILITÀ ===== */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

@media (prefers-contrast: high) {
    :root {
        --archivio-grigio-border: #000000;
        --archivio-grigio-scuro: #000000;
    }
    
    .archivio-badge-outline {
        border-width: 2px;
    }
}

/* ===== PRIORITÀ MASSIMA SU TUTTI I SELETTORI ===== */
.archivio-comuni-italia h1,
.archivio-comuni-italia h2,
.archivio-comuni-italia h3,
.archivio-comuni-italia h4,
.archivio-comuni-italia h5,
.archivio-comuni-italia h6 {
    font-family: var(--archivio-font-serif) !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
}

.archivio-comuni-italia p {
    font-family: var(--archivio-font-sans) !important;
    line-height: 1.6 !important;
    margin: 0 0 var(--archivio-space-md) 0 !important;
}

.archivio-comuni-italia a {
    color: var(--archivio-blu-italia) !important;
    text-decoration: none !important;
    transition: var(--archivio-transition-fast) !important;
}

/* OVERRIDE BREADCRUMB E PULSANTI - PRIORITÀ ASSOLUTA */
.archivio-servizio-breadcrumb a,
.archivio-servizio-breadcrumb .separator,
.archivio-servizio-breadcrumb .current {
    color: #ffffff !important;
}

.archivio-btn-primary {
    color: #ffffff !important;
}

/* Stili pulsanti nel widget */
.archivio-widget .archivio-btn-primary,
.archivio-widget .archivio-btn-outline {
    color: var(--archivio-blu-italia) !important;
    background: #ffffff !important;
    border-color: var(--archivio-blu-italia) !important;
}

.archivio-comuni-italia a:hover {
    color: var(--archivio-blu-italia-dark) !important;
    text-decoration: underline !important;
}

/* SOVRASCRITTURA FORZATA DEI CONTENITORI DEL TEMA */
.entry-content .archivio-comuni-italia,
.site-content .archivio-comuni-italia,
.main .archivio-comuni-italia,
.content .archivio-comuni-italia {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 !important;
}

/* ===== RESPONSIVE CORRETTO ===== */
/* Desktop: 2 colonne sempre attive */
@media screen and (min-width: 769px) {
    .archivio-comuni-italia .archivio-servizio-layout {
        display: grid !important;
        grid-template-columns: 1fr 300px !important;
        gap: var(--archivio-space-lg) !important;
    }
    
    .archivio-comuni-italia .archivio-servizio-content {
        order: 1 !important;
    }
    
    .archivio-comuni-italia .archivio-servizio-sidebar {
        order: 2 !important;
    }
}

/* Tablet e mobile: 1 colonna */
@media screen and (max-width: 768px) {
    .archivio-comuni-italia .archivio-servizio-layout {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: var(--archivio-space-lg) !important;
    }
    
    .archivio-comuni-italia .archivio-servizio-content {
        order: 1 !important;
        width: 100% !important;
    }
    
    .archivio-comuni-italia .archivio-servizio-sidebar {
        order: 2 !important;
        width: 100% !important;
        margin-top: var(--archivio-space-md) !important;
    }
}
/* ===== FIX UNIVERSALI RESPONSIVE ===== */
/* Fix per testi e metadati su tutti i dispositivi mobile */
@media (max-width: 768px) {
    /* Word-wrap specifico per elementi di testo */
    .archivio-comuni-italia p,
    .archivio-comuni-italia span,
    .archivio-comuni-italia div,
    .archivio-comuni-italia dt,
    .archivio-comuni-italia dd,
    .archivio-comuni-italia strong,
    .archivio-comuni-italia em,
    .archivio-comuni-italia a,
    .archivio-comuni-italia li {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        hyphens: auto;
        white-space: normal !important;
    }
    
    /* REGOLE RIMOSSE - Sostituite da quelle specifiche mobile più avanti nel CSS */
    
    /* Dettagli (archivio-dettagli) responsive unificati */
    .archivio-dettagli dt {
        font-size: 0.9rem !important;
        min-width: auto !important;
        margin-bottom: 0.2rem !important;
        width: 100% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
    }
    
    .archivio-dettagli dd {
        font-size: 0.95rem !important;
        line-height: 1.4 !important;
        margin-bottom: var(--archivio-space-sm) !important;
        padding-left: 0 !important;
        width: 100% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
        max-width: 100% !important;
    }
    
    /* ✅ MANTIENI LAYOUT ORIGINALE DT/DD - un campo per riga */
    .archivio-dettagli dt {
        display: block !important;
        width: 100% !important;
    }
    
    .archivio-dettagli dd {
        display: block !important;
        width: 100% !important;
    }
    
    /* ✅ BADGE INLINE DENTRO DD - evita che i singoli badge si spezzino */
    .archivio-dettagli dd .archivio-badge,
    .archivio-dettagli dd .archivio-badge-outline {
        display: inline-block !important;
        margin-right: var(--archivio-space-xs) !important;
        margin-bottom: var(--archivio-space-xs) !important;
        vertical-align: baseline !important;
        white-space: nowrap !important;
    }
    
    /* ✅ CONTENITORE TAG LIST - permetti wrapping normale ma mantieni badge integri */
    .archivio-dettagli dd .archivio-tag-list {
        display: inline-block !important;
        width: 100% !important;
        line-height: 1.6 !important;
    }
    
    /* ✅ OVERRIDE SPECIFICO PER CAMPI CON BADGE - priorità massima */
    .archivio-comuni-italia .archivio-dettagli .archivio-field-alterazioni-value .archivio-tag-list,
    .archivio-comuni-italia .archivio-dettagli .archivio-field-stato-conservazione-value .archivio-tag-list,
    .archivio-comuni-italia .archivio-dettagli .archivio-field-iscrizioni-value .archivio-tag-list {
        display: inline-block !important;
        width: 100% !important;
        line-height: 1.6 !important;
    }
    

    
    /* Fix specifico per nomi lunghi nei metadati */
    .archivio-dettagli dd span,
    .archivio-dettagli dd a,
    .archivio-dettagli dd strong {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
        display: inline-block !important;
        max-width: 100% !important;
    }
    
    /* Fix NUCLEARE per campi specifici con nomi lunghi */
    .archivio-dettagli dd[class*="archivio-field"],
    .archivio-dettagli dd[data-field*="autore"],
    .archivio-dettagli dd[data-field*="fotografo"], 
    .archivio-dettagli dd[data-field*="redattore"],
    .archivio-dettagli dd[data-field*="soggetto"],
    .archivio-dettagli dd[data-field*="aggiornamento"] {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        white-space: pre-wrap !important;
        hyphens: auto !important;
        line-height: 1.4 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Fix per tutti i link e testi all'interno dei metadati */
    .archivio-dettagli * {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
        /* Fix LAYOUT VERTICALE per metadati su mobile */
    /* Etichette (dt) */
    .archivio-comuni-italia .archivio-servizio-content .archivio-dettagli dt,
    .archivio-comuni-italia .archivio-sezione .archivio-dettagli dt,
    .archivio-comuni-italia .archivio-dettagli dt,
    body .archivio-comuni-italia .archivio-dettagli dt {
        display: block !important;
        float: none !important;
        width: 100% !important;
        margin-bottom: 0.2rem !important;
        clear: none !important;
        font-size: 0.95rem !important;
    }
    
    /* Valori (dd) */
    .archivio-comuni-italia .archivio-servizio-content .archivio-dettagli dd,
    .archivio-comuni-italia .archivio-sezione .archivio-dettagli dd,
    .archivio-comuni-italia .archivio-dettagli dd,
    body .archivio-comuni-italia .archivio-dettagli dd {
        display: block !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
        margin-bottom: var(--archivio-space-sm) !important;
        white-space: normal !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        hyphens: auto !important;
        box-sizing: border-box !important;
        font-size: 1rem !important;
    }
    
    /* Fix anche per elementi interni ai dd */
    .archivio-comuni-italia .archivio-dettagli dd *,
    body .archivio-comuni-italia .archivio-dettagli dd * {
        white-space: normal !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        max-width: 100% !important;
    }
    
    /* Fix per metadati card */
    .archivio-card-info-item .archivio-info-value {
        white-space: normal !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        hyphens: auto;
    }
    

    
    /* OVERRIDE NUCLEARE per qualsiasi CSS del tema che impedisce il wrap */
    .archivio-comuni-italia * {
        white-space: normal !important;
        text-overflow: unset !important;
        overflow: visible !important;
    }
    
    /* Eccezioni per elementi che devono rimanere nowrap */
    .archivio-comuni-italia .archivio-btn,
    .archivio-comuni-italia .archivio-badge-small,
    .archivio-comuni-italia .dashicons,
    .archivio-comuni-italia .archivio-icon {
        white-space: nowrap !important;
    }
    
    /* Widget content responsive unificato */
    .archivio-widget-content * {
        font-size: 0.85rem !important;
        line-height: 1.4 !important;
    }
    
    /* Card content responsive unificato */
    .archivio-card-content-section {
        padding: var(--archivio-space-sm) !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .archivio-card-content-section strong {
        font-size: 0.95rem !important;
    }
    
    .archivio-card-description {
        font-size: 0.85rem !important;
    }
    
    /* Form e controlli responsive unificati */
    .archivio-search-form,
    .archivio-filter-form {
        flex-direction: column !important;
        gap: var(--archivio-space-sm) !important;
    }
    
    .archivio-search-input,
    .archivio-filter-select,
    .archivio-sort-select {
        width: 100% !important;
        font-size: 1rem !important;
    }
    
    .archivio-search-input {
        padding: 14px 16px 14px 48px !important;
    }
    
    .archivio-filter-select,
    .archivio-sort-select {
        padding: var(--archivio-space-sm) !important;
    }
    
    .archivio-search-button,
    .archivio-btn {
        width: 100% !important;
        justify-content: center !important;
        padding: var(--archivio-space-sm) !important;
        font-size: 0.9rem !important;
    }
    
    /* Paginazione responsive */
    .archivio-pagination {
        justify-content: center !important;
        flex-wrap: wrap !important;
        gap: var(--archivio-space-xs) !important;
    }
    
    .archivio-pagination .page-numbers {
        font-size: 0.85rem !important;
        padding: var(--archivio-space-xs) var(--archivio-space-sm) !important;
        min-width: 40px !important;
    }
    
    /* Gallery e media responsive */
    .archivio-files-gallery {
        grid-template-columns: 1fr !important;
        gap: var(--archivio-space-sm) !important;
    }
    
    .archivio-gallery-image {
        width: 100% !important;
        height: auto !important;
        max-height: 300px !important;
        object-fit: cover !important;
    }
}

/* ===== FIX EMERGENCY PER MOBILE - BREAKPOINT PIÙ AMPIO ===== */
@media (max-width: 992px) {
    /* Fix layout verticale per tablet e mobile */
    .archivio-comuni-italia .archivio-dettagli dt,
    body .archivio-comuni-italia .archivio-dettagli dt {
        display: block !important;
        float: none !important;
        width: 100% !important;
        clear: none !important;
    }
    
    .archivio-comuni-italia .archivio-dettagli dd,
    body .archivio-comuni-italia .archivio-dettagli dd {
        display: block !important;
        float: none !important;
        width: 100% !important;
        padding-left: 0 !important;
        white-space: normal !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
    }
}

/* ===== PRINT STYLES ===== */
@media print {
    .archivio-servizio-sidebar,
    .archivio-servizio-nav {
        display: none !important;
    }
    
    .archivio-servizio-layout {
        grid-template-columns: 1fr;
    }
    
    .archivio-servizio-header {
        background: none !important;
        color: var(--archivio-nero) !important;
    }
    
    .archivio-servizio-title {
        color: var(--archivio-nero) !important;
    }
    
    .archivio-badge {
        background: transparent !important;
        color: var(--archivio-nero) !important;
        border: 1px solid var(--archivio-nero) !important;
    }
}

/* === CORREZIONI SPACING E LAYOUT === */

/* Spacing tra titoli sezione e contenuto */
.archivio-sezione-title {
    margin-bottom: 1rem !important;
}

.archivio-sezione-content {
    margin-top: 0 !important;
}

.archivio-dettagli dt {
    margin-top: 0.75rem !important;
    margin-bottom: 0.25rem !important;
}

.archivio-dettagli dt:first-child {
    margin-top: 0 !important;
}

.archivio-dettagli dd {
    margin-bottom: 0.5rem !important;
    margin-left: 0 !important;
    padding-left: 1rem !important;
}

/* Layout navigazione precedente/successivo */
.archivio-nav-links {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1rem !important;
    align-items: stretch !important;
}

.archivio-nav-link {
    display: flex !important;
    flex-direction: column !important;
    padding: 1rem !important;
    border: 1px solid #e6e9f0 !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    min-height: 80px !important;
}

.archivio-nav-link:hover {
    border-color: #007cba !important;
    background-color: #f8f9fa !important;
}

.archivio-nav-prev {
    text-align: left !important;
}

.archivio-nav-next {
    text-align: right !important;
}

.archivio-nav-label {
    font-size: 0.875rem !important;
    color: #666 !important;
    margin-bottom: 0.25rem !important;
    font-weight: 500 !important;
}

.archivio-nav-title {
    font-weight: 600 !important;
    color: #1e1e1e !important;
    line-height: 1.4 !important;
}

/* Fix per titoli widget sidebar */
.archivio-widget-title {
    margin-bottom: 1rem !important;
}

.archivio-widget-content {
    margin-top: 0 !important;
}

/* Fix spacing per liste info */
.archivio-info-list li {
    margin-bottom: 0.5rem !important;
}

.archivio-info-list li:last-child {
    margin-bottom: 0 !important;
}

/* Responsive per navigazione */
@media (max-width: 768px) {
    .archivio-nav-links {
        grid-template-columns: 1fr !important;
    }
    
    .archivio-nav-prev,
    .archivio-nav-next {
        text-align: center !important;
    }
}

/* Fix per comune e altri reference links */
.archivio-reference-link {
    color: #007cba !important;
    text-decoration: none !important;
    border-bottom: 1px solid transparent !important;
    transition: border-color 0.3s ease !important;
}

.archivio-reference-link:hover {
    border-bottom-color: #007cba !important;
}

.archivio-missing-ref {
    color: #d63638 !important;
    font-style: italic !important;
}

/* Fix per badge e tag */
.archivio-badge {
    margin-right: 0.5rem !important;
    margin-bottom: 0.25rem !important;
}

/* === CORREZIONI SPACING RAFFORZATE === */

/* Fix spacing titoli sezione - REGOLE PIÙ SPECIFICHE */
.archivio-servizio-content .archivio-sezione-title,
.archivio-sezione .archivio-sezione-title {
    margin-bottom: 1.5rem !important;
    margin-top: 2rem !important;
}

.archivio-servizio-content .archivio-sezione:first-child .archivio-sezione-title,
.archivio-sezione:first-child .archivio-sezione-title {
    margin-top: 0 !important;
}

.archivio-servizio-content .archivio-sezione-content,
.archivio-sezione .archivio-sezione-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Fix spacing per definition lists */
.archivio-servizio-content .archivio-dettagli,
.archivio-sezione .archivio-dettagli {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.archivio-servizio-content .archivio-dettagli dt,
.archivio-sezione .archivio-dettagli dt,
.archivio-dettagli dt {
    margin-top: 0 !important;
    margin-bottom: 0.5rem !important;
    font-weight: 600 !important;
    color: #1e1e1e !important;
    vertical-align: top !important;
    display: inline-block !important;
    width: 300px !important;
    float: left !important;
    clear: left !important;
}

.archivio-servizio-content .archivio-dettagli dt:first-child,
.archivio-sezione .archivio-dettagli dt:first-child,
.archivio-dettagli dt:first-child {
    margin-top: 0 !important;
}

.archivio-servizio-content .archivio-dettagli dd,
.archivio-sezione .archivio-dettagli dd,
.archivio-dettagli dd {
    margin-bottom: 0.5rem !important;
    margin-left: 0 !important;
    padding-left: 1.5rem !important;
    color: #333 !important;
    line-height: 1.5 !important;
    vertical-align: top !important;
    display: inline-block !important;
    width: calc(100% - 300px - 1.5rem) !important;
    float: left !important;
}

/* Clearfix per il dl */
.archivio-servizio-content .archivio-dettagli,
.archivio-sezione .archivio-dettagli,
.archivio-dettagli {
    overflow: hidden !important;
}



/* Assicura spacing consistente per tutti gli h2 nelle sezioni */
h2.archivio-sezione-title {
    margin-bottom: 1.5rem !important;
    margin-top: 2rem !important;
    padding-bottom: 0.5rem !important;
    /* RIMOSSA: border-bottom: 2px solid #007cba !important; */
}

h2.archivio-sezione-title:first-child {
    margin-top: 0 !important;
}

/* === CORREZIONI CONTRASTO TESTO BLU SU BLU === */

/* Fix breadcrumb - testo bianco su sfondo blu */
.archivio-breadcrumb,
.breadcrumb,
.wp-block-breadcrumb {
    background-color: #1e73be !important;
    color: white !important;
    padding: 0.5rem 1rem !important;
    border-radius: 4px !important;
}

.archivio-breadcrumb a,
.breadcrumb a,
.wp-block-breadcrumb a {
    color: #e8f4f8 !important;
    text-decoration: none !important;
}

.archivio-breadcrumb a:hover,
.breadcrumb a:hover,
.wp-block-breadcrumb a:hover {
    color: white !important;
    text-decoration: underline !important;
}

/* Fix sezioni con sfondo blu - tutto il testo bianco */
.archivio-sezione[style*="background-color: #1e73be"],
.archivio-sezione[style*="background-color:#1e73be"],
.archivio-sezione[style*="background: #1e73be"],
.archivio-sezione[style*="background:#1e73be"],
.widget[style*="background-color: #1e73be"],
.widget[style*="background-color:#1e73be"],
.site-header[style*="background-color: #1e73be"],
.site-header[style*="background-color:#1e73be"],
.entry-header[style*="background-color: #1e73be"],
.entry-header[style*="background-color:#1e73be"],
.page-header[style*="background-color: #1e73be"],
.page-header[style*="background-color:#1e73be"],
.header[style*="background-color: #1e73be"],
.header[style*="background-color:#1e73be"],
/* Selettori generici per elementi con sfondo blu */
*[style*="background-color: #1e73be"],
*[style*="background-color:#1e73be"],
*[style*="background: #1e73be"],
*[style*="background:#1e73be"] {
    color: white !important;
}

.archivio-sezione[style*="background-color: #1e73be"] *,
.archivio-sezione[style*="background-color:#1e73be"] *,
.archivio-sezione[style*="background: #1e73be"] *,
.archivio-sezione[style*="background:#1e73be"] *,
.widget[style*="background-color: #1e73be"] *,
.widget[style*="background-color:#1e73be"] *,
.site-header[style*="background-color: #1e73be"] *,
.site-header[style*="background-color:#1e73be"] *,
.entry-header[style*="background-color: #1e73be"] *,
.entry-header[style*="background-color:#1e73be"] *,
.page-header[style*="background-color: #1e73be"] *,
.page-header[style*="background-color:#1e73be"] *,
.header[style*="background-color: #1e73be"] *,
.header[style*="background-color:#1e73be"] *,
/* Selettori generici per tutti gli elementi figli */
*[style*="background-color: #1e73be"] *,
*[style*="background-color:#1e73be"] *,
*[style*="background: #1e73be"] *,
*[style*="background:#1e73be"] * {
    color: white !important;
}

/* Fix link su sfondo blu */
.archivio-sezione[style*="background-color: #1e73be"] a,
.archivio-sezione[style*="background-color:#1e73be"] a,
.widget[style*="background-color: #1e73be"] a,
.widget[style*="background-color:#1e73be"] a,
.site-header[style*="background-color: #1e73be"] a,
.site-header[style*="background-color:#1e73be"] a,
.entry-header[style*="background-color: #1e73be"] a,
.entry-header[style*="background-color:#1e73be"] a,
.page-header[style*="background-color: #1e73be"] a,
.page-header[style*="background-color:#1e73be"] a,
.header[style*="background-color: #1e73be"] a,
.header[style*="background-color:#1e73be"] a,
*[style*="background-color: #1e73be"] a,
*[style*="background-color:#1e73be"] a,
*[style*="background: #1e73be"] a,
*[style*="background:#1e73be"] a {
    color: #ffffff !important;
    text-decoration: underline !important;
    font-weight: 500 !important;
}

.archivio-sezione[style*="background-color: #1e73be"] a:hover,
.archivio-sezione[style*="background-color:#1e73be"] a:hover,
.widget[style*="background-color: #1e73be"] a:hover,
.widget[style*="background-color:#1e73be"] a:hover,
.site-header[style*="background-color: #1e73be"] a:hover,
.site-header[style*="background-color:#1e73be"] a:hover,
.entry-header[style*="background-color: #1e73be"] a:hover,
.entry-header[style*="background-color:#1e73be"] a:hover,
.page-header[style*="background-color: #1e73be"] a:hover,
.page-header[style*="background-color:#1e73be"] a:hover,
.header[style*="background-color: #1e73be"] a:hover,
.header[style*="background-color:#1e73be"] a:hover,
*[style*="background-color: #1e73be"] a:hover,
*[style*="background-color:#1e73be"] a:hover,
*[style*="background: #1e73be"] a:hover,
*[style*="background:#1e73be"] a:hover {
    color: #f0f8ff !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
    text-shadow: 0 0 2px rgba(0,0,0,0.3) !important;
}

/* Fix titoli su sfondo blu */
.archivio-sezione[style*="background-color: #1e73be"] h1,
.archivio-sezione[style*="background-color: #1e73be"] h2,
.archivio-sezione[style*="background-color: #1e73be"] h3,
.archivio-sezione[style*="background-color: #1e73be"] h4,
.archivio-sezione[style*="background-color: #1e73be"] h5,
.archivio-sezione[style*="background-color: #1e73be"] h6,
.widget[style*="background-color: #1e73be"] h1,
.widget[style*="background-color: #1e73be"] h2,
.widget[style*="background-color: #1e73be"] h3,
.widget[style*="background-color: #1e73be"] h4,
.widget[style*="background-color: #1e73be"] h5,
.widget[style*="background-color: #1e73be"] h6,
.site-header[style*="background-color: #1e73be"] h1,
.site-header[style*="background-color: #1e73be"] h2,
.site-header[style*="background-color: #1e73be"] h3,
.site-header[style*="background-color: #1e73be"] h4,
.site-header[style*="background-color: #1e73be"] h5,
.site-header[style*="background-color: #1e73be"] h6,
.entry-header[style*="background-color: #1e73be"] h1,
.entry-header[style*="background-color: #1e73be"] h2,
.entry-header[style*="background-color: #1e73be"] h3,
.entry-header[style*="background-color: #1e73be"] h4,
.entry-header[style*="background-color: #1e73be"] h5,
.entry-header[style*="background-color: #1e73be"] h6,
.page-header[style*="background-color: #1e73be"] h1,
.page-header[style*="background-color: #1e73be"] h2,
.page-header[style*="background-color: #1e73be"] h3,
.page-header[style*="background-color: #1e73be"] h4,
.page-header[style*="background-color: #1e73be"] h5,
.page-header[style*="background-color: #1e73be"] h6,
.header[style*="background-color: #1e73be"] h1,
.header[style*="background-color: #1e73be"] h2,
.header[style*="background-color: #1e73be"] h3,
.header[style*="background-color: #1e73be"] h4,
.header[style*="background-color: #1e73be"] h5,
.header[style*="background-color: #1e73be"] h6,
*[style*="background-color: #1e73be"] h1,
*[style*="background-color: #1e73be"] h2,
*[style*="background-color: #1e73be"] h3,
*[style*="background-color: #1e73be"] h4,
*[style*="background-color: #1e73be"] h5,
*[style*="background-color: #1e73be"] h6,
*[style*="background: #1e73be"] h1,
*[style*="background: #1e73be"] h2,
*[style*="background: #1e73be"] h3,
*[style*="background: #1e73be"] h4,
*[style*="background: #1e73be"] h5,
*[style*="background: #1e73be"] h6 {
    color: white !important;
}

/* Fix per badge su sfondo blu */
.archivio-sezione[style*="background-color: #1e73be"] .archivio-badge,
.archivio-sezione[style*="background-color:#1e73be"] .archivio-badge,
.widget[style*="background-color: #1e73be"] .archivio-badge,
.widget[style*="background-color:#1e73be"] .archivio-badge,
.site-header[style*="background-color: #1e73be"] .archivio-badge,
.site-header[style*="background-color:#1e73be"] .archivio-badge,
.entry-header[style*="background-color: #1e73be"] .archivio-badge,
.entry-header[style*="background-color:#1e73be"] .archivio-badge,
.page-header[style*="background-color: #1e73be"] .archivio-badge,
.page-header[style*="background-color:#1e73be"] .archivio-badge,
.header[style*="background-color: #1e73be"] .archivio-badge,
.header[style*="background-color:#1e73be"] .archivio-badge,
*[style*="background-color: #1e73be"] .archivio-badge,
*[style*="background-color:#1e73be"] .archivio-badge,
*[style*="background: #1e73be"] .archivio-badge,
*[style*="background:#1e73be"] .archivio-badge {
    background-color: white !important;
    color: #1e73be !important;
    border-color: white !important;
}

/* Fix per badge outline su sfondo blu */
.archivio-sezione[style*="background-color: #1e73be"] .archivio-badge-outline,
.archivio-sezione[style*="background-color:#1e73be"] .archivio-badge-outline,
.widget[style*="background-color: #1e73be"] .archivio-badge-outline,
.widget[style*="background-color:#1e73be"] .archivio-badge-outline,
.site-header[style*="background-color: #1e73be"] .archivio-badge-outline,
.site-header[style*="background-color:#1e73be"] .archivio-badge-outline,
.entry-header[style*="background-color: #1e73be"] .archivio-badge-outline,
.entry-header[style*="background-color:#1e73be"] .archivio-badge-outline,
.page-header[style*="background-color: #1e73be"] .archivio-badge-outline,
.page-header[style*="background-color:#1e73be"] .archivio-badge-outline,
.header[style*="background-color: #1e73be"] .archivio-badge-outline,
.header[style*="background-color:#1e73be"] .archivio-badge-outline,
*[style*="background-color: #1e73be"] .archivio-badge-outline,
*[style*="background-color:#1e73be"] .archivio-badge-outline,
*[style*="background: #1e73be"] .archivio-badge-outline,
*[style*="background:#1e73be"] .archivio-badge-outline {
    background-color: transparent !important;
    color: white !important;
    border-color: white !important;
}

.archivio-sezione[style*="background-color: #1e73be"] .archivio-badge-outline:hover,
.archivio-sezione[style*="background-color:#1e73be"] .archivio-badge-outline:hover,
.widget[style*="background-color: #1e73be"] .archivio-badge-outline:hover,
.widget[style*="background-color:#1e73be"] .archivio-badge-outline:hover,
.site-header[style*="background-color: #1e73be"] .archivio-badge-outline:hover,
.site-header[style*="background-color:#1e73be"] .archivio-badge-outline:hover,
.entry-header[style*="background-color: #1e73be"] .archivio-badge-outline:hover,
.entry-header[style*="background-color:#1e73be"] .archivio-badge-outline:hover,
.page-header[style*="background-color: #1e73be"] .archivio-badge-outline:hover,
.page-header[style*="background-color:#1e73be"] .archivio-badge-outline:hover,
.header[style*="background-color: #1e73be"] .archivio-badge-outline:hover,
.header[style*="background-color:#1e73be"] .archivio-badge-outline:hover,
*[style*="background-color: #1e73be"] .archivio-badge-outline:hover,
*[style*="background-color:#1e73be"] .archivio-badge-outline:hover,
*[style*="background: #1e73be"] .archivio-badge-outline:hover,
*[style*="background:#1e73be"] .archivio-badge-outline:hover {
    background-color: white !important;
    color: #1e73be !important;
    border-color: white !important;
}

/* Fix per reference link su sfondo blu */
.archivio-sezione[style*="background-color: #1e73be"] .archivio-reference-link,
.archivio-sezione[style*="background-color:#1e73be"] .archivio-reference-link,
.widget[style*="background-color: #1e73be"] .archivio-reference-link,
.widget[style*="background-color:#1e73be"] .archivio-reference-link,
.site-header[style*="background-color: #1e73be"] .archivio-reference-link,
.site-header[style*="background-color:#1e73be"] .archivio-reference-link,
.entry-header[style*="background-color: #1e73be"] .archivio-reference-link,
.entry-header[style*="background-color:#1e73be"] .archivio-reference-link,
.page-header[style*="background-color: #1e73be"] .archivio-reference-link,
.page-header[style*="background-color:#1e73be"] .archivio-reference-link,
.header[style*="background-color: #1e73be"] .archivio-reference-link,
.header[style*="background-color:#1e73be"] .archivio-reference-link,
*[style*="background-color: #1e73be"] .archivio-reference-link,
*[style*="background-color:#1e73be"] .archivio-reference-link,
*[style*="background: #1e73be"] .archivio-reference-link,
*[style*="background:#1e73be"] .archivio-reference-link {
    color: #e8f4f8 !important;
    border-bottom-color: #e8f4f8 !important;
}

.archivio-sezione[style*="background-color: #1e73be"] .archivio-reference-link:hover,
.archivio-sezione[style*="background-color:#1e73be"] .archivio-reference-link:hover,
.widget[style*="background-color: #1e73be"] .archivio-reference-link:hover,
.widget[style*="background-color:#1e73be"] .archivio-reference-link:hover,
.site-header[style*="background-color: #1e73be"] .archivio-reference-link:hover,
.site-header[style*="background-color:#1e73be"] .archivio-reference-link:hover,
.entry-header[style*="background-color: #1e73be"] .archivio-reference-link:hover,
.entry-header[style*="background-color:#1e73be"] .archivio-reference-link:hover,
.page-header[style*="background-color: #1e73be"] .archivio-reference-link:hover,
.page-header[style*="background-color:#1e73be"] .archivio-reference-link:hover,
.header[style*="background-color: #1e73be"] .archivio-reference-link:hover,
.header[style*="background-color:#1e73be"] .archivio-reference-link:hover,
*[style*="background-color: #1e73be"] .archivio-reference-link:hover,
*[style*="background-color:#1e73be"] .archivio-reference-link:hover,
*[style*="background: #1e73be"] .archivio-reference-link:hover,
*[style*="background:#1e73be"] .archivio-reference-link:hover {
    color: white !important;
    border-bottom-color: white !important;
}
/* Fix per pulsanti su sfondo blu */
.archivio-sezione[style*="background-color: #1e73be"] .archivio-btn,
.archivio-sezione[style*="background-color:#1e73be"] .archivio-btn,
.widget[style*="background-color: #1e73be"] .archivio-btn,
.widget[style*="background-color:#1e73be"] .archivio-btn,
.site-header[style*="background-color: #1e73be"] .archivio-btn,
.site-header[style*="background-color:#1e73be"] .archivio-btn,
.entry-header[style*="background-color: #1e73be"] .archivio-btn,
.entry-header[style*="background-color:#1e73be"] .archivio-btn,
.page-header[style*="background-color: #1e73be"] .archivio-btn,
.page-header[style*="background-color:#1e73be"] .archivio-btn,
.header[style*="background-color: #1e73be"] .archivio-btn,
.header[style*="background-color:#1e73be"] .archivio-btn,
*[style*="background-color: #1e73be"] .archivio-btn,
*[style*="background-color:#1e73be"] .archivio-btn,
*[style*="background: #1e73be"] .archivio-btn,
*[style*="background:#1e73be"] .archivio-btn {
    background-color: white !important;
    color: #1e73be !important;
    border-color: white !important;
}

/* Fix per pulsanti primary su sfondo blu */
.archivio-sezione[style*="background-color: #1e73be"] .archivio-btn-primary,
.archivio-sezione[style*="background-color:#1e73be"] .archivio-btn-primary,
.widget[style*="background-color: #1e73be"] .archivio-btn-primary,
.widget[style*="background-color:#1e73be"] .archivio-btn-primary,
.site-header[style*="background-color: #1e73be"] .archivio-btn-primary,
.site-header[style*="background-color:#1e73be"] .archivio-btn-primary,
.entry-header[style*="background-color: #1e73be"] .archivio-btn-primary,
.entry-header[style*="background-color:#1e73be"] .archivio-btn-primary,
.page-header[style*="background-color: #1e73be"] .archivio-btn-primary,
.page-header[style*="background-color:#1e73be"] .archivio-btn-primary,
.header[style*="background-color: #1e73be"] .archivio-btn-primary,
.header[style*="background-color:#1e73be"] .archivio-btn-primary,
*[style*="background-color: #1e73be"] .archivio-btn-primary,
*[style*="background-color:#1e73be"] .archivio-btn-primary,
*[style*="background: #1e73be"] .archivio-btn-primary,
*[style*="background:#1e73be"] .archivio-btn-primary {
    background-color: white !important;
    color: #1e73be !important;
    border-color: white !important;
}

.archivio-sezione[style*="background-color: #1e73be"] .archivio-btn-primary:hover,
.archivio-sezione[style*="background-color:#1e73be"] .archivio-btn-primary:hover,
.widget[style*="background-color: #1e73be"] .archivio-btn-primary:hover,
.widget[style*="background-color:#1e73be"] .archivio-btn-primary:hover,
.site-header[style*="background-color: #1e73be"] .archivio-btn-primary:hover,
.site-header[style*="background-color:#1e73be"] .archivio-btn-primary:hover,
.entry-header[style*="background-color: #1e73be"] .archivio-btn-primary:hover,
.entry-header[style*="background-color:#1e73be"] .archivio-btn-primary:hover,
.page-header[style*="background-color: #1e73be"] .archivio-btn-primary:hover,
.page-header[style*="background-color:#1e73be"] .archivio-btn-primary:hover,
.header[style*="background-color: #1e73be"] .archivio-btn-primary:hover,
.header[style*="background-color:#1e73be"] .archivio-btn-primary:hover,
*[style*="background-color: #1e73be"] .archivio-btn-primary:hover,
*[style*="background-color:#1e73be"] .archivio-btn-primary:hover,
*[style*="background: #1e73be"] .archivio-btn-primary:hover,
*[style*="background:#1e73be"] .archivio-btn-primary:hover {
    background-color: rgba(255, 255, 255, 0.9) !important;
    color: #1e73be !important;
    border-color: rgba(255, 255, 255, 0.9) !important;
}

/* Fix per pulsanti outline su sfondo blu */
.archivio-sezione[style*="background-color: #1e73be"] .archivio-btn-outline,
.archivio-sezione[style*="background-color:#1e73be"] .archivio-btn-outline,
.widget[style*="background-color: #1e73be"] .archivio-btn-outline,
.widget[style*="background-color:#1e73be"] .archivio-btn-outline,
.site-header[style*="background-color: #1e73be"] .archivio-btn-outline,
.site-header[style*="background-color:#1e73be"] .archivio-btn-outline,
.entry-header[style*="background-color: #1e73be"] .archivio-btn-outline,
.entry-header[style*="background-color:#1e73be"] .archivio-btn-outline,
.page-header[style*="background-color: #1e73be"] .archivio-btn-outline,
.page-header[style*="background-color:#1e73be"] .archivio-btn-outline,
.header[style*="background-color: #1e73be"] .archivio-btn-outline,
.header[style*="background-color:#1e73be"] .archivio-btn-outline,
*[style*="background-color: #1e73be"] .archivio-btn-outline,
*[style*="background-color:#1e73be"] .archivio-btn-outline,
*[style*="background: #1e73be"] .archivio-btn-outline,
*[style*="background:#1e73be"] .archivio-btn-outline {
    background-color: transparent !important;
    color: white !important;
    border-color: white !important;
}

.archivio-sezione[style*="background-color: #1e73be"] .archivio-btn-outline:hover,
.archivio-sezione[style*="background-color:#1e73be"] .archivio-btn-outline:hover,
.widget[style*="background-color: #1e73be"] .archivio-btn-outline:hover,
.widget[style*="background-color:#1e73be"] .archivio-btn-outline:hover,
.site-header[style*="background-color: #1e73be"] .archivio-btn-outline:hover,
.site-header[style*="background-color:#1e73be"] .archivio-btn-outline:hover,
.entry-header[style*="background-color: #1e73be"] .archivio-btn-outline:hover,
.entry-header[style*="background-color:#1e73be"] .archivio-btn-outline:hover,
.page-header[style*="background-color: #1e73be"] .archivio-btn-outline:hover,
.page-header[style*="background-color:#1e73be"] .archivio-btn-outline:hover,
.header[style*="background-color: #1e73be"] .archivio-btn-outline:hover,
.header[style*="background-color:#1e73be"] .archivio-btn-outline:hover,
*[style*="background-color: #1e73be"] .archivio-btn-outline:hover,
*[style*="background-color:#1e73be"] .archivio-btn-outline:hover,
*[style*="background: #1e73be"] .archivio-btn-outline:hover,
*[style*="background:#1e73be"] .archivio-btn-outline:hover {
    background-color: white !important;
    color: #1e73be !important;
    border-color: white !important;
}

/* Fix per tag su sfondo blu */
.archivio-sezione[style*="background-color: #1e73be"] .archivio-tag,
.archivio-sezione[style*="background-color:#1e73be"] .archivio-tag,
.widget[style*="background-color: #1e73be"] .archivio-tag,
.widget[style*="background-color:#1e73be"] .archivio-tag,
.site-header[style*="background-color: #1e73be"] .archivio-tag,
.site-header[style*="background-color:#1e73be"] .archivio-tag,
.entry-header[style*="background-color: #1e73be"] .archivio-tag,
.entry-header[style*="background-color:#1e73be"] .archivio-tag,
.page-header[style*="background-color: #1e73be"] .archivio-tag,
.page-header[style*="background-color:#1e73be"] .archivio-tag,
.header[style*="background-color: #1e73be"] .archivio-tag,
.header[style*="background-color:#1e73be"] .archivio-tag,
*[style*="background-color: #1e73be"] .archivio-tag,
*[style*="background-color:#1e73be"] .archivio-tag,
*[style*="background: #1e73be"] .archivio-tag,
*[style*="background:#1e73be"] .archivio-tag {
    background-color: white !important;
    color: #1e73be !important;
    border-color: white !important;
}

.archivio-sezione[style*="background-color: #1e73be"] .archivio-tag:hover,
.archivio-sezione[style*="background-color:#1e73be"] .archivio-tag:hover,
.widget[style*="background-color: #1e73be"] .archivio-tag:hover,
.widget[style*="background-color:#1e73be"] .archivio-tag:hover,
.site-header[style*="background-color: #1e73be"] .archivio-tag:hover,
.site-header[style*="background-color:#1e73be"] .archivio-tag:hover,
.entry-header[style*="background-color: #1e73be"] .archivio-tag:hover,
.entry-header[style*="background-color:#1e73be"] .archivio-tag:hover,
.page-header[style*="background-color: #1e73be"] .archivio-tag:hover,
.page-header[style*="background-color:#1e73be"] .archivio-tag:hover,
.header[style*="background-color: #1e73be"] .archivio-tag:hover,
.header[style*="background-color:#1e73be"] .archivio-tag:hover,
*[style*="background-color: #1e73be"] .archivio-tag:hover,
*[style*="background-color:#1e73be"] .archivio-tag:hover,
*[style*="background: #1e73be"] .archivio-tag:hover,
*[style*="background:#1e73be"] .archivio-tag:hover {
    background-color: rgba(255, 255, 255, 0.9) !important;
    color: #1e73be !important;
    border-color: rgba(255, 255, 255, 0.9) !important;
}

/* Fix per breadcrumb ovunque appaia */
.site-header .breadcrumb,
.entry-header .breadcrumb,
.archivio-header .breadcrumb,
.page-header .breadcrumb,
.header .breadcrumb,
*[style*="background-color: #1e73be"] .breadcrumb,
*[style*="background-color:#1e73be"] .breadcrumb {
    background-color: rgba(0, 0, 0, 0.2) !important;
    color: white !important;
    padding: 0.5rem !important;
    border-radius: 4px !important;
}

.site-header .breadcrumb a,
.entry-header .breadcrumb a,
.archivio-header .breadcrumb a,
.page-header .breadcrumb a,
.header .breadcrumb a,
*[style*="background-color: #1e73be"] .breadcrumb a,
*[style*="background-color:#1e73be"] .breadcrumb a {
    color: #e8f4f8 !important;
}

/* Fix per widget content su sfondo blu */
.widget[style*="background-color: #1e73be"] .archivio-widget-content,
.widget[style*="background-color:#1e73be"] .archivio-widget-content,
*[style*="background-color: #1e73be"] .archivio-widget-content,
*[style*="background-color:#1e73be"] .archivio-widget-content {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: white !important;
}

/* Fix per liste info su sfondo blu */
.widget[style*="background-color: #1e73be"] .archivio-info-list,
.widget[style*="background-color:#1e73be"] .archivio-info-list,
*[style*="background-color: #1e73be"] .archivio-info-list,
*[style*="background-color:#1e73be"] .archivio-info-list {
    color: white !important;
}

.widget[style*="background-color: #1e73be"] .archivio-info-list li,
.widget[style*="background-color:#1e73be"] .archivio-info-list li,
*[style*="background-color: #1e73be"] .archivio-info-list li,
*[style*="background-color:#1e73be"] .archivio-info-list li {
    color: white !important;
    border-bottom-color: rgba(255, 255, 255, 0.3) !important;
}

/* Fix per related links su sfondo blu */
.widget[style*="background-color: #1e73be"] .archivio-related-link,
.widget[style*="background-color:#1e73be"] .archivio-related-link,
*[style*="background-color: #1e73be"] .archivio-related-link,
*[style*="background-color:#1e73be"] .archivio-related-link {
    color: #e8f4f8 !important;
}

.widget[style*="background-color: #1e73be"] .archivio-related-link:hover,
.widget[style*="background-color:#1e73be"] .archivio-related-link:hover,
*[style*="background-color: #1e73be"] .archivio-related-link:hover,
*[style*="background-color:#1e73be"] .archivio-related-link:hover {
    color: white !important;
}

/* === CORREZIONI GENERALI PER MIGLIORARE IL CONTRASTO === */

/* Migliora il contrasto dei badge in generale */
.archivio-badge {
    font-weight: 500 !important;
    border-width: 2px !important;
}

/* Migliora il contrasto dei link in generale */
.archivio-reference-link {
    font-weight: 500 !important;
}

/* Migliora il contrasto dei pulsanti in generale */
.archivio-btn {
    font-weight: 500 !important;
    border-width: 2px !important;
}

/* Migliora il contrasto per elementi con sfondo scuro generico */
.bg-primary,
.bg-blue,
.bg-dark,
*[style*="background-color: #0066cc"],
*[style*="background-color:#0066cc"],
*[style*="background-color: #004499"],
*[style*="background-color:#004499"],
*[style*="background-color: #006699"],
*[style*="background-color:#006699"] {
    color: white !important;
}

.bg-primary *,
.bg-blue *,
.bg-dark *,
*[style*="background-color: #0066cc"] *,
*[style*="background-color:#0066cc"] *,
*[style*="background-color: #004499"] *,
*[style*="background-color:#004499"] *,
*[style*="background-color: #006699"] *,
*[style*="background-color:#006699"] * {
    color: white !important;
}

.bg-primary a,
.bg-blue a,
.bg-dark a,
*[style*="background-color: #0066cc"] a,
*[style*="background-color:#0066cc"] a,
*[style*="background-color: #004499"] a,
*[style*="background-color:#004499"] a,
*[style*="background-color: #006699"] a,
*[style*="background-color:#006699"] a {
    color: #e8f4f8 !important;
}

.bg-primary a:hover,
.bg-blue a:hover,
.bg-dark a:hover,
*[style*="background-color: #0066cc"] a:hover,
*[style*="background-color:#0066cc"] a:hover,
*[style*="background-color: #004499"] a:hover,
*[style*="background-color:#004499"] a:hover,
*[style*="background-color: #006699"] a:hover,
*[style*="background-color:#006699"] a:hover {
    color: white !important;
}

/* === ACCESSIBILITÀ MIGLIORATA === */

/* Aggiunge indicatori di focus più visibili */
.archivio-badge:focus,
.archivio-btn:focus,
.archivio-reference-link:focus,
.archivio-tag:focus {
    outline: 2px solid #ffcc00 !important;
    outline-offset: 2px !important;
}

/* Migliora il contrasto in modalità high contrast */
@media (prefers-contrast: high) {
    .archivio-badge,
    .archivio-btn,
    .archivio-reference-link,
    .archivio-tag {
        border-width: 3px !important;
        font-weight: 600 !important;
    }
    
    /* Su sfondo blu in modalità high contrast */
    *[style*="background-color: #1e73be"] .archivio-badge,
    *[style*="background-color: #1e73be"] .archivio-btn,
    *[style*="background-color: #1e73be"] .archivio-reference-link,
    *[style*="background-color: #1e73be"] .archivio-tag {
        background-color: #ffffff !important;
        color: #000000 !important;
        border-color: #ffffff !important;
    }
}

/* === FINE CORREZIONI CONTRASTO === */

/* ===== RICERCA ARCHIVIO ===== */
/* Stili per la ricerca AJAX inline */
.archivio-search-wrapper {
    background: var(--archivio-bianco);
    border-radius: var(--archivio-border-radius-lg);
    box-shadow: var(--archivio-shadow-md);
    padding: var(--archivio-space-lg);
    margin-bottom: var(--archivio-space-lg);
}

.archivio-atena-search-form {
    margin-bottom: var(--archivio-space-md);
}

.archivio-search-fields {
    display: flex;
    flex-direction: column;
    gap: var(--archivio-space-md);
}

.archivio-search-input-group {
    display: flex;
    gap: var(--archivio-space-sm);
    flex-wrap: wrap;
    position: relative;
    align-items: center;
}

.archivio-search-input-group::before {
    content: "\f002";
    font-family: "dashicons";
    position: absolute;
    left: 16px;
    font-size: 20px;
    color: var(--archivio-grigio-medio);
    pointer-events: none;
    z-index: 1;
}

.archivio-atena-search-input {
    flex: 1;
    min-width: 300px;
    padding: 14px 16px 14px 48px;
    font-size: 1rem;
   
    background: var(--archivio-bianco);
    color: var(--archivio-grigio-scuro);
    transition: var(--archivio-transition-fast);
  
}

.archivio-atena-search-input:focus {
    outline: none;
   
}

.archivio-atena-search-input::placeholder {
    color: var(--archivio-grigio-medio);
    font-style: italic;
}

.archivio-filter-select {
    min-width: 180px;
    padding: var(--archivio-space-sm) var(--archivio-space-md);
    font-size: 1rem;
    border: 2px solid var(--archivio-grigio-border);
    border-radius: var(--archivio-border-radius);
    background: var(--archivio-bianco);
    color: var(--archivio-nero);
    transition: var(--archivio-transition);
}

.archivio-filter-select:focus {
    outline: none;
    border-color: var(--archivio-blu-italia);
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1);
}

.archivio-search-button {
    padding: 14px 32px;
    background: var(--archivio-blu-italia);
    color: var(--archivio-bianco);
    border: none;
    border-radius: 50px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: var(--archivio-space-xs);
    transition: var(--archivio-transition);
    white-space: nowrap;
    box-shadow: 0 2px 4px rgba(0, 102, 204, 0.2);
}

.archivio-search-button:hover {
    
    transform: translateY(-1px);
    
}

.archivio-search-button:disabled {
    background: var(--archivio-grigio-medio);
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.archivio-search-button .dashicons {
    font-size: 18px;
    margin-right: -4px;
}

/* Stili per risultati inline */
.archivio-atena-results {
    margin-top: var(--archivio-space-lg);
}

/* STILI LEGACY RIMOSSI - Ora usiamo .archivio-archive-item unificato */
/* I seguenti stili sono stati sostituiti dal sistema di card unificate */

/* Stili per il link interno nelle card */
.archivio-archive-link {
    display: block;
    text-decoration: none !important;
    color: inherit !important;
    height: 100%;
}

.archivio-archive-link:hover {
    text-decoration: none !important;
    color: inherit !important;
}

/* STILI LEGACY RIMOSSI - Ora usiamo .archivio-archive-item unificato */

/* STILI LEGACY RIMOSSI - Ora usiamo .archivio-archive-item unificato */





/* Forza stili per badge group nei risultati */
.archivio-atena-results .archivio-badge-group {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
    gap: var(--archivio-space-lg) !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Stili per archive grid nei risultati di ricerca */
.archivio-atena-results .archivio-archive-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
    gap: var(--archivio-space-lg) !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* STILI LEGACY RIMOSSI - Ora usiamo .archivio-archive-item unificato */

/* Responsive cards */
@media (max-width: 768px) {
    .archivio-atena-results .archivio-badge-group,
    .archivio-atena-results .archivio-archive-grid {
        grid-template-columns: 1fr !important;
        gap: var(--archivio-space-sm) !important;
    }
    
    /* Stili legacy rimossi - ora usiamo .archivio-archive-item unificato */
}

/* Stili per stati speciali */
.archivio-search-no-results {
    text-align: center;
    padding: var(--archivio-space-xxl) var(--archivio-space-lg);
    background: var(--archivio-bianco);
    border-radius: var(--archivio-border-radius-lg);
    box-shadow: var(--archivio-shadow-sm);
}

.archivio-search-no-results h2 {
    font-family: var(--archivio-font-serif);
    font-size: 1.75rem;
    color: var(--archivio-nero);
    margin-bottom: var(--archivio-space-md);
}

.archivio-search-no-results p {
    color: var(--archivio-grigio-scuro);
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: var(--archivio-space-sm);
}

.archivio-search-no-results p:last-child {
    margin-bottom: 0;
}

.archivio-search-loading {
    text-align: center;
    padding: var(--archivio-space-xl) var(--archivio-space-lg);
    background: var(--archivio-bianco);
    border-radius: var(--archivio-border-radius-lg);
    box-shadow: var(--archivio-shadow-sm);
    color: var(--archivio-grigio-medio);
}

.archivio-search-error {
    text-align: center;
    padding: var(--archivio-space-xl) var(--archivio-space-lg);
    background: #f8d7da;
    border: 1px solid #f5c6cb;
    border-radius: var(--archivio-border-radius-lg);
    color: #721c24;
}

/* ===== PAGINA DI RICERCA DEDICATA ===== */
/* La pagina di ricerca usa la stessa struttura delle altre pagine frontend */
/* Gli stili sono già definiti nelle sezioni precedenti per:
 * - .archivio-comuni-italia (wrapper principale)
 * - .archivio-servizio-header (header con gradient)
 * - .archivio-servizio-main (contenuto principale)
 * - .archivio-servizio-content (contenuto)
 * - .archivio-sezione (sezioni)
 */

/* Stili specifici per la ricerca integrata nella struttura esistente */
.archivio-servizio-content .archivio-search-wrapper {
    background: var(--archivio-bianco);
    border-radius: var(--archivio-border-radius-lg);
    box-shadow: var(--archivio-shadow-sm);
    padding: var(--archivio-space-lg);
    margin-bottom: 0;
}

.archivio-servizio-content .archivio-atena-results {
    margin-top: 0;
}

/* Placeholder per pagina vuota */
.archivio-search-placeholder {
    text-align: center;
    padding: var(--archivio-space-xxl) var(--archivio-space-lg);
    background: var(--archivio-bianco);
    border-radius: var(--archivio-border-radius-lg);
    box-shadow: var(--archivio-shadow-sm);
}



.archivio-search-placeholder h2 {
    font-family: var(--archivio-font-serif);
    font-size: 1.75rem;
    color: var(--archivio-nero);
    margin-bottom: var(--archivio-space-md);
}

.archivio-search-placeholder p {
    color: var(--archivio-grigio-scuro);
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: var(--archivio-space-sm);
}

.archivio-search-placeholder p:last-child {
    margin-bottom: 0;
}

/* Paginazione - Ora unificata con lo stile enti-persone */

/* ===== RESPONSIVE RICERCA ===== */
@media (max-width: 768px) {
    /* BOX DI RICERCA - Padding esterno verticale aumentato */
    .archivio-search-wrapper {
        margin: var(--archivio-space-xl) 0 !important;
        padding: var(--archivio-space-xl) var(--archivio-space-lg) !important;
    }
    
    .archivio-search-input-group {
        flex-direction: column;
    }
    
    .archivio-atena-search-input {
        min-width: 100%;
        padding: 14px 16px 14px 48px !important;
        min-height: 48px !important;
        font-size: 1.1rem !important;
        line-height: 1.4 !important;
    }
    
    .archivio-filter-select {
        min-width: 100%;
        padding: var(--archivio-space-md) var(--archivio-space-md) !important;
        min-height: 48px !important;
        font-size: 1.1rem !important;
        line-height: 1.4 !important;
    }
    
    .archivio-search-button {
        justify-content: center;
        width: 100%;
        min-height: 48px !important;
        padding: var(--archivio-space-md) !important;
    }
}

@media (max-width: 480px) {
    .archivio-search-wrapper {
        padding: var(--archivio-space-md);
    }
    
    /* CAMPO RICERCA ANCORA PIÙ ALTO su schermi piccoli */
    .archivio-atena-search-input {
        padding: 16px 16px 16px 48px !important;
        min-height: 52px !important;
        font-size: 1.2rem !important;
    }
    
    .archivio-search-button {
        min-height: 52px !important;
        padding: var(--archivio-space-lg) !important;
        font-size: 1.1rem !important;
    }
}
    
    .archivio-atena-pagination .page-numbers {
        padding: var(--archivio-space-xs) var(--archivio-space-sm);
        font-size: 0.875rem;
    }
    
    /* Stili legacy rimossi - ora usiamo .archivio-archive-item unificato */
    
    .archivio-card-header strong {
        font-size: 0.9rem !important;
    }
    
    .archivio-card-description {
        font-size: 0.8rem !important;
        -webkit-line-clamp: 1 !important;
    }
    
    .archivio-card-info-item {
        font-size: 0.75rem !important;
    }
    
    .archivio-info-label {
        font-size: 0.7rem !important;
        min-width: 60px !important;
    }
}

/* === FINE STILI RICERCA === */ 

/* ===== STILI PER MULTIPLE FILE UPLOADS - GALLERY ===== */

/* Container principale per la gallery di file multipli */
.archivio-files-gallery {
    display: flex;
    flex-direction: column;
    gap: var(--archivio-space-md);
    margin: var(--archivio-space-md) 0;
}

/* Contatore file */
.archivio-files-count {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--archivio-blu-italia);
    background: var(--archivio-bianco);
    padding: var(--archivio-space-xs) var(--archivio-space-sm);
    border-radius: var(--archivio-border-radius);
    margin-bottom: var(--archivio-space-sm);
    border: 1px solid var(--archivio-grigio-border);
    display: inline-block;
}

/* Item singolo nella gallery */
.archivio-file-item {
    background: var(--archivio-bianco);
    border-radius: var(--archivio-border-radius);
    padding: var(--archivio-space-md);
    border: 1px solid var(--archivio-grigio-border);
    transition: var(--archivio-transition);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: var(--archivio-shadow-xs);
}

.archivio-file-item:hover {
    transform: translateY(-2px);
    box-shadow: var(--archivio-shadow-sm);
    border-color: var(--archivio-blu-italia);
}

/* Item per immagini */
.archivio-image-item .archivio-gallery-image {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: var(--archivio-border-radius);
    margin-bottom: var(--archivio-space-sm);
    border: 1px solid var(--archivio-grigio-border);
    transition: var(--archivio-transition);
}

.archivio-image-item:hover .archivio-gallery-image {
    transform: scale(1.02);
}

/* Item per documenti - Card migliorate */
.archivio-document-item {
    text-align: left;
}

.archivio-document-card {
    display: flex;
    align-items: center;
    gap: var(--archivio-space-md);
    padding: var(--archivio-space-lg);
    background: var(--archivio-bianco);
    border: 1px solid var(--archivio-grigio-border);
    border-radius: var(--archivio-border-radius);
    transition: all 0.3s ease;
    box-shadow: var(--archivio-shadow-xs);
    width: 100%;
}

.archivio-document-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--archivio-shadow-sm);
    border-color: var(--archivio-blu-italia);
}

.archivio-document-icon {
    font-size: 2.5rem;
    opacity: 0.9;
    flex-shrink: 0;
    width: 60px;
    text-align: center;
    color: var(--archivio-bianco);
    background: linear-gradient(135deg, var(--archivio-blu-italia) 0%, var(--archivio-azzurro-italia) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
}

.archivio-document-icon svg {
    width: 32px;
    height: 32px;
    fill: currentColor;
}

.archivio-document-info {
    flex: 1;
    min-width: 0;
}

.archivio-document-name {
    font-weight: 600;
    color: var(--archivio-nero);
    font-size: 1rem;
    margin-bottom: var(--archivio-space-xs);
    word-break: break-word;
    line-height: 1.4;
}

.archivio-document-meta {
    display: flex;
    gap: var(--archivio-space-md);
    align-items: center;
    font-size: 0.875rem;
    color: var(--archivio-grigio-scuro);
}

.archivio-document-size {
    background: var(--archivio-grigio-chiaro);
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 500;
}

.archivio-document-format {
    background: linear-gradient(135deg, var(--archivio-blu-italia) 0%, var(--archivio-azzurro-italia) 100%);
    color: white;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
}

.archivio-document-actions {
    display: flex;
    gap: var(--archivio-space-sm);
    flex-shrink: 0;
}
.archivio-document-view {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: var(--archivio-grigio-scuro);
    text-decoration: none;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.archivio-document-view:hover {
    color: var(--archivio-nero);
    transform: scale(1.1);
    text-decoration: none;
}
.archivio-document-download {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: var(--archivio-blu-italia);
    text-decoration: none;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.archivio-document-download:hover {
    color: var(--archivio-blu-italia-dark);
    transform: scale(1.1);
    text-decoration: none;
}

/* Pulsante play per file audio */
.archivio-document-play {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: var(--archivio-verde-italia);
    background: none;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0;
    padding: 0;
}

.archivio-document-play:hover {
    color: var(--archivio-verde-italia-dark);
    transform: scale(1.1);
}

.archivio-document-play.playing {
    color: var(--archivio-rosso-italia);
}

.archivio-document-play.playing:hover {
    color: var(--archivio-rosso-italia-dark);
}

.archivio-document-play svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

/* Player audio globale */
.archivio-audio-player {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: var(--archivio-bianco);
    border: 1px solid var(--archivio-grigio-border);
    border-radius: var(--archivio-border-radius);
    box-shadow: var(--archivio-shadow-medium);
    padding: var(--archivio-space-md);
    z-index: 1000;
    min-width: 300px;
    display: none;
}

.archivio-audio-player.show {
    display: block;
}

.archivio-audio-player-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--archivio-space-sm);
}

.archivio-audio-player-title {
    font-weight: 600;
    color: var(--archivio-nero);
    font-size: 0.9rem;
    margin: 0;
    flex: 1;
    margin-right: var(--archivio-space-sm);
}

.archivio-audio-player-close {
    background: none;
    border: none;
    color: var(--archivio-grigio-scuro);
    cursor: pointer;
    padding: 4px;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.archivio-audio-player-close:hover {
    background: var(--archivio-grigio-chiaro);
    color: var(--archivio-nero);
}

.archivio-audio-player-controls {
    display: flex;
    align-items: center;
    gap: var(--archivio-space-sm);
    margin-bottom: var(--archivio-space-sm);
}

.archivio-audio-player-play {
    background: var(--archivio-verde-italia);
    color: white;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.archivio-audio-player-play:hover {
    background: var(--archivio-verde-italia-dark);
    transform: scale(1.05);
}

.archivio-audio-player-play svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.archivio-audio-player-progress {
    flex: 1;
    height: 6px;
    background: var(--archivio-grigio-chiaro);
    border-radius: 3px;
    cursor: pointer;
    position: relative;
}

.archivio-audio-player-progress-bar {
    height: 100%;
    background: var(--archivio-verde-italia);
    border-radius: 3px;
    width: 0%;
    transition: width 0.1s ease;
}

.archivio-audio-player-time {
    font-size: 0.8rem;
    color: var(--archivio-grigio-scuro);
    min-width: 80px;
    text-align: center;
}

.archivio-audio-player-volume {
    display: flex;
    align-items: center;
    gap: var(--archivio-space-xs);
}

.archivio-audio-player-volume-control {
    width: 60px;
    height: 4px;
    background: var(--archivio-grigio-chiaro);
    border-radius: 2px;
    cursor: pointer;
    position: relative;
}

.archivio-audio-player-volume-bar {
    height: 100%;
    background: var(--archivio-verde-italia);
    border-radius: 2px;
    width: 100%;
    transition: width 0.1s ease;
}

/* Responsive per player audio */
@media (max-width: 768px) {
    .archivio-audio-player {
        bottom: 10px;
        right: 10px;
        left: 10px;
        min-width: auto;
    }
    
    .archivio-audio-player-controls {
        flex-wrap: wrap;
    }
    
    .archivio-audio-player-volume {
        width: 100%;
        justify-content: center;
        margin-top: var(--archivio-space-sm);
    }
}

/* Icone documento - usando colori dell'header (bianco su gradiente) */
.archivio-document-icon {
    color: var(--archivio-bianco) !important;
    background: linear-gradient(135deg, var(--archivio-blu-italia) 0%, var(--archivio-azzurro-italia) 100%) !important;
}

/* Responsive per card documento */
@media (max-width: 768px) {
    .archivio-document-card {
        flex-direction: column;
        text-align: center;
        gap: var(--archivio-space-sm);
        padding: var(--archivio-space-md);
    }
    
    .archivio-document-icon {
        font-size: 2rem;
        width: 50px;
        height: 50px;
    }
    
    .archivio-document-meta {
        justify-content: center;
        flex-wrap: wrap;
    }
    
    .archivio-document-actions {
        gap: var(--archivio-space-xs);
    }
    
    .archivio-document-view,
    .archivio-document-download {
        width: 50px;
        height: 50px;
    }
}

@media (max-width: 480px) {
    .archivio-document-card {
        padding: var(--archivio-space-sm);
    }
    
    .archivio-document-name {
        font-size: 0.9rem;
    }
    
    .archivio-document-meta {
        font-size: 0.8rem;
        gap: var(--archivio-space-sm);
    }
    
    .archivio-document-icon {
        font-size: 1.8rem;
        width: 45px;
        height: 45px;
    }
}

/* ===== MODAL DOCUMENTI ===== */
.archivio-document-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999999;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.archivio-document-modal.show {
    display: flex;
    opacity: 1;
}

.archivio-document-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(4px);
}

.archivio-document-modal-container {
    position: relative;
    width: 90%;
    max-width: 1200px;
    height: 90%;
    max-height: 800px;
    margin: auto;
    background: var(--archivio-bianco);
    border-radius: var(--archivio-border-radius-lg);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.archivio-document-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--archivio-space-lg);
    background: linear-gradient(135deg, var(--archivio-blu-italia) 0%, var(--archivio-azzurro-italia) 100%);
    color: var(--archivio-bianco);
    border-bottom: 1px solid var(--archivio-grigio-border);
}

.archivio-document-modal-title {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 600;
    flex: 1;
}

.archivio-document-modal-close {
    background: none;
    border: none;
    color: var(--archivio-bianco);
    cursor: pointer;
    padding: var(--archivio-space-sm);
    border-radius: 50%;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
}

.archivio-document-modal-close:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: scale(1.1);
}

.archivio-document-modal-content {
    flex: 1;
    overflow: hidden;
    position: relative;
}

#archivio-document-iframe {
    width: 100%;
    height: 100%;
    border: none;
    background: var(--archivio-bianco);
}

/* Responsive modal */
@media (max-width: 768px) {
    .archivio-document-modal-container {
        width: 95%;
        height: 95%;
        max-height: none;
    }
    
    .archivio-document-modal-header {
        padding: var(--archivio-space-md);
    }
    
    .archivio-document-modal-title {
        font-size: 1rem;
    }
    
    .archivio-document-modal-close {
        width: 35px;
        height: 35px;
    }
}

@media (max-width: 480px) {
    .archivio-document-modal-container {
        width: 100%;
        height: 100%;
        border-radius: 0;
    }
    
    .archivio-document-modal-header {
        padding: var(--archivio-space-sm);
    }
}

/* Blocca scroll quando modal è aperto */
body.archivio-modal-open {
    overflow: hidden;
}

/* Stile per messaggio preview documento */
.archivio-document-preview-message {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--archivio-space-xl);
    height: 100%;
    color: var(--archivio-grigio-scuro);
}

.archivio-document-preview-icon {
    font-size: 4rem;
    margin-bottom: var(--archivio-space-lg);
    opacity: 0.7;
}

.archivio-document-preview-message h4 {
    margin: 0 0 var(--archivio-space-md) 0;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--archivio-grigio-scuro);
}

.archivio-document-preview-message p {
    margin: 0 0 var(--archivio-space-sm) 0;
    font-size: 1rem;
    line-height: 1.5;
    max-width: 500px;
}

.archivio-document-preview-message p:last-of-type {
    margin-bottom: var(--archivio-space-lg);
    font-weight: 500;
}

.archivio-document-preview-actions {
    display: flex;
    gap: var(--archivio-space-md);
    flex-wrap: wrap;
    justify-content: center;
}

.archivio-document-preview-actions .archivio-btn {
    display: flex;
    align-items: center;
    gap: var(--archivio-space-sm);
    padding: var(--archivio-space-md) var(--archivio-space-lg);
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none;
    border-radius: var(--archivio-border-radius);
    transition: all 0.3s ease;
}

.archivio-document-preview-actions .archivio-btn svg {
    flex-shrink: 0;
}

/* Responsive per preview */
@media (max-width: 768px) {
    .archivio-document-preview-message {
        padding: var(--archivio-space-lg);
    }
    
    .archivio-document-preview-icon {
        font-size: 3rem;
    }
    
    .archivio-document-preview-message h4 {
        font-size: 1.3rem;
    }
    
    .archivio-document-preview-actions {
        flex-direction: column;
        width: 100%;
    }
    
    .archivio-document-preview-actions .archivio-btn {
        justify-content: center;
    }
}

/* Informazioni del file */
.archivio-file-info {
    width: 100%;
}

.archivio-file-link {
    color: var(--archivio-blu-italia);
    text-decoration: none;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.4;
    display: block;
    margin-bottom: var(--archivio-space-xs);
    word-break: break-word;
}

.archivio-file-link:hover {
    text-decoration: underline;
    color: var(--archivio-blu-italia-dark);
}

.archivio-file-size {
    font-size: 0.75rem;
    color: var(--archivio-grigio-scuro);
    opacity: 0.8;
}

/* Layout per pochi file (1-3) - compatibile con tutti i browser */
.archivio-files-gallery.archivio-files-few {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

/* Layout speciale per file singolo */
.archivio-files-gallery.archivio-files-single {
    grid-template-columns: 1fr;
    max-width: 600px;
    margin: 0 auto;
}

/* Immagine singola a dimensione intera */
.archivio-files-gallery.archivio-files-single .archivio-single-image {
    width: 100% !important;
    height: auto !important;
    max-height: 500px !important;
    object-fit: contain !important;
    border-radius: var(--archivio-border-radius);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transition: var(--archivio-transition);
    cursor: pointer;
}

.archivio-files-gallery.archivio-files-single .archivio-single-image:hover {
    transform: scale(1.02);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

/* Fallback per immagini singole senza classe speciale */
.archivio-files-gallery.archivio-files-single .archivio-gallery-image {
    height: auto;
    max-height: 500px;
    object-fit: contain;
}

/* Responsive per gallery */
@media (max-width: 768px) {
    .archivio-files-gallery {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: var(--archivio-space-sm);
        padding: var(--archivio-space-sm);
    }
    
    .archivio-file-item {
        padding: var(--archivio-space-sm);
    }
    
    .archivio-image-item .archivio-gallery-image {
        height: 120px;
    }
    
    /* Immagine singola su tablet */
    .archivio-files-gallery.archivio-files-single .archivio-single-image {
        max-height: 400px;
    }
    
    .archivio-file-link {
        font-size: 0.8rem;
    }
    
    .archivio-file-icon {
        font-size: 2.5rem;
    }
}

@media (max-width: 480px) {
    .archivio-files-gallery {
        grid-template-columns: 1fr 1fr;
        gap: var(--archivio-space-xs);
    }
    
    .archivio-image-item .archivio-gallery-image {
        height: 100px;
    }
    
    /* Immagine singola su mobile */
    .archivio-files-gallery.archivio-files-single .archivio-single-image {
        max-height: 300px;
    }
    
    .archivio-file-link {
        font-size: 0.75rem;
    }
    
    .archivio-file-icon {
        font-size: 2rem;
    }
}

/* Lightbox per immagini multiple (opzionale) */
.archivio-gallery-image {
    cursor: pointer;
}

.archivio-gallery-image:hover {
    opacity: 0.9;
}

/* Icone specifiche per tipo di file */
.archivio-document-item[data-ext="pdf"] .archivio-file-icon {
    color: #d32f2f;
}

.archivio-document-item[data-ext="doc"] .archivio-file-icon,
.archivio-document-item[data-ext="docx"] .archivio-file-icon {
    color: #1976d2;
}

.archivio-document-item[data-ext="xls"] .archivio-file-icon,
.archivio-document-item[data-ext="xlsx"] .archivio-file-icon {
    color: #388e3c;
}

.archivio-document-item[data-ext="mp4"] .archivio-file-icon,
.archivio-document-item[data-ext="avi"] .archivio-file-icon,
.archivio-document-item[data-ext="mov"] .archivio-file-icon {
    content: "🎥";
}

.archivio-document-item[data-ext="mp3"] .archivio-file-icon,
.archivio-document-item[data-ext="wav"] .archivio-file-icon,
.archivio-document-item[data-ext="flac"] .archivio-file-icon {
    content: "🎵";
}

/* Gallery senza titolo - OCCUPA TUTTO LO SPAZIO */
.archivio-gallery-only {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    width: 100% !important;
    display: block !important;
    grid-column: 1 / -1 !important; /* Occupa tutte le colonne della griglia padre */
}

/* Rimuove tutti i possibili bordi dalla galleria */
.archivio-gallery-only::after,
.archivio-gallery-only::before,
.archivio-gallery-only .archivio-files-gallery::after,
.archivio-gallery-only .archivio-files-gallery::before {
    display: none !important;
    border: none !important;
}

/* Rimuove il container extra della gallery - LAYOUT FLEXIBILE */
.archivio-gallery-only .archivio-files-gallery {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--archivio-space-md) !important;
    margin: var(--archivio-space-lg) 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    list-style: none !important;
}

/* Rimuove tutti i possibili bordi dalla sezione File e Risorse Digitali */
.archivio-sezione h2:contains("File e Risorse Digitali") + .archivio-sezione-content {
    border: none !important;
    border-bottom: none !important;
}

/* Rimuove bordi da elementi dd contenenti la galleria */
dd.archivio-gallery-only {
    border: none !important;
    border-bottom: none !important;
    border-top: none !important;
    margin-bottom: 0 !important;
}

/* Gallery - file item ottimizzati per spazio completo */
.archivio-gallery-only .archivio-file-item {
    margin: 0 !important;
    border-radius: var(--archivio-border-radius) !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    transition: var(--archivio-transition) !important;
    width: 100% !important;
    height: auto !important;
}

.archivio-gallery-only .archivio-file-item:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* Immagini quadrate */
.archivio-gallery-only .archivio-gallery-image {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
    border-radius: var(--archivio-border-radius) !important;
    aspect-ratio: 1/1 !important;
}

/* FORZA ASSOLUTA DEL LAYOUT FLEXIBILE - CARD IN COLONNA - TUTTO LO SPAZIO */
.archivio-gallery-only .archivio-files-gallery,
.archivio-dettagli .archivio-gallery-only .archivio-files-gallery,
dd.archivio-gallery-only .archivio-files-gallery {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--archivio-space-md) !important;
    width: 100% !important;
    margin: var(--archivio-space-lg) 0 !important;
    padding: 0 !important;
    border: none !important;
    border-bottom: none !important;
    border-top: none !important;
}

/* Responsive - mantiene layout colonna su tutti i dispositivi */
@media (max-width: 768px) {
    .archivio-gallery-only .archivio-files-gallery,
    .archivio-dettagli .archivio-gallery-only .archivio-files-gallery,
    dd.archivio-gallery-only .archivio-files-gallery {
        gap: var(--archivio-space-sm) !important;
    }
}

@media (max-width: 480px) {
    .archivio-gallery-only .archivio-files-gallery,
    .archivio-dettagli .archivio-gallery-only .archivio-files-gallery,
    dd.archivio-gallery-only .archivio-files-gallery {
        gap: var(--archivio-space-xs) !important;
    }
}

/* === FINE STILI MULTIPLE FILES === */

/* ===== LIGHTBOX MODAL PER GALLERY ===== */

/* Overlay del modal */
.archivio-lightbox-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    z-index: 999999;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.archivio-lightbox-overlay.show {
    display: flex;
    opacity: 1;
    align-items: center;
    justify-content: center;
}

/* Container del modal */
.archivio-lightbox-container {
    position: relative;
    max-width: calc(100vw - 200px); /* Spazio per frecce laterali */
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 100px; /* Spazio per le frecce */
}

/* Immagine nel modal - DIMENSIONI CONTROLLATE */
.archivio-lightbox-image {
    max-width: 100%;
    max-height: 65vh; /* Ridotto per lasciare spazio ai controlli */
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: var(--archivio-border-radius);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}
/* Controlli del lightbox */
.archivio-lightbox-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    margin-top: 20px;
    padding: 15px;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 8px;
    backdrop-filter: blur(15px);
}
/* Titolo dell'immagine */
.archivio-lightbox-title {
    color: white;
    font-size: 1.1rem;
    font-weight: 600;
    text-align: center;
    margin: var(--archivio-space-sm) 0;
    padding: 0 var(--archivio-space-md);
}
/* Contatore immagini */
.archivio-lightbox-counter {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.9rem;
    margin-bottom: var(--archivio-space-sm);
}

/* Pulsanti di navigazione - DESIGN ELEGANTE */
.archivio-lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.8);
    border: 2px solid rgba(255, 255, 255, 0.2);
    color: white;
    font-size: 1.5rem;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    backdrop-filter: blur(15px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000000;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    opacity: 0.9;
    line-height: 1;
}

.archivio-lightbox-nav:hover {
    background: rgba(0, 0, 0, 0.95);
    border-color: rgba(255, 255, 255, 0.4);
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 6px 25px rgba(0, 0, 0, 0.5);
    opacity: 1;
}

.archivio-lightbox-prev {
    left: -80px;
}

.archivio-lightbox-next {
    right: -80px;
}

/* Pulsanti in basso - DESIGN ELEGANTE */
.archivio-lightbox-btn {
    background: rgba(255, 255, 255, 0.2);
    border: 2px solid rgba(255, 255, 255, 0.3);
    color: white !important;
    padding: 10px 18px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none !important;
    font-size: 0.9rem;
    font-weight: 500;
    backdrop-filter: blur(15px);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    text-transform: none;
    letter-spacing: normal;
}

/* Regole specifiche per il link di download */
.archivio-lightbox-download {
    color: white !important;
    text-decoration: none !important;
}

.archivio-lightbox-download:hover,
.archivio-lightbox-download:visited,
.archivio-lightbox-download:focus,
.archivio-lightbox-download:active {
    color: white !important;
    text-decoration: none !important;
}

/* Sovrascrive tutti gli stili di link nel lightbox */
.archivio-lightbox-overlay a.archivio-lightbox-btn,
.archivio-lightbox-overlay a.archivio-lightbox-download {
    color: white !important;
    text-decoration: none !important;
}

.archivio-lightbox-overlay a.archivio-lightbox-btn:hover,
.archivio-lightbox-overlay a.archivio-lightbox-download:hover,
.archivio-lightbox-overlay a.archivio-lightbox-btn:visited,
.archivio-lightbox-overlay a.archivio-lightbox-download:visited,
.archivio-lightbox-overlay a.archivio-lightbox-btn:focus,
.archivio-lightbox-overlay a.archivio-lightbox-download:focus,
.archivio-lightbox-overlay a.archivio-lightbox-btn:active,
.archivio-lightbox-overlay a.archivio-lightbox-download:active {
    color: white !important;
    text-decoration: none !important;
}

.archivio-lightbox-btn:hover {
    background: rgba(255, 255, 255, 0.3);
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
    color: white !important;
    text-decoration: none !important;
}

/* Pulsante di chiusura - DESIGN ELEGANTE */
.archivio-lightbox-close {
    position: absolute;
    top: -50px;
    right: 0;
    background: rgba(0, 0, 0, 0.8);
    border: 2px solid rgba(255, 255, 255, 0.3);
    color: white;
    font-size: 1.4rem;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
    font-weight: normal;
    line-height: 1;
}

.archivio-lightbox-close:hover {
    background: rgba(0, 0, 0, 0.95);
    border-color: rgba(255, 255, 255, 0.5);
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.6);
}

/* Responsivo - TABLET */
@media (max-width: 768px) {
    .archivio-lightbox-container {
        max-width: calc(100vw - 80px);
        max-height: 95vh;
        padding: 0 40px;
    }
    
    .archivio-lightbox-image {
        max-height: 55vh;
    }
    
    .archivio-lightbox-nav {
        font-size: 1.6rem;
        width: 45px;
        height: 45px;
        background: rgba(0, 0, 0, 0.85);
        opacity: 0.95;
    }
    
    .archivio-lightbox-prev {
        left: -40px;
    }
    
    .archivio-lightbox-next {
        right: -40px;
    }
    
    .archivio-lightbox-close {
        top: -45px;
        right: -5px;
        width: 38px;
        height: 38px;
        font-size: 1.3rem;
    }
    
    .archivio-lightbox-controls {
        flex-direction: column;
        gap: 12px;
    }
    
    .archivio-lightbox-title {
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .archivio-lightbox-container {
        max-width: calc(100vw - 60px);
        padding: 0 30px;
    }
    
    .archivio-lightbox-image {
        max-height: 50vh;
    }
    
    .archivio-lightbox-prev {
        left: 5px;
        background: rgba(0, 0, 0, 0.9);
    }
    
    .archivio-lightbox-next {
        right: 5px;
        background: rgba(0, 0, 0, 0.9);
    }
    
    .archivio-lightbox-close {
        top: 15px;
        right: 15px;
        width: 36px;
        height: 36px;
        font-size: 1.2rem;
    }
    
    .archivio-lightbox-nav {
        background: rgba(0, 0, 0, 0.9);
        font-size: 1.4rem;
        width: 40px;
        height: 40px;
        border-width: 1px;
        opacity: 1;
    }
    
    .archivio-lightbox-btn {
        font-size: 0.85rem;
        padding: 10px 16px;
        border-radius: 20px;
    }
    
    .archivio-lightbox-controls {
        margin-top: 15px;
        padding: 10px;
        gap: 10px;
    }
}

/* Animazioni */
.archivio-lightbox-image {
    animation: archivio-lightbox-fadein 0.3s ease;
}

@keyframes archivio-lightbox-fadein {
    from { opacity: 0; transform: scale(0.9); }
    to { opacity: 1; transform: scale(1); }
}

/* Cursori per indicare interazione */
.archivio-gallery-image {
    cursor: pointer;
    transition: var(--archivio-transition);
}

.archivio-gallery-image:hover {
    transform: scale(1.02);
    opacity: 0.9;
}

/* === FINE LIGHTBOX === */

/* ===== GALLERIA ESPANDIBILE (MASSIMO 9 IMMAGINI) ===== */

/* Nascondi file oltre il limite */
.archivio-file-hidden {
    display: none !important;
}

/* Container del pulsante espandi */
.archivio-gallery-expand {
    text-align: center;
    margin-top: var(--archivio-space-md);
    padding-top: var(--archivio-space-md);
}

/* Pulsante espandi/comprimi */
.archivio-expand-btn {
    background: var(--archivio-bianco) !important;
    border: 2px solid var(--archivio-blu-italia) !important;
    color: var(--archivio-blu-italia) !important;
    padding: var(--archivio-space-sm) var(--archivio-space-lg) !important;
    border-radius: var(--archivio-border-radius-lg) !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    transition: var(--archivio-transition) !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: var(--archivio-space-xs) !important;
}

.archivio-expand-btn:hover {
    background: var(--archivio-blu-italia) !important;
    color: var(--archivio-bianco) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0, 102, 204, 0.3) !important;
}

.archivio-expand-btn:active {
    transform: translateY(0) !important;
}

/* Animazione smooth per la comparsa delle immagini */
.archivio-file-item {
    transition: opacity 0.3s ease, transform 0.3s ease !important;
}

.archivio-file-item.archivio-file-showing {
    animation: archivio-file-fadein 0.4s ease forwards;
}

@keyframes archivio-file-fadein {
    from {
        opacity: 0;
        transform: scale(0.8) translateY(10px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

/* Responsive per il pulsante */
@media (max-width: 768px) {
    .archivio-expand-btn {
        font-size: 0.9rem !important;
        padding: var(--archivio-space-xs) var(--archivio-space-md) !important;
    }
}

@media (max-width: 480px) {
    .archivio-gallery-expand {
        margin-top: var(--archivio-space-sm);
        padding-top: var(--archivio-space-sm);
    }
    
    .archivio-expand-btn {
        font-size: 0.85rem !important;
        width: 100% !important;
        justify-content: center !important;
    }
}

/* === FINE GALLERIA ESPANDIBILE === */



/* ===== STILI PER ENTI E PERSONE NEL FRONTEND ===== */
/* Applica stili solo al CPT archivio_enteper */

/* Raggruppamento campi biografici - SOLO per archivio_enteper */
.single-archivio_enteper .archivio-sezione h2.archivio-sezione-title {
    position: relative;
    margin-bottom: 1.5rem;
}

/* Icone per i gruppi di Enti e Persone - SOLO per archivio_enteper */
.single-archivio_enteper .archivio-sezione h2.archivio-sezione-title::before {
    content: "";
    margin-right: 0.5rem;
    opacity: 0.7;
    font-size: 1.2em;
}

.single-archivio_enteper .archivio-sezione h2.archivio-sezione-title:contains("Informazioni Generali")::before {
    content: "👤";
}

.single-archivio_enteper .archivio-sezione h2.archivio-sezione-title:contains("Informazioni Biografiche")::before {
    content: "📅";
}

.single-archivio_enteper .archivio-sezione h2.archivio-sezione-title:contains("Contatti")::before {
    content: "📞";
}

.single-archivio_enteper .archivio-sezione h2.archivio-sezione-title:contains("Funzioni e Responsabilità")::before {
    content: "⚙️";
}

.single-archivio_enteper .archivio-sezione h2.archivio-sezione-title:contains("Note Aggiuntive")::before {
    content: "📝";
}

/* Raggruppamento visivo per campi biografici correlati - SOLO per archivio_enteper */
.single-archivio_enteper .archivio-dettagli dt + dd + dt[data-field*="nascita"] {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e9ecef;
}

.single-archivio_enteper .archivio-dettagli dt + dd + dt[data-field*="morte"] {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e9ecef;
}

/* Evidenzia i campi raggruppati - SOLO per archivio_enteper */
.single-archivio_enteper .archivio-dettagli dt:contains("Data Nascita") + dd + dt:contains("Luogo Nascita") {
    margin-top: 0.25rem;
    font-size: 0.9em;
    color: #6c757d;
}

.single-archivio_enteper .archivio-dettagli dt:contains("Data Morte") + dd + dt:contains("Luogo Morte") {
    margin-top: 0.25rem;
    font-size: 0.9em;
    color: #6c757d;
}

/* Badge per tipo ente/persona */
.archivio-badge.tipo-ente {
    background-color: #28a745;
    color: white;
}

.archivio-badge.tipo-persona {
    background-color: #007bff;
    color: white;
}

/* Stili per i campi condizionali nascosti */
.archivio-campo-nascosto {
    display: none !important;
}

/* Migliora la leggibilità dei campi raggruppati - SOLO per archivio_enteper */
.single-archivio_enteper .archivio-dettagli dt {
    font-weight: 600;
    margin-bottom: 0.25rem;
    color: #495057;
}

.single-archivio_enteper .archivio-dettagli dd {
    margin-bottom: 1rem;
    margin-left: 0;
}

/* Evidenzia i campi data in modo speciale - SOLO per archivio_enteper */
.single-archivio_enteper .archivio-dettagli dd time {
    background-color: #f8f9fa;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    font-family: 'Courier New', monospace;
    font-size: 0.9em;
    border: 1px solid #dee2e6;
}

/* Stili per i link di riferimento */
.archivio-reference-link {
    color: #007bff;
    text-decoration: none;
    font-weight: 500;
}

.archivio-reference-link:hover {
    text-decoration: underline;
}

/* Responsive per dispositivi mobili - SOLO per archivio_enteper */
@media (max-width: 768px) {
    .single-archivio_enteper .archivio-dettagli dt {
        font-size: 0.9rem;
    }
    
    .single-archivio_enteper .archivio-dettagli dd {
        font-size: 0.85rem;
        padding-left: 0.5rem;
    }
    
    .single-archivio_enteper .archivio-sezione h2.archivio-sezione-title {
        font-size: 1.2rem;
    }
}

/* ===== SEZIONE POST CORRELATI AL FONDO ===== */

/* Sezione per i post correlati al fondo */
.archivio-related-type-section {
    margin-bottom: var(--archivio-space-lg);
}

.archivio-related-type-section:last-child {
    margin-bottom: 0;
}

/* Titolo per ogni tipo di post correlato */
.archivio-related-type-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--archivio-nero);
    margin-bottom: var(--archivio-space-lg);
    padding-bottom: var(--archivio-space-sm);
    border-bottom: 2px solid var(--archivio-grigio-border);
}

/* STILI LEGACY RIMOSSI - Ora usiamo .archivio-archive-item unificato */

/* Layout a griglia per i post correlati - soluzione ottimale */
.archivio-related-type-section .archivio-badge-group {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--archivio-space-md);
    padding-top: var(--archivio-space-md);
    margin: 0;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
    box-sizing: border-box;
}

/* Desktop con sidebar: quando la colonna principale diventa troppo stretta */
@media (max-width: 1400px) {
    .archivio-related-type-section .archivio-badge-group {
        grid-template-columns: 1fr;
        gap: var(--archivio-space-sm);
    }
}

/* Su layout a 1 colonna (tablet/mobile): torna a 2 colonne se c'è spazio */
@media (max-width: 1024px) {
    .archivio-related-type-section .archivio-badge-group {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--archivio-space-md);
    }
}

@media (max-width: 768px) {
    .archivio-related-type-section .archivio-badge-group {
        grid-template-columns: 1fr;
        gap: var(--archivio-space-sm);
        padding-top: var(--archivio-space-sm);
    }
}

/* Responsive per i post correlati */
@media (max-width: 768px) {
    .archivio-related-type-section .archivio-badge-group {
        grid-template-columns: 1fr;
        gap: var(--archivio-space-sm);
    }
    
    .archivio-related-type-title {
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .archivio-related-type-section {
        margin-bottom: var(--archivio-space-md);
    }
    
    .archivio-related-type-title {
        font-size: 0.95rem;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--archivio-space-xs);
    }
}

/* Sezione correlati edge-to-edge */
.archivio-sezione-content.archivio-correlati-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100%;
    max-width: 100%;
}

.archivio-related-type-section .archivio-badge-group {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--archivio-space-md);
    padding-top: var(--archivio-space-md);
    margin: 0;
    width: 100%;
    box-sizing: border-box;
}

/* STILI LEGACY RIMOSSI - Ora usiamo .archivio-archive-item unificato */

@media (max-width: 768px) {
    .archivio-related-type-section .archivio-badge-group {
        grid-template-columns: 1fr;
        gap: var(--archivio-space-sm);
        padding-top: var(--archivio-space-sm);
    }
}

/* Sezione correlati edge-to-edge rispetto al contenitore centrale */
.archivio-correlati-content {
    margin-left: calc(-1 * var(--archivio-space-md));
    margin-right: calc(-1 * var(--archivio-space-md));
}

/* ===== PULSANTE "VEDI ALTRO" ===== */
.archivio-vedi-altro-container {
    margin-top: var(--archivio-space-md);
    text-align: center;
}

.archivio-vedi-altro-button {
    display: inline-block;
    padding: var(--archivio-space-sm) var(--archivio-space-lg);
    background-color: white;
    color: var(--archivio-grigio-scuro) !important;
    text-decoration: none;
    border-radius: var(--archivio-border-radius);
    font-weight: 500;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    border: 2px solid var(--archivio-grigio-chiaro);
}

.archivio-vedi-altro-button:hover {
    background-color: var(--archivio-grigio-chiaro);
    border-color: var(--archivio-grigio-scuro);
    color: var(--archivio-grigio-scuro) !important;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.archivio-vedi-altro-button:focus {
    outline: 2px solid var(--archivio-grigio-scuro);
    outline-offset: 2px;
}

/* ===== FILTRI TIPOLOGIA PAGINA ELEMENTI ===== */
.archivio-tipo-filters {
    display: flex;
    flex-wrap: wrap;
    gap: var(--archivio-space-sm);
    margin-top: var(--archivio-space-md);
}

.archivio-tipo-filter {
    display: inline-block;
    padding: var(--archivio-space-sm) var(--archivio-space-md);
    background-color: var(--archivio-grigio-chiaro);
    color: var(--archivio-nero);
    text-decoration: none;
    border-radius: var(--archivio-border-radius);
    font-weight: 500;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    border: 2px solid var(--archivio-grigio-chiaro);
}

.archivio-tipo-filter:hover {
    background-color: var(--archivio-blu-italia-light);
    color: white;
    text-decoration: none;
    border-color: var(--archivio-blu-italia-light);
}

.archivio-tipo-filter.active {
    background-color: var(--archivio-blu-italia) !important;
    color: white !important;
    border-color: var(--archivio-blu-italia) !important;
}

.archivio-tipo-filter.active:hover {
    background-color: var(--archivio-blu-italia-dark) !important;
    border-color: var(--archivio-blu-italia-dark) !important;
    color: white !important;
}

/* Forza la visibilità del pulsante attivo */
.archivio-tipo-filters .archivio-tipo-filter.active {
    background-color: var(--archivio-blu-italia) !important;
    color: var(--archivio-bianco) !important;
    border-color: var(--archivio-blu-italia) !important;
    font-weight: 600 !important;
}

/* Responsive per filtri tipologia */
@media (max-width: 768px) {
    .archivio-tipo-filters {
        flex-direction: column;
        gap: var(--archivio-space-xs);
    }
    
    .archivio-tipo-filter {
        text-align: center;
        padding: var(--archivio-space-sm);
    }
}

@media (max-width: 768px) {
    .archivio-correlati-content {
        margin-left: -10px;
        margin-right: -10px;
        width: calc(100% + 20px);
    }
}

/* STILI LEGACY RIMOSSI - Ora usiamo .archivio-archive-item unificato */

/* Filtri avanzati nascosti/espansi */
.archivio-filtri-avanzati {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transition: max-height 0.3s, opacity 0.3s;
    margin-top: 0;
    padding: 0;
    border-top: none;
}
.archivio-filtri-avanzati.aperta {
    max-height: 1000px;
    opacity: 1;
    pointer-events: auto;
    margin-top: var(--archivio-space-md);
    padding: var(--archivio-space-md) 0 0 0;
    border-top: 1px solid var(--archivio-grigio-border);
}

.archivio-filtri-toggle {
    float: right;
    margin-left: auto;
    margin-bottom: 0;
    margin-top: var(--archivio-space-sm);
    font-size: 1rem;
    font-weight: 500;
    background: none;
    border: none;
    color: var(--archivio-blu-italia);
    cursor: pointer;
    transition: color 0.2s;
}
.archivio-filtri-toggle:hover {
    color: var(--archivio-blu-italia-dark);
    text-decoration: underline;
}

.archivio-filters-actions {
    display: flex;
    align-items: center;
    gap: var(--archivio-space-sm);
    margin-top: var(--archivio-space-md);
}

/* Fix definitivo per immagine singola a dimensione intera */
.archivio-files-gallery.archivio-files-single {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 auto !important;
  display: flex !important;
  justify-content: center !important;
}
.archivio-files-gallery.archivio-files-single .archivio-file-item {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  border: none !important;
  background: none !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
.archivio-files-gallery.archivio-files-single .archivio-single-image {
  width: 100% !important;
  max-width: 700px !important;
  height: auto !important;
  max-height: 70vh !important;
  object-fit: contain !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.10) !important;
  border-radius: var(--archivio-border-radius-lg) !important;
  background: white !important;
}

/* Fix ultra-specifico per immagine singola in gallery-only */
dd.archivio-gallery-only .archivio-files-gallery.archivio-files-single {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  justify-content: stretch !important;
}
dd.archivio-gallery-only .archivio-files-gallery.archivio-files-single .archivio-file-item {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  border: none !important;
  background: none !important;
  display: block !important;
  justify-content: stretch !important;
  align-items: stretch !important;
}
dd.archivio-gallery-only .archivio-files-gallery.archivio-files-single .archivio-single-image {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 100vh !important;
  min-height: auto !important;
  object-fit: cover !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Annulla height fissa delle gallery-image quando è anche single-image */
dd.archivio-gallery-only .archivio-files-gallery.archivio-files-single .archivio-single-image.archivio-gallery-image {
  height: auto !important;
  min-height: 200px !important;
  max-height: 70vh !important;
}

/* Rimuove il separatore grigio sotto l'immagine singola in gallery-only */
dd.archivio-gallery-only .archivio-files-gallery.archivio-files-single {
  border-bottom: none !important;
}
/* Rimuove anche eventuale bordo dal dd stesso */
dd.archivio-gallery-only {
  border-bottom: none !important;
}

/* Elimina ogni box/ombra/bordo per immagine singola in gallery-only */
dd.archivio-gallery-only .archivio-files-gallery.archivio-files-single,
dd.archivio-gallery-only .archivio-files-gallery.archivio-files-single .archivio-file-item {
  background: none !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Rimuove il bordo inferiore dalla sezione solo se contiene una sola immagine */
.archivio-sezione:has(dd.archivio-gallery-only .archivio-files-gallery.archivio-files-single) {
  border-bottom: none !important;
}

/* Nuke: elimina ogni bordo, background e ombra da tutti i wrapper della gallery singola */
dd.archivio-gallery-only,
dd.archivio-gallery-only *,
dd.archivio-gallery-only .archivio-files-gallery.archivio-files-single,
dd.archivio-gallery-only .archivio-files-gallery.archivio-files-single *,
dd.archivio-gallery-only .archivio-file-item,
dd.archivio-gallery-only .archivio-file-item * {
  background: none !important;
  box-shadow: none !important;
  border: none !important;
  outline: none !important;
}
/* Rimuove padding e margini extra */
dd.archivio-gallery-only,
dd.archivio-gallery-only .archivio-files-gallery.archivio-files-single,
dd.archivio-gallery-only .archivio-file-item {
  padding: 0 !important;
  margin: 0 !important;
}
/* Rimuove il bordo inferiore anche da section e wrapper superiori */
section.archivio-sezione:has(dd.archivio-gallery-only),
section:has(dd.archivio-gallery-only) {
  border-bottom: none !important;
  box-shadow: none !important;
}
/* CHIRURGICO: elimina ogni bordo, background, ombra, border-radius e padding/margine per la gallery singola */
section.archivio-sezione > .archivio-sezione-content > dl.archivio-dettagli > dd.archivio-gallery-only > .archivio-files-gallery.archivio-files-single,
section.archivio-sezione > .archivio-sezione-content > dl.archivio-dettagli > dd.archivio-gallery-only > .archivio-files-gallery.archivio-files-single > .archivio-file-item.archivio-image-item {
  background: none !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
section.archivio-sezione > .archivio-sezione-content > dl.archivio-dettagli > dd.archivio-gallery-only {
  background: none !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
section.archivio-sezione > .archivio-sezione-content > dl.archivio-dettagli {
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
section.archivio-sezione > .archivio-sezione-content {
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding-bottom: 0 !important;
}
section.archivio-sezione:has(.archivio-gallery-only .archivio-files-single) {
  border-bottom: none !important;
  box-shadow: none !important;
}

/* ===== CARD PLACEHOLDER SVG ===== */
.archivio-card-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 200px;
    background-color: #f5f5f5;
    border-radius: 8px 8px 0 0;
    min-height: 200px;
    position: relative;
}

/* Icone lineari semplici e moderne per ogni tipo di contenuto */
.archivio-card-icon {
    width: 32px;
    height: 32px;
    display: block;
    position: relative;
    margin: 0 auto;
    transition: all 0.3s ease;
    opacity: 0.7;
    border: 2px solid #6c757d;
    border-radius: 6px;
    background: transparent;
}

.archivio-card-placeholder:hover .archivio-card-icon {
    opacity: 1;
    transform: scale(1.05);
}

/* Icona Fotografia - Macchina fotografica riconoscibile */
.archivio-card-icon.archivio-icon-fotografia::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 16px;
    border: 2px solid #6c757d;
    border-radius: 4px;
}

.archivio-card-icon.archivio-icon-fotografia::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 12px;
    height: 10px;
    border: 2px solid #6c757d;
    border-radius: 50%;
    background: #6c757d;
    box-shadow: 0 0 0 1px #6c757d;
}

/* Icona Documento - Foglio lineare */
.archivio-card-icon.archivio-icon-documento::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 14px;
    height: 18px;
    border: 2px solid #6c757d;
    border-radius: 2px;
}

.archivio-card-icon.archivio-icon-documento::after {
    content: '';
    position: absolute;
    top: 25%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 1px;
    background: #6c757d;
    box-shadow: 0 2px 0 #6c757d, 0 4px 0 #6c757d, 0 6px 0 #6c757d;
}

/* Icona Fondo - Cartella lineare */
.archivio-card-icon.archivio-icon-fondo::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 18px;
    height: 14px;
    border: 2px solid #6c757d;
    border-radius: 2px;
}

.archivio-card-icon.archivio-icon-fondo::after {
    content: '';
    position: absolute;
    top: 35%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 6px;
    height: 2px;
    background: #6c757d;
    border-radius: 1px;
}

/* Icona Audio - Onde sonore lineari */
.archivio-card-icon.archivio-icon-audio::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 16px;
    height: 16px;
    border: 2px solid #6c757d;
    border-radius: 50%;
}

.archivio-card-icon.archivio-icon-audio::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 4px;
    height: 4px;
    background: #6c757d;
    border-radius: 50%;
}

/* Icona Cartografia - Mappa lineare */
.archivio-card-icon.archivio-icon-cartografia::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 16px;
    height: 12px;
    border: 2px solid #6c757d;
    border-radius: 2px;
}

.archivio-card-icon.archivio-icon-cartografia::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 6px;
    height: 6px;
    border: 1px solid #6c757d;
    border-radius: 50%;
}

/* Icona Video - Play button lineare */
.archivio-card-icon.archivio-icon-video::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 16px;
    height: 12px;
    border: 2px solid #6c757d;
    border-radius: 2px;
}

.archivio-card-icon.archivio-icon-video::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    border-left: 6px solid #6c757d;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    margin-left: 2px;
}

/* Icona Libri - Libri lineari */
.archivio-card-icon.archivio-icon-libri::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 4px;
    height: 16px;
    background: #6c757d;
    border-radius: 1px;
    box-shadow: 4px 0 0 #6c757d, 8px 0 0 #6c757d;
}

.archivio-card-icon.archivio-icon-libri::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 16px;
    height: 2px;
    background: #6c757d;
    border-radius: 1px;
}

/* Icona Enti/Persone - Persona lineare */
.archivio-card-icon.archivio-icon-enteper::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 12px;
    height: 12px;
    border: 2px solid #6c757d;
    border-radius: 50%;
}

.archivio-card-icon.archivio-icon-enteper::after {
    content: '';
    position: absolute;
    bottom: 25%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 16px;
    height: 8px;
    background: #6c757d;
    border-radius: 4px;
}

/* Fallback per SVG (manteniamo per compatibilità) */
.archivio-card-svg {
    width: 48px;
    height: 48px;
    opacity: 0.8;
    display: block;
    fill: none;
    stroke-width: 2;
    transition: all 0.3s ease;
}

.archivio-card-placeholder .archivio-card-svg {
    width: 48px;
    height: 48px;
    opacity: 0.8;
    display: block;
    fill: none;
    stroke-width: 2;
    transition: all 0.3s ease;
}

/* ===== CARD UNIFORMATE ===== */
.archivio-archive-item {
    background: var(--archivio-bianco);
    border-radius: var(--archivio-border-radius-lg);
    box-shadow: var(--archivio-shadow-sm);
    overflow: hidden;
    transition: all 0.3s ease;
    border: 1px solid var(--archivio-grigio-border);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.archivio-archive-item:hover {
    box-shadow: var(--archivio-shadow-md);
    transform: translateY(-2px);
}

.archivio-archive-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

.archivio-card-image-section {
    width: 100%;
    height: 200px;
    overflow: hidden;
    position: relative;
    border-top-left-radius: var(--archivio-border-radius-lg);
    border-top-right-radius: var(--archivio-border-radius-lg);
}

.archivio-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
    border-top-left-radius: var(--archivio-border-radius-lg);
    border-top-right-radius: var(--archivio-border-radius-lg);
}

.archivio-archive-item:hover .archivio-card-image {
    transform: scale(1.05);
}

.archivio-card-content-section {
    padding: var(--archivio-space-lg);
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.archivio-card-content-section strong {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--archivio-nero);
    margin-bottom: var(--archivio-space-md);
    line-height: 1.4;
}

.archivio-card-type {
    display: inline-block;
    background: var(--archivio-blu-italia);
    color: var(--archivio-bianco);
    padding: 4px 8px;
    border-radius: var(--archivio-border-radius-sm);
    font-size: 0.8rem;
    font-weight: 500;
    margin-bottom: var(--archivio-space-lg);
    align-self: flex-start;
}

.archivio-card-description {
    color: var(--archivio-grigio-testo);
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: var(--archivio-space-md);
    flex-grow: 1;
}

.archivio-card-info {
    margin-bottom: var(--archivio-space-md);
    text-align: left;
}

.archivio-card-info-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: var(--archivio-space-xs);
    font-size: 0.85rem;
    gap: var(--archivio-space-sm);
    text-align: left;
}

.archivio-info-label {
    color: var(--archivio-grigio-testo);
    font-weight: 500;
    min-width: 120px;
    flex-shrink: 0;
    text-align: left;
}

.archivio-info-value {
    color: var(--archivio-nero);
    font-weight: 400;
    flex: 1;
    text-align: left;
}

.archivio-card-meta {
    color: var(--archivio-grigio-testo);
    font-size: 0.8rem;
    font-style: italic;
    margin-top: auto;
    padding-top: var(--archivio-space-sm);
    text-align: right;
    /* RIMOSSA: border-top: 1px solid var(--archivio-grigio-border); */
}

/* ===== CONTROLLI ARCHIVIO (Desktop - layout originale) ===== */
.archivio-archive-controls {
    margin-bottom: var(--archivio-space-lg);
    padding: var(--archivio-space-md);
}

.archivio-results-info {
    font-size: 0.9rem;
    color: var(--archivio-grigio-scuro);
    font-weight: 500;
    margin-bottom: var(--archivio-space-sm);
}

.archivio-sort-controls {
    display: flex;
    align-items: center;
    gap: var(--archivio-space-sm);
}

.archivio-sort-controls label {
    font-size: 0.9rem;
    color: var(--archivio-grigio-scuro);
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: var(--archivio-space-xs);
}

.archivio-sort-controls label::after {
    content: "";
    font-size: 0.8rem;
    opacity: 0.7;
}

.archivio-sort-select {
    border: 1px solid var(--archivio-grigio-border);
    border-radius: var(--archivio-border-radius-sm);
    padding: var(--archivio-space-xs) var(--archivio-space-sm);
    font-size: 0.9rem;
    background: var(--archivio-bianco);
    color: var(--archivio-nero);
    min-width: 180px;
}

/* ===== GRID LAYOUT ===== */
.archivio-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--archivio-space-md);
    margin-top: var(--archivio-space-md);
}

.archivio-archive-item {
    min-height: 400px;
    display: flex;
    flex-direction: column;
    background: var(--archivio-bianco);
    border: 1px solid var(--archivio-grigio-border);
    border-radius: var(--archivio-border-radius-lg);
    overflow: hidden;
    transition: var(--archivio-transition);
    box-shadow: var(--archivio-shadow-sm);
}

.archivio-card-content-section {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: var(--archivio-space-lg);
}

.archivio-card-content-section strong {
    color: var(--archivio-nero);
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: var(--archivio-space-sm);
    line-height: 1.3;
}

.archivio-card-type {
    display: inline-block;
    background: var(--archivio-blu-italia);
    color: var(--archivio-bianco);
    font-size: 0.75rem;
    font-weight: 500;
    padding: 0.25rem 0.5rem;
    border-radius: var(--archivio-border-radius-sm);
    margin-bottom: var(--archivio-space-lg);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.archivio-card-description {
    color: var(--archivio-grigio-testo);
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: var(--archivio-space-md);
    flex: 1;
}

.archivio-card-info {
    margin-bottom: var(--archivio-space-md);
    text-align: left;
}

.archivio-card-info-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: var(--archivio-space-xs);
    font-size: 0.85rem;
    gap: var(--archivio-space-sm);
    text-align: left;
}

.archivio-info-label {
    color: var(--archivio-grigio-testo);
    font-weight: 500;
    min-width: 120px;
    flex-shrink: 0;
    text-align: left;
}

.archivio-info-value {
    color: var(--archivio-nero);
    font-weight: 400;
    flex: 1;
    text-align: left;
}

.archivio-card-meta {
    color: var(--archivio-grigio-testo);
    font-size: 0.8rem;
    font-style: italic;
    margin-top: auto;
    padding-top: var(--archivio-space-sm);
    text-align: right;
    /* RIMOSSA: border-top: 1px solid var(--archivio-grigio-border); */
}

/* DESKTOP: Layout e spaziature ottimizzate */
@media (min-width: 769px) {
    .archivio-card-meta {
        text-align: right !important;
        padding-top: var(--archivio-space-sm) !important;
    }
    
    .archivio-card-content-section {
        margin-bottom: var(--archivio-space-md) !important;
    }
    
    /* TITOLO desktop - dimensione e spazio equilibrati */
    .archivio-card-content-section strong {
        font-size: 1.2rem !important;
        margin-bottom: var(--archivio-space-lg) !important;
    }
    
    /* MENO SPAZIO tra elementi metadata desktop */
    .archivio-card-info-item {
        margin-bottom: var(--archivio-space-sm) !important;
        padding-bottom: 0 !important;
    }
    
    /* Font-size e line-height ottimizzati per desktop */
    .archivio-card-info-item .archivio-info-label,
    .archivio-card-info-item .archivio-info-value,
    .archivio-card-info-item .archivio-info-value a {
        font-size: 1rem !important;
        line-height: 1.5 !important;
    }
    
    /* Badge tipo desktop - padding normale */
    .archivio-card-type {
        padding: 4px 8px !important;
        margin-bottom: var(--archivio-space-lg) !important;
    }
}

/* Responsive per card principali - Ottimizzato */
@media (max-width: 1200px) {
    .archivio-archive-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--archivio-space-sm);
    }
    
    .archivio-archive-item {
        min-height: 380px;
    }
}

@media (max-width: 768px) {
    .archivio-archive-grid {
        grid-template-columns: 1fr;
        gap: var(--archivio-space-lg) !important;
    }
    
    /* Riduci spazi esterni su tablet */
    .archivio-comuni-italia .archivio-comuni-container {
        padding: 0 var(--archivio-space-lg) !important;
    }
    
    .archivio-filtri-section {
        padding: var(--archivio-space-md) 0 !important;
    }
    
    .archivio-servizio-main {
        padding: var(--archivio-space-lg) 0 !important;
    }
    
    .archivio-archive-item {
        min-height: 350px;
    }
    
    /* Mantieni dimensioni coerenti per le immagini delle card su tablet */
    .archivio-card-image-section {
        width: 100% !important;
        height: 180px !important;
        overflow: hidden !important;
        position: relative !important;
        border-top-left-radius: var(--archivio-border-radius-lg) !important;
        border-top-right-radius: var(--archivio-border-radius-lg) !important;
    }
    
    .archivio-card-image {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        max-width: 100% !important;
        border-top-left-radius: var(--archivio-border-radius-lg) !important;
        border-top-right-radius: var(--archivio-border-radius-lg) !important;
    }
}
@media (max-width: 480px) {
    .archivio-archive-grid {
        gap: var(--archivio-space-lg) !important;
    }
    
    /* Riduci spazi esterni su mobile */
    .archivio-comuni-italia .archivio-comuni-container {
        padding: 0 var(--archivio-space-md) !important;
    }
    
    .archivio-filtri-section {
        padding: var(--archivio-space-sm) 0 !important;
    }
    
    .archivio-filtri-container {
        padding: var(--archivio-space-md) !important;
        margin: 0 var(--archivio-space-xs) !important;
    }
    
    .archivio-servizio-main {
        padding: var(--archivio-space-md) 0 !important;
    }
    
    .archivio-sezione {
        padding: var(--archivio-space-md) !important;
        margin-bottom: var(--archivio-space-md) !important;
    }
    
    .archivio-archive-item {
        min-height: 320px;
    }
    
    /* Mantieni dimensioni coerenti per le immagini delle card su mobile */
    .archivio-card-image-section {
        width: 100% !important;
        height: 160px !important;
        overflow: hidden !important;
        position: relative !important;
        border-top-left-radius: var(--archivio-border-radius-lg) !important;
        border-top-right-radius: var(--archivio-border-radius-lg) !important;
    }
    
    .archivio-card-image {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        max-width: 100% !important;
        border-top-left-radius: var(--archivio-border-radius-lg) !important;
        border-top-right-radius: var(--archivio-border-radius-lg) !important;
    }
    
    .archivio-card-content-section {
        padding: var(--archivio-space-lg) var(--archivio-space-md) var(--archivio-space-md) var(--archivio-space-md) !important;
        width: 100%;
        box-sizing: border-box;
        text-align: left !important;
    }
    
    .archivio-card-content-section strong {
        font-size: 1.2rem !important;
        word-wrap: break-word;
        overflow-wrap: break-word;
        margin-bottom: var(--archivio-space-sm) !important;
        line-height: 1.3 !important;
    }
    
    /* Titolo del link della card su mobile */
    .archivio-card-content-section strong a,
    .archivio-card-content-section a {
        font-size: 1.2rem !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
        display: block !important;
        margin-bottom: var(--archivio-space-sm) !important;
    }
    
    .archivio-card-description {
        font-size: 0.85rem !important;
        word-wrap: break-word;
        overflow-wrap: break-word;
        line-height: 1.3 !important;
    }
    
    /* Uniforma TUTTI gli elementi delle card (escluso titolo) */
    .archivio-card-content-section p,
    .archivio-card-content-section span,
    .archivio-card-content-section div:not(.archivio-card-content-section strong):not(.archivio-card-content-section strong a) {
        font-size: 0.85rem !important;
        line-height: 1.3 !important;
        text-align: left !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Data pubblicazione - FORZATA a destra su mobile */
    .archivio-card-meta,
    .archivio-card .archivio-card-meta,
    .archivio-archive-grid .archivio-card-meta {
        font-size: 0.8rem !important;
        line-height: 1.3 !important;
        text-align: right !important;
        margin-top: var(--archivio-space-xl) !important;
        padding: var(--archivio-space-lg) 0 0 0 !important;
        width: 100% !important;
        display: block !important;
        float: none !important;
        clear: both !important;
        position: relative !important;
    }
    
    /* FORZATURA NUCLEARE per data pubblicazione - DESTRA ASSOLUTA */
    .archivio-comuni-italia .archivio-card-meta,
    .archivio-comuni-italia .archivio-archive-item .archivio-card-meta {
        text-align: right !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        width: 100% !important;
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
    }
    
    /* FORZATURA ASSOLUTA del contenuto della data */
    .archivio-card-meta * {
        text-align: right !important;
        margin-left: auto !important;
        margin-right: 0 !important;
    }
    
    /* Assicura allineamento perfetto a sinistra per tutti gli elementi TRANNE la data */
    .archivio-card-content-section *:not(.archivio-card-meta):not(.archivio-card-meta *) {
        text-align: left !important;
    }
    
    .archivio-card-content-section strong,
    .archivio-card-content-section strong a {
        text-align: left !important;
        display: block !important;
    }
    
    .archivio-card-info {
        width: 100%;
        overflow: hidden;
    }
    
    .archivio-card-info-item {
        font-size: 0.85rem !important;
        width: 100%;
        overflow: hidden;
        display: flex !important;
        align-items: flex-start !important;
        gap: var(--archivio-space-xs) !important;
        margin-bottom: var(--archivio-space-lg) !important;
        padding-bottom: var(--archivio-space-xs) !important;
    }
    
    /* FORZA spazio uniforme per TUTTI gli elementi metadata */
    .archivio-card-content-section > *:not(.archivio-card-meta) {
        margin-bottom: var(--archivio-space-lg) !important;
    }
    
    /* Label e valori allineati su mobile - DIMENSIONI IDENTICHE PIÙ GRANDI */
    .archivio-card-info-item .archivio-info-label {
        font-size: 0.9rem !important;
        font-weight: 600 !important;
        color: var(--archivio-grigio-scuro) !important;
        min-width: 80px !important;
        flex-shrink: 0 !important;
        text-align: left !important;
        line-height: 1.8 !important; /* Aumentata interlinea per migliore leggibilità */
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .archivio-card-info-item .archivio-info-value {
        font-size: 0.9rem !important;
        font-weight: 400 !important;
        color: var(--archivio-nero) !important;
        flex: 1 !important;
        text-align: left !important;
        line-height: 1.8 !important; /* Aumentata interlinea per migliore leggibilità */
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* FORZA dimensioni identiche per link nei valori */
    .archivio-card-info-item .archivio-info-value a,
    .archivio-card-info-item .archivio-info-value a:link,
    .archivio-card-info-item .archivio-info-value a:visited,
    .archivio-card-info-item .archivio-info-value a:hover {
        font-size: 0.9rem !important;
        font-weight: 400 !important;
        line-height: 1.8 !important;
        text-decoration: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* REGOLA DI SICUREZZA - Forza dimensioni su TUTTI gli elementi nei metadati */
    .archivio-card-info-item *,
    .archivio-card-info-item span,
    .archivio-card-info-item div {
        font-size: 0.9rem !important;
        line-height: 1.8 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Fix per tutti i metadati (archivio-dettagli) su mobile */
    .archivio-dettagli {
        width: 100%;
        overflow: hidden;
    }
    
    .archivio-dettagli dt {
        font-size: 0.85rem !important;
        font-weight: 600 !important;
        word-wrap: break-word;
        overflow-wrap: break-word;
        white-space: normal;
        min-width: auto;
        width: 100%;
        margin-bottom: 0.2rem;
        line-height: 1.3 !important;
    }
    
    .archivio-dettagli dd {
        font-size: 0.85rem !important;
        font-weight: 400 !important;
        word-wrap: break-word;
        overflow-wrap: break-word;
        white-space: normal;
        line-height: 1.3 !important;
        width: 100%;
        margin-bottom: var(--archivio-space-sm);
        padding-left: 0;
    }
    
    /* Fix per campi specifici con testi lunghi */
    .archivio-dettagli .archivio-field-soggetto-value,
    .archivio-dettagli .archivio-field-note-value,
    .archivio-dettagli .archivio-field-consistenza-value,
    .archivio-dettagli .archivio-field-cronologia-formazione-value,
    .archivio-dettagli .archivio-field-modo-condizionamento-value,
    .archivio-dettagli .archivio-field-descrizione-value,
    .archivio-dettagli .archivio-field-biography-value,
    .archivio-dettagli .archivio-field-iscrizioni-value,
    .archivio-dettagli .archivio-field-alterazioni-value,
    .archivio-dettagli .archivio-field-stato-conservazione-value {
        word-wrap: break-word;
        overflow-wrap: break-word;
        white-space: normal;
        hyphens: auto;
        font-size: 0.8rem;
        line-height: 1.4;
    }
    
    /* REGOLA FINALE - FORZA DATA A DESTRA CON MASSIMA SPECIFICITÀ */
    .archivio-comuni-italia .archivio-card-content-section .archivio-card-meta,
    .archivio-comuni-italia .archivio-archive-item .archivio-card-content-section .archivio-card-meta,
    .archivio-comuni-italia .archivio-archive-grid .archivio-archive-item .archivio-card-content-section .archivio-card-meta {
        text-align: right !important;
        display: block !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        float: none !important;
        position: relative !important;
        direction: ltr !important;
    }
    
    /* FORZA ANCHE IL CONTENUTO INTERNO */
    .archivio-card-meta span,
    .archivio-card-meta time,
    .archivio-card-meta * {
        text-align: right !important;
        display: inline !important;
        margin-left: auto !important;
        margin-right: 0 !important;
    }
    
    /* FORZA SPAZIO UNIFORME - REGOLA FINALE */
    .archivio-card-content-section .archivio-card-info-item,
    .archivio-card-content-section > p,
    .archivio-card-content-section > div:not(.archivio-card-meta) {
        margin-bottom: var(--archivio-space-lg) !important;
    }
    
    /* FORZATURA NUCLEARE - LINE-HEIGHT UNIFORME */
    .archivio-card-info-item .archivio-info-label,
    .archivio-card-info-item .archivio-info-value,
    .archivio-card-info-item .archivio-info-value a,
    .archivio-card-info-item .archivio-info-value span,
    .archivio-card-info-item * {
        line-height: 1.8 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* FORZA LAYOUT UNIFORME PER TUTTI GLI archivio-card-info-item */
    .archivio-card-info-item {
        display: flex !important;
        align-items: flex-start !important;
        gap: var(--archivio-space-xs) !important;
        margin-bottom: var(--archivio-space-lg) !important;
        padding-bottom: var(--archivio-space-xs) !important;
        min-height: 2.5rem !important;
    }
    
    /* PIÙ PADDING per badge tipo su mobile */
    .archivio-card-type {
        padding: var(--archivio-space-sm) var(--archivio-space-md) !important;
        margin-bottom: var(--archivio-space-xl) !important;
    }
}

/* ===== RESPONSIVE EXTRA SMALL (320px e sotto) ===== */
@media (max-width: 320px) {
    /* Mantieni dimensioni coerenti per le immagini delle card su schermi molto piccoli */
    .archivio-card-image-section {
        width: 100% !important;
        height: 140px !important;
        overflow: hidden !important;
        position: relative !important;
    }
    
    .archivio-card-image {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        max-width: 100% !important;
    }
}

/* ===== PAGINAZIONE ===== */
.archivio-atena-pagination {
    margin-top: var(--archivio-space-xl);
    text-align: center;
}

.archivio-atena-pagination .page-numbers {
    display: inline-block;
    padding: var(--archivio-space-sm) var(--archivio-space-md);
    margin: 0 2px;
    background: var(--archivio-bianco);
    border: 1px solid var(--archivio-grigio-border);
    border-radius: var(--archivio-border-radius-sm);
    color: var(--archivio-nero);
    text-decoration: none;
    transition: all 0.3s ease;
}

.archivio-atena-pagination .page-numbers:hover,
.archivio-atena-pagination .page-numbers.current {
    background: var(--archivio-blu-italia);
    color: var(--archivio-bianco);
    border-color: var(--archivio-blu-italia);
}

/* ===== RISULTATI RICERCA ===== */
.archivio-search-results-header {
    margin-bottom: var(--archivio-space-lg);
    padding: var(--archivio-space-lg);
    background: var(--archivio-bianco);
    border-radius: var(--archivio-border-radius-lg);
    border: 1px solid var(--archivio-grigio-border);
}

.archivio-search-results-header h4 {
    margin: 0;
    color: var(--archivio-nero);
    font-size: 1.2rem;
}

.archivio-search-no-results {
    text-align: center;
    padding: var(--archivio-space-xl);
    background: var(--archivio-bianco);
    border-radius: var(--archivio-border-radius-lg);
    border: 1px solid var(--archivio-grigio-border);
}

.archivio-search-no-results h2 {
    color: var(--archivio-nero);
    margin-bottom: var(--archivio-space-md);
}

.archivio-search-no-results p {
    color: var(--archivio-grigio-testo);
    margin-bottom: var(--archivio-space-sm);
}

.archivio-search-placeholder {
    text-align: center;
    padding: var(--archivio-space-xl);
    background: var(--archivio-bianco);
    border-radius: var(--archivio-border-radius-lg);
    border: 1px solid var(--archivio-grigio-border);
}

.archivio-search-placeholder h2 {
    color: var(--archivio-nero);
    margin-bottom: var(--archivio-space-md);
}

.archivio-search-placeholder p {
    color: var(--archivio-grigio-testo);
}

/* ===== LOADING E ERRORI ===== */
.archivio-atena-loading,
.archivio-atena-error {
    text-align: center;
    padding: var(--archivio-space-xl);
    background: var(--archivio-bianco);
    border-radius: var(--archivio-border-radius-lg);
    border: 1px solid var(--archivio-grigio-border);
    margin-top: var(--archivio-space-lg);
}

.archivio-atena-loading {
    color: var(--archivio-blu-italia);
}

.archivio-atena-error {
    color: #dc3545;
}

/* ===== ANIMAZIONI ===== */
.archivio-fade-in {
    animation: fadeIn 0.5s ease-in;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===== RESPONSIVE ===== */
@media (max-width: 480px) {
    .archivio-card-content-section {
        padding: var(--archivio-space-md);
    }
    
    .archivio-card-content-section strong {
        font-size: 1rem;
    }
    
    .archivio-card-description {
        font-size: 0.85rem;
    }
    
    .archivio-card-info-item {
        flex-direction: column;
        gap: var(--archivio-space-xs);
    }
    
    .archivio-info-label {
        min-width: auto;
        text-align: left;
        font-weight: 600;
    }
    
    .archivio-info-value {
        margin-left: var(--archivio-space-sm);
    }
}

/* ===== PAGINAZIONE UNIFICATA ===== */
/* Stile unificato basato su enti-persone per tutte le paginazioni */
.archivio-archive-pagination,
.archivio-taxonomy-pagination,
.archivio-atena-pagination,
.archivio-list-pagination,
.archivio-pagination {
    margin-top: 3rem;
    text-align: center;
}

.archivio-pagination-nav {
    display: inline-block;
}

.archivio-pagination-links,
.archivio-pagination-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
}

.archivio-pagination-links li,
.archivio-pagination-list li {
    margin: 0;
    padding: 0;
}

.archivio-pagination-link,
.archivio-pagination-prev,
.archivio-pagination-next,
.archivio-pagination-list .page-numbers,
.archivio-pagination-list a,
.archivio-pagination-list span {
    display: inline-block;
    padding: 0.5rem 1rem;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    text-decoration: none;
    color: #333;
    font-size: 0.9rem;
    transition: all 0.2s ease;
    min-width: 40px;
    text-align: center;
    font-weight: 500;
}

.archivio-pagination-link:hover,
.archivio-pagination-prev:hover,
.archivio-pagination-next:hover,
.archivio-pagination-list .page-numbers:hover,
.archivio-pagination-list a:hover,
.archivio-pagination-list span:hover {
    background: var(--archivio-primary-color);
    color: #fff;
    border-color: var(--archivio-primary-color);
    text-decoration: none;
}

.archivio-pagination-current,
.archivio-pagination-list .page-numbers.current,
.archivio-pagination-list span.current {
    background: var(--archivio-primary-color);
    color: #fff;
    border-color: var(--archivio-primary-color);
    font-weight: 600;
}

.archivio-pagination-prev,
.archivio-pagination-next,
.archivio-pagination-list .page-numbers.prev,
.archivio-pagination-list .page-numbers.next,
.archivio-pagination-list a.prev,
.archivio-pagination-list a.next {
    font-weight: 500;
    min-width: auto;
    padding: 0.5rem 1rem;
}

/* Stile per i dots */
.archivio-pagination-list .page-numbers.dots,
.archivio-pagination-list span.dots {
    background: transparent;
    border: none;
    color: #999;
    font-weight: 400;
    min-width: auto;
    padding: 0.5rem;
}

.archivio-pagination-list .page-numbers.dots:hover,
.archivio-pagination-list span.dots:hover {
    background: transparent;
    color: #999;
    transform: none;
    box-shadow: none;
}

/* Responsive per paginazione */
@media (max-width: 768px) {
    .archivio-pagination-links,
    .archivio-pagination-list {
        gap: 0.25rem;
    }
    
    .archivio-pagination-link,
    .archivio-pagination-prev,
    .archivio-pagination-next,
    .archivio-pagination-list .page-numbers,
    .archivio-pagination-list a,
    .archivio-pagination-list span {
        padding: 0.4rem 0.8rem;
        font-size: 0.85rem;
        min-width: 35px;
    }
}

@media (max-width: 480px) {
    .archivio-pagination-links,
    .archivio-pagination-list {
        gap: 0.2rem;
    }
    
    .archivio-pagination-link,
    .archivio-pagination-prev,
    .archivio-pagination-next,
    .archivio-pagination-list .page-numbers,
    .archivio-pagination-list a,
    .archivio-pagination-list span {
        padding: 0.3rem 0.6rem;
        font-size: 0.8rem;
        min-width: 32px;
    }
}

/* ===== FILTRI AVANZATI ===== */
.archivio-filtri-section {
    background: var(--archivio-bianco);
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: var(--archivio-space-xl) 0;
}

.archivio-filtri-container {
    background: var(--archivio-bianco);
    border-radius: var(--archivio-border-radius-lg);
    box-shadow: var(--archivio-shadow-sm);
    padding: var(--archivio-space-xl);
    border: 1px solid var(--archivio-grigio-border);
}

.archivio-filtri-title {
    font-family: var(--archivio-font-serif);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--archivio-nero);
    margin: 0 0 var(--archivio-space-lg) 0;
    padding-left: var(--archivio-space-sm);
    border-left: 4px solid var(--archivio-blu-italia);
}

.archivio-filters-form {
    margin-bottom: 0;
}

.archivio-search-section {
    margin-top: var(--archivio-space-md);
    margin-bottom: var(--archivio-space-lg);
    display: block;
}

.archivio-search-section .archivio-search-input-group {
    display: flex;
    gap: var(--archivio-space-sm);
    align-items: center;
    position: relative;
}

.archivio-search-section .archivio-search-input-group::before {
    content: "\f002";
    font-family: "dashicons";
    position: absolute;
    left: 16px;
    font-size: 20px;
    color: var(--archivio-grigio-medio);
    pointer-events: none;
    z-index: 1;
}

.archivio-search-section .archivio-search-input {
    flex: 1;
    min-width: 0;
    padding: 14px 16px 14px 48px;
    height: auto;
    line-height: 1.4;
    border: none;
    
    background: var(--archivio-bianco);
    color: var(--archivio-grigio-scuro);
    transition: var(--archivio-transition-fast);
    font-size: 1rem;
}

.archivio-search-section .archivio-search-input:focus {
    outline: none;
    border-color: var(--archivio-blu-italia);
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1), 0 2px 6px rgba(0, 0, 0, 0.08);
}

.archivio-search-section .archivio-search-input::placeholder {
    color: var(--archivio-grigio-medio);
    font-style: italic;
}

.archivio-search-section .archivio-search-button {
    padding: 12px;
    background: transparent;
    color: #000;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
    box-shadow: none;
}

.archivio-search-section .archivio-search-button:hover {
    transform: scale(1.2);
    box-shadow: none;
}

.archivio-search-section .archivio-search-button .dashicons {
    color: #000;
    font-size: 28px;
    width: 28px;
    height: 28px;
}

/* ===== STILE UNIFICATO BARRE DI RICERCA ===== */
.archivio-search-input-group {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

.archivio-search-input-group::before {
    content: "\f002";
    font-family: "dashicons";
    position: absolute;
    left: 16px;
    font-size: 20px;
    color: var(--archivio-grigio-medio);
    pointer-events: none;
    z-index: 1;
}

.archivio-search-input {
    width: 100%;
    padding: 14px 16px 14px 48px;
    font-size: 1rem;
    border: 1px solid var(--archivio-grigio-border);
    border-radius: 50px;
    background: var(--archivio-bianco);
    color: var(--archivio-grigio-scuro);
    transition: var(--archivio-transition-fast);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.archivio-search-input:focus {
    outline: none;
    border-color: var(--archivio-blu-italia);
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1), 0 2px 6px rgba(0, 0, 0, 0.08);
}

.archivio-search-input::placeholder {
    color: var(--archivio-grigio-medio);
    font-style: italic;
}

/* ===== UNITÀ ARCHIVISTICHE BREADCRUMB ===== */
.archivio-unita-hierarchy-section {
    background: var(--archivio-grigio-chiaro);
    padding: var(--archivio-space-xl) 0;
    margin: var(--archivio-space-xl) 0;
}

.archivio-unita-breadcrumb-list {
    display: flex;
    flex-direction: column;
    gap: var(--archivio-space-sm);
}

.archivio-unita-breadcrumb-link {
    display: inline-flex;
    align-items: center;
    padding: var(--archivio-space-sm) var(--archivio-space-md);
    background: var(--archivio-bianco);
    border: 1px solid var(--archivio-grigio-border);
    border-radius: var(--archivio-border-radius);
    text-decoration: none;
    transition: all 0.3s ease;
    flex-wrap: wrap;
}

.archivio-unita-breadcrumb-link:hover {
    background: var(--archivio-blu-italia-light);
    border-color: var(--archivio-blu-italia);
    transform: translateX(4px);
    box-shadow: 0 2px 6px rgba(0, 102, 204, 0.15);
}

.archivio-unita-breadcrumb-link.current {
    background: var(--archivio-blu-italia);
    border-color: var(--archivio-blu-italia);
    color: var(--archivio-bianco);
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(0, 102, 204, 0.3);
}

.archivio-unita-breadcrumb-link.current:hover {
    background: var(--archivio-blu-italia-dark);
    border-color: var(--archivio-blu-italia-dark);
}

.archivio-breadcrumb-item {
    color: var(--archivio-grigio-scuro);
    font-weight: 500;
}

.archivio-unita-breadcrumb-link:hover .archivio-breadcrumb-item {
    color: var(--archivio-blu-italia);
}

.archivio-unita-breadcrumb-link.current .archivio-breadcrumb-item {
    color: var(--archivio-bianco);
}

.archivio-breadcrumb-separator {
    color: var(--archivio-grigio-medio);
    margin: 0 var(--archivio-space-xs);
    font-weight: 400;
}

.archivio-unita-breadcrumb-link.current .archivio-breadcrumb-separator {
    color: rgba(255, 255, 255, 0.7);
}

/* Responsive */
@media (max-width: 768px) {
    .archivio-unita-breadcrumb-link {
        font-size: 0.9rem;
        padding: var(--archivio-space-xs) var(--archivio-space-sm);
    }
    
    .archivio-breadcrumb-separator {
        margin: 0 4px;
    }
}

/* ===== UNITÀ ARCHIVISTICHE TREE (legacy) ===== */
.archivio-unita-archivistiche-tree {
    background: var(--archivio-bianco);
    border: 1px solid var(--archivio-grigio-border);
    border-radius: var(--archivio-border-radius);
    padding: var(--archivio-space-md);
}

.archivio-unita-tree-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.archivio-unita-tree-item {
    margin: 0;
    padding: 0;
}

.archivio-unita-tree-node {
    display: flex;
    align-items: center;
    gap: var(--archivio-space-xs);
    padding: var(--archivio-space-xs) 0;
    min-height: 36px;
}

.archivio-tree-toggle {
    cursor: pointer;
    font-size: 0.8rem;
    color: var(--archivio-blu-italia);
    transition: all 0.2s ease;
    user-select: none;
    width: 16px;
    text-align: center;
    flex-shrink: 0;
    font-weight: bold;
    line-height: 1;
}


.archivio-tree-spacer {
    width: 16px;
    flex-shrink: 0;
}

.archivio-unita-tree-link {
    display: inline-flex;
    align-items: center;
    gap: var(--archivio-space-xs);
    padding: var(--archivio-space-xs) var(--archivio-space-sm);
    background-color: var(--archivio-grigio-chiaro);
    color: var(--archivio-nero);
    text-decoration: none;
    border: 1px solid var(--archivio-grigio-border);
    border-radius: var(--archivio-border-radius);
    font-weight: 500;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    flex: 1;
}

.archivio-unita-tree-link:hover {
    background-color: var(--archivio-blu-italia-light);
    border-color: var(--archivio-blu-italia);
    color: var(--archivio-blu-italia);
    text-decoration: none;
    transform: translateX(2px);
    box-shadow: 0 2px 6px rgba(0, 102, 204, 0.15);
}

/* Evidenziazione del termine corrente */
.archivio-unita-tree-link.current {
    background-color: var(--archivio-blu-italia);
    border-color: var(--archivio-blu-italia);
    color: var(--archivio-bianco);
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(0, 102, 204, 0.3);
}

.archivio-unita-tree-link.current:hover {
    background-color: var(--archivio-blu-italia-dark);
    border-color: var(--archivio-blu-italia-dark);
    color: var(--archivio-bianco);
    transform: none;
}

.archivio-unita-tree-link.current .archivio-tree-icon {
    color: var(--archivio-bianco);
}

.archivio-unita-tree-link.current .archivio-tree-label {
    color: var(--archivio-bianco);
}

.archivio-tree-icon {
    font-size: 1em;
    flex-shrink: 0;
    color: var(--archivio-blu-italia);
    font-weight: normal;
}

.archivio-tree-label {
    font-weight: 500;
    flex: 1;
}

/* Livelli gerarchici con indentazione */
.archivio-unita-tree-level-0 {
    padding-left: 0;
}

.archivio-unita-tree-level-1 {
    padding-left: var(--archivio-space-lg);
    margin-top: var(--archivio-space-xs);
}

.archivio-unita-tree-level-2 {
    padding-left: var(--archivio-space-lg);
    margin-top: var(--archivio-space-xs);
}

.archivio-unita-tree-level-3 {
    padding-left: var(--archivio-space-lg);
    margin-top: var(--archivio-space-xs);
}

/* Linee di connessione visiva */
.archivio-unita-tree-list .archivio-unita-tree-list {
    position: relative;
}

.archivio-unita-tree-list .archivio-unita-tree-list::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 1px;
    background: var(--archivio-grigio-border);
}

/* Mostra i figli per default (espansi) */
.archivio-unita-tree-item.has-children > .archivio-unita-tree-list {
    display: block;
}

/* Nascondi i figli quando collassato */
.archivio-unita-tree-item.has-children.collapsed > .archivio-unita-tree-list {
    display: none;
}

/* Cerchio pieno quando espanso (di default) */
.archivio-unita-tree-item.has-children > .archivio-unita-tree-node .archivio-tree-toggle {
    color: var(--archivio-blu-italia);
    opacity: 1;
}

/* Cerchio vuoto quando collassato */
.archivio-unita-tree-item.has-children.collapsed > .archivio-unita-tree-node .archivio-tree-toggle {
    color: var(--archivio-grigio-medio);
    opacity: 0.6;
}

.archivio-tree-toggle:hover {
    color: var(--archivio-blu-italia-dark);
    opacity: 1;
    transform: scale(1.2);
}

/* Responsive */
@media (max-width: 768px) {
    .archivio-unita-tree-link {
        font-size: 0.85rem;
        padding: var(--archivio-space-xs);
    }
    
    .archivio-unita-tree-level-1,
    .archivio-unita-tree-level-2,
    .archivio-unita-tree-level-3 {
        padding-left: var(--archivio-space-md);
    }
}

.archivio-filtri-avanzati {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    margin-bottom: var(--archivio-space-lg);
}

.archivio-filtri-avanzati.aperta {
    max-height: 500px;
}

.archivio-filters-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--archivio-space-md);
    margin-bottom: var(--archivio-space-md);
}

.archivio-filter-group {
    display: flex;
    flex-direction: column;
}

.archivio-filter-group label {
    font-weight: 600;
    color: var(--archivio-nero);
    margin-bottom: var(--archivio-space-xs);
    font-size: 0.9rem;
}

.archivio-filter-group select {
    padding: var(--archivio-space-sm) var(--archivio-space-md);
    border: 2px solid var(--archivio-grigio-border);
    border-radius: var(--archivio-border-radius);
    background: var(--archivio-bianco);
    color: var(--archivio-grigio-scuro);
    font-size: 0.9rem;
    transition: var(--archivio-transition-fast);
}

.archivio-filter-group select:focus {
    outline: none;
    border-color: var(--archivio-blu-italia);
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.2);
}

.archivio-filters-actions {
    display: flex;
    gap: var(--archivio-space-md);
    align-items: center;
    flex-wrap: wrap;
}

.archivio-filtri-toggle {
    background: var(--archivio-blu-italia);
    color: var(--archivio-bianco);
    border: none;
    padding: var(--archivio-space-sm) var(--archivio-space-lg);
    border-radius: var(--archivio-border-radius);
    cursor: pointer;
    font-weight: 600;
    transition: var(--archivio-transition-fast);
}

.archivio-filtri-toggle:hover {
    background: var(--archivio-blu-italia-dark);
    transform: translateY(-1px);
}

.archivio-filters-buttons {
    display: flex;
    gap: var(--archivio-space-sm);
    flex-wrap: wrap;
}

/* Responsive filtri */
@media (max-width: 768px) {
    .archivio-filters-grid {
        grid-template-columns: 1fr;
        gap: var(--archivio-space-sm);
    }
    
    .archivio-filters-actions {
        flex-direction: column;
        align-items: stretch;
    }
    
    .archivio-filters-buttons {
        justify-content: center;
    }
    
    .archivio-search-section .archivio-search-input-group {
        flex-direction: column;
        gap: var(--archivio-space-sm);
    }
    
    .archivio-search-section .archivio-search-input {
        width: 100%;
    }
}
/* OCCUPA TUTTO LO SPAZIO: Immagine singola gallery */
.archivio-files-gallery.archivio-files-single .archivio-gallery-image,
dd.archivio-gallery-only .archivio-files-gallery.archivio-files-single .archivio-single-image.archivio-gallery-image {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
}

/* RIDUCE SPAZI ECCESSIVI: Gallery singola */
dd.archivio-gallery-only .archivio-files-gallery.archivio-files-single {
    margin: 0 !important;
    padding: 0 !important;
}

/* RIDUCE SPAZIO SOPRA L'IMMAGINE: Sezione File e Risorse Digitali */
.archivio-sezione .archivio-sezione-content {
    padding-top: var(--archivio-space-sm) !important;
    padding-bottom: var(--archivio-space-sm) !important;
}

/* RIDUCE SPAZI ECCESSIVI - APPROCCIO SEMPLICE */
.archivio-gallery-only {
    margin: 0 !important;
    padding: 0 !important;
}

.archivio-files-gallery.archivio-files-single {
    margin: 0 !important;
    padding: 0 !important;
}

/* RIDUCE SPAZI NEI DETTAGLI */
.archivio-dettagli {
    margin: 0 !important;
    padding: 0 !important;
}

.archivio-dettagli dt {
    margin-top: var(--archivio-space-sm) !important;
    margin-bottom: var(--archivio-space-xs) !important;
}

.archivio-dettagli dd {
    margin-bottom: var(--archivio-space-sm) !important;
}

/* RIDUCE SPAZI SPECIFICI PER GALLERY */
.archivio-gallery-only {
    margin: 0 !important;
    padding: 0 !important;
}

/* RIDUCE SPAZI NELLA SEZIONE COMPLETA */
.archivio-sezione:has(.archivio-gallery-only) {
    margin-bottom: var(--archivio-space-sm) !important;
}

.archivio-sezione:has(.archivio-gallery-only) .archivio-sezione-content {
    padding: var(--archivio-space-xs) 0 !important;
}

/* RIDUCE SPAZI NELLA SEZIONE FILE E RISORSE DIGITALI */
.archivio-sezione:has(.archivio-gallery-only) {
    margin-bottom: var(--archivio-space-md) !important;
}

.archivio-sezione:has(.archivio-gallery-only) .archivio-sezione-content {
    padding: var(--archivio-space-sm) 0 !important;
}

/* ✅ IMMAGINI SINGOLE AL 100% DI LARGHEZZA */
.archivio-files-single .archivio-single-image {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain;
}

/* ✅ GALLERIA SINGOLA IMMAGINE */
.archivio-files-gallery.archivio-files-single {
    width: 100%;
    max-width: 100%;
}

.archivio-files-gallery.archivio-files-single .archivio-file-item {
    width: 100%;
    max-width: 100%;
}

.archivio-files-gallery.archivio-files-single .archivio-image-item {
    width: 100%;
    max-width: 100%;
}

/* Rimuovi limiti di max-width per immagini singole */
.archivio-files-single img.archivio-gallery-image {
    max-width: none !important;
    width: 100% !important;
}

/* Immagine singola gallery senza limiti e stili extra */
dd.archivio-gallery-only,
dd.archivio-gallery-only .archivio-files-gallery.archivio-files-single,
dd.archivio-gallery-only .archivio-file-item {
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
}
dd.archivio-gallery-only .archivio-files-gallery.archivio-files-single {
  display: block !important;
  justify-content: unset !important;
  align-items: unset !important;
  width: 100% !important;
  max-width: 100% !important;
}
dd.archivio-gallery-only .archivio-files-gallery.archivio-files-single .archivio-single-image {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  display: block !important;
  background: none !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  object-fit: contain !important;
}

/* Stili specifici per immagine singola nella gallery */
dd.archivio-gallery-only .archivio-files-gallery.archivio-files-single .archivio-single-image {
  max-width: none !important;
  width: 100% !important;
}

/* ===== BOX SPECIALE PER FILE E RISORSE DIGITALI ===== */
.archivio-files-box {
  background: var(--archivio-bianco);
  border-radius: 0;
  box-shadow: none;
  margin: var(--archivio-space-lg) 0;
  border: none;
  overflow: visible;
}

.archivio-files-box-title {
  font-family: var(--archivio-font-serif);
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--archivio-nero);
  margin: 0 0 var(--archivio-space-lg) 0;
  padding-left: var(--archivio-space-sm);
  border-left: 4px solid var(--archivio-blu-italia);
  margin-bottom: 1rem !important;
}

.archivio-files-box-content {
  padding: 0;
}

/* Rimuovi padding dal box quando contiene solo un'immagine singola */
.archivio-files-box:has(.archivio-files-gallery.archivio-files-single) {
  padding: 0 !important;
  margin: 0 !important;
}

.archivio-files-box:has(.archivio-files-gallery.archivio-files-single) .archivio-files-box-content {
  padding: 0 !important;
  margin: 0 !important;
}

.archivio-files-gallery-container {
  width: 100%;
  margin: 0;
  padding: 0;
}

.archivio-files-gallery-container .archivio-files-gallery {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

.archivio-files-gallery-container .archivio-files-gallery.archivio-files-single {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  justify-content: unset !important;
  align-items: unset !important;
}

.archivio-files-gallery-container .archivio-files-gallery.archivio-files-single .archivio-single-image {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  display: block !important;
  background: none !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  object-fit: contain !important;
  transition: none !important;
  transform: none !important;
}

/* Rimuove tutti gli effetti hover dall'immagine */
.archivio-files-gallery-container .archivio-files-gallery.archivio-files-single .archivio-single-image:hover {
  transform: none !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

/* Rimuove effetti hover dalla gallery */
.archivio-files-gallery-container .archivio-files-gallery.archivio-files-single:hover .archivio-single-image {
  transform: none !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

/* NUCLEARE: Rimuove TUTTI gli effetti hover da qualsiasi elemento della gallery */
.archivio-files-gallery-container *:hover {
  transform: none !important;
  opacity: 1 !important;
  box-shadow: none !important;
  transition: none !important;
}

/* NUCLEARE: Rimuove TUTTI gli effetti hover dalla gallery e suoi figli */
.archivio-files-gallery-container .archivio-files-gallery *:hover,
.archivio-files-gallery-container .archivio-file-item:hover,
.archivio-files-gallery-container .archivio-image-item:hover {
  transform: none !important;
  opacity: 1 !important;
  box-shadow: none !important;
  transition: none !important;
}

.archivio-files-field {
  display: flex;
  align-items: flex-start;
  margin-bottom: var(--archivio-space-xl);
  gap: var(--archivio-space-lg);
  padding: var(--archivio-space-lg) 0;
  line-height: 1.8;
}

.archivio-files-field-label {
  font-weight: 600;
  color: var(--archivio-nero);
  margin: 0;
  min-width: 200px;
  flex-shrink: 0;
  padding-right: var(--archivio-space-md);
}

.archivio-files-field-value {
  margin: 0;
  color: var(--archivio-grigio-scuro);
  flex: 1;
  line-height: 1.8;
  padding-top: var(--archivio-space-xs);
}

/* Responsive per il box file */
@media (max-width: 768px) {
  .archivio-files-field {
    flex-direction: column;
    gap: var(--archivio-space-xs);
  }
  
  .archivio-files-field-label {
    min-width: auto;
  }
}

/* ===== RIMUOVI BOX AGGIUNTIVI PER DOCUMENTI ===== */
.archivio-files-box,
.archivio-files-gallery-container,
.archivio-files-box-content {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.archivio-files-box-title {
  display: none !important;
}

/* Rimuovi tutti i container extra */
.archivio-files-box *,
.archivio-files-gallery-container * {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Forza rimozione di tutti i box per documenti multipli */
.archivio-files-gallery:not(.archivio-files-single) {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  margin: var(--archivio-space-md) 0 !important;
  padding: 0 !important;
}

/* Rimuovi tutti i container che potrebbero creare doppi box */
.archivio-files-box,
.archivio-files-gallery-container,
.archivio-files-box-content,
.archivio-files-box *,
.archivio-files-gallery-container * {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

/* ===== LAYOUT SPECIFICO PER IMMAGINI ===== */
/* Griglia per immagini multiple */
.archivio-files-gallery:not(.archivio-files-single):has(.archivio-image-item) {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
  gap: var(--archivio-space-md) !important;
  margin: var(--archivio-space-md) 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Stili per le immagini nella griglia */
.archivio-files-gallery:not(.archivio-files-single) .archivio-image-item {
  background: var(--archivio-bianco) !important;
  border: 1px solid var(--archivio-grigio-chiaro) !important;
  border-radius: var(--archivio-border-radius) !important;
  padding: var(--archivio-space-sm) !important;
  transition: border-color 0.3s ease !important;
  overflow: hidden !important;
}

.archivio-files-gallery:not(.archivio-files-single) .archivio-image-item:hover {
  border-color: var(--archivio-blu-italia) !important;
}

.archivio-files-gallery:not(.archivio-files-single) .archivio-gallery-image {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  border-radius: calc(var(--archivio-border-radius) - 4px) !important;
  transition: transform 0.3s ease !important;
}

.archivio-files-gallery:not(.archivio-files-single) .archivio-image-item:hover .archivio-gallery-image {
  transform: scale(1.05) !important;
}

/* ===== LAYOUT SPECIFICO PER DOCUMENTI ===== */
/* Layout a colonna per documenti multipli */
.archivio-files-gallery:not(.archivio-files-single):has(.archivio-document-item) {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--archivio-space-sm) !important;
  margin: var(--archivio-space-md) 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Responsive per la griglia immagini */
@media (max-width: 768px) {
  .archivio-files-gallery:not(.archivio-files-single):has(.archivio-image-item) {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
    gap: var(--archivio-space-sm) !important;
  }
  
  .archivio-files-gallery:not(.archivio-files-single) .archivio-gallery-image {
    height: 150px !important;
  }
}

@media (max-width: 480px) {
  .archivio-files-gallery:not(.archivio-files-single):has(.archivio-image-item) {
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)) !important;
    gap: var(--archivio-space-xs) !important;
  }
  
  .archivio-files-gallery:not(.archivio-files-single) .archivio-gallery-image {
    height: 120px !important;
  }
}

/* Ripristina i bordi delle card dei documenti */
.archivio-document-card {
  background: var(--archivio-bianco) !important;
  border: 2px solid var(--archivio-grigio-border) !important;
  border-radius: var(--archivio-border-radius) !important;
  box-shadow: none !important;
  padding: var(--archivio-space-md) !important;
  margin-bottom: var(--archivio-space-sm) !important;
  transition: border-color 0.3s ease !important;
}

.archivio-document-card:hover {
  border-color: var(--archivio-blu-italia) !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Ripristina le icone dei documenti */
.archivio-document-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: var(--archivio-border-radius) !important;
  margin-right: var(--archivio-space-md) !important;
  flex-shrink: 0 !important;
}

.archivio-document-icon svg {
  width: 24px !important;
  height: 24px !important;
  fill: currentColor !important;
}

/* Colori specifici per tipo di file */
.archivio-document-item[data-ext="pdf"] .archivio-document-icon {
  color: #dc3545 !important;
}

.archivio-document-item[data-ext="doc"] .archivio-document-icon,
.archivio-document-item[data-ext="docx"] .archivio-document-icon {
  color: #0d6efd !important;
}

.archivio-document-item[data-ext="xls"] .archivio-document-icon,
.archivio-document-item[data-ext="xlsx"] .archivio-document-icon {
  color: #198754 !important;
}

.archivio-document-item[data-ext="mp4"] .archivio-document-icon,
.archivio-document-item[data-ext="avi"] .archivio-document-icon {
  color: #fd7e14 !important;
}

.archivio-document-item[data-ext="mp3"] .archivio-document-icon,
.archivio-document-item[data-ext="wav"] .archivio-document-icon {
  color: #6f42c1 !important;
}

/* Ripristina le informazioni del documento */
.archivio-document-info {
  flex: 1 !important;
  min-width: 0 !important;
}

.archivio-document-name {
  font-weight: 600 !important;
  color: var(--archivio-nero) !important;
  margin-bottom: var(--archivio-space-xs) !important;
  font-size: 1rem !important;
  line-height: 1.4 !important;
  word-break: break-word !important;
}

.archivio-document-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: var(--archivio-space-sm) !important;
  align-items: center !important;
  margin-bottom: var(--archivio-space-sm) !important;
}

.archivio-document-size {
  font-size: 0.875rem !important;
  color: var(--archivio-grigio-scuro) !important;
  background: var(--archivio-grigio-chiaro) !important;
  padding: 2px 8px !important;
  border-radius: 12px !important;
  font-weight: 500 !important;
}

.archivio-document-format {
  font-size: 0.875rem !important;
  color: var(--archivio-grigio-scuro) !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
}

/* Paginazione per post correlati */
.archivio-pagination-info {
    background: #f8f9fa;
    padding: 1rem;
    border-radius: 8px;
    margin-bottom: 2rem;
    text-align: center;
    border-left: 4px solid var(--archivio-primary-color);
}

.archivio-pagination-info p {
    margin: 0;
    color: #666;
    font-size: 0.9rem;
}

.archivio-pagination {
    margin-top: 3rem;
    text-align: center;
}

.archivio-pagination-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.archivio-pagination-link,
.archivio-pagination-prev,
.archivio-pagination-next {
    display: inline-block;
    padding: 0.5rem 1rem;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    text-decoration: none;
    color: #333;
    font-size: 0.9rem;
    transition: all 0.2s ease;
    min-width: 40px;
    text-align: center;
}

.archivio-pagination-link:hover,
.archivio-pagination-prev:hover,
.archivio-pagination-next:hover {
    background: var(--archivio-primary-color);
    color: #fff;
    border-color: var(--archivio-primary-color);
    text-decoration: none;
}

.archivio-pagination-current {
    background: var(--archivio-primary-color);
    color: #fff;
    border-color: var(--archivio-primary-color);
    font-weight: 600;
}

.archivio-pagination-prev,
.archivio-pagination-next {
    font-weight: 500;
}

/* Responsive per paginazione */
@media (max-width: 768px) {
    .archivio-pagination-links {
        gap: 0.25rem;
    }
    
    .archivio-pagination-link,
    .archivio-pagination-prev,
    .archivio-pagination-next {
        padding: 0.4rem 0.8rem;
        font-size: 0.85rem;
        min-width: 35px;
    }
}

/* ===== PLAYER VIDEO ===== */
.archivio-video-player {
    position: fixed;
    bottom: 90px;
    right: 20px;
    background: var(--archivio-bianco);
    border: 1px solid var(--archivio-grigio-border);
    border-radius: var(--archivio-border-radius);
    box-shadow: var(--archivio-shadow-medium);
    padding: var(--archivio-space-md);
    z-index: 1000;
    min-width: 350px;
    display: none;
}
.archivio-video-player.show {
    display: block;
}
.archivio-video-player-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--archivio-space-sm);
}
.archivio-video-player-title {
    font-weight: 600;
    color: var(--archivio-nero);
    font-size: 0.9rem;
    margin: 0;
    flex: 1;
    margin-right: var(--archivio-space-sm);
}
.archivio-video-player-close {
    background: none;
    border: none;
    color: var(--archivio-grigio-scuro);
    cursor: pointer;
    padding: 4px;
    border-radius: 4px;
    transition: all 0.3s ease;
}
.archivio-video-player-close:hover {
    background: var(--archivio-grigio-chiaro);
    color: var(--archivio-nero);
}
.archivio-video-player-controls {
    display: flex;
    align-items: center;
    gap: var(--archivio-space-sm);
    margin-bottom: var(--archivio-space-sm);
}
.archivio-video-player-play {
    background: var(--archivio-verde-italia);
    color: white;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}
.archivio-video-player-play:hover {
    background: var(--archivio-verde-italia-dark);
    transform: scale(1.05);
}
.archivio-video-player-play svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}
.archivio-video-player-progress {
    flex: 1;
    height: 6px;
    background: var(--archivio-grigio-chiaro);
    border-radius: 3px;
    cursor: pointer;
    position: relative;
}
.archivio-video-player-progress-bar {
    height: 100%;
    background: var(--archivio-verde-italia);
    border-radius: 3px;
    width: 0%;
    transition: width 0.1s ease;
}
.archivio-video-player-time {
    font-size: 0.8rem;
    color: var(--archivio-grigio-scuro);
    min-width: 80px;
    text-align: center;
}
.archivio-video-player-fullscreen {
    background: none;
    border: none;
    color: var(--archivio-blu-italia);
    cursor: pointer;
    padding: 4px;
    border-radius: 4px;
    transition: all 0.3s ease;
}
.archivio-video-player-fullscreen:hover {
    background: var(--archivio-grigio-chiaro);
    color: var(--archivio-nero);
}
.archivio-video-player-volume {
    display: flex;
    align-items: center;
    gap: var(--archivio-space-xs);
}
.archivio-video-player-volume-control {
    width: 60px;
    height: 4px;
    background: var(--archivio-grigio-chiaro);
    border-radius: 2px;
    cursor: pointer;
    position: relative;
}
.archivio-video-player-volume-bar {
    height: 100%;
    background: var(--archivio-verde-italia);
    border-radius: 2px;
    width: 100%;
    transition: width 0.1s ease;
}
.archivio-video-player video {
    width: 100%;
    max-height: 300px;
    border-radius: var(--archivio-border-radius);
    margin-top: var(--archivio-space-sm);
    background: #000;
}
.archivio-video-player.fullscreen {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    min-width: 0 !important;
    min-height: 0 !important;
    z-index: 99999 !important;
    border-radius: 0 !important;
    background: #000 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
}
.archivio-video-player.fullscreen video {
    width: 100vw !important;
    height: 100vh !important;
    max-height: 100vh !important;
    border-radius: 0 !important;
}
@media (max-width: 768px) {
    .archivio-video-player {
        bottom: 70px;
        right: 10px;
        left: 10px;
        min-width: auto;
    }
    .archivio-video-player-controls {
        flex-wrap: wrap;
    }
    .archivio-video-player-volume {
        width: 100%;
        justify-content: center;
        margin-top: var(--archivio-space-sm);
    }
}

/* ===== MESSAGGI "NESSUN RISULTATO" PROFESSIONALI ===== */
.archivio-no-results-message {
    text-align: center;
    padding: var(--archivio-space-xxl) var(--archivio-space-xl);
    margin: var(--archivio-space-xl) auto;
    max-width: 500px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.archivio-no-results-icon {
    margin-bottom: var(--archivio-space-lg);
    opacity: 0.6;
    display: flex;
    justify-content: center;
}

.archivio-no-results-message h2 {
    color: var(--archivio-grigio-scuro);
    font-family: var(--archivio-font-serif);
    font-size: 1.5rem;
    font-weight: 600;
    margin: 0 0 var(--archivio-space-md) 0;
    line-height: 1.3;
    text-align: center;
}
.archivio-no-results-description {
    color: var(--archivio-grigio-medio);
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
    text-align: center;
}

.archivio-no-results-description strong {
    color: var(--archivio-nero);
    font-weight: 600;
}

/* Responsive per messaggi "nessun risultato" */
@media (max-width: 768px) {
    .archivio-no-results-message {
        padding: var(--archivio-space-xl) var(--archivio-space-lg);
        margin: var(--archivio-space-lg) auto;
    }
    
    .archivio-no-results-message h2 {
        font-size: 1.3rem;
    }
    
    .archivio-no-results-description {
        font-size: 0.95rem;
    }
}

@media (max-width: 480px) {
    .archivio-no-results-message {
        padding: var(--archivio-space-lg) var(--archivio-space-md);
        margin: var(--archivio-space-md) auto;
    }
    
    .archivio-no-results-message h2 {
        font-size: 1.2rem;
    }
    
    .archivio-no-results-icon svg {
        width: 48px;
        height: 48px;
    }
}

/* ===== CONTROLLI ARCHIVIO ===== */
.archivio-archive-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--archivio-space-lg);
    padding: var(--archivio-space-sm) 0;
    border-bottom: 1px solid var(--archivio-grigio-border);
}

.archivio-results-info {
    font-size: 0.85rem;
    color: var(--archivio-grigio-medio);
    font-weight: 400;
}



.archivio-sort-controls {
    display: flex;
    align-items: center;
    gap: var(--archivio-space-sm);
}

.archivio-sort-controls label {
    font-size: 0.9rem;
    color: var(--archivio-grigio-scuro);
    font-weight: 500;
}

.archivio-sort-select {
    padding: var(--archivio-space-xs) var(--archivio-space-sm);
    border: 1px solid var(--archivio-grigio-border);
    border-radius: var(--archivio-border-radius);
    font-size: 0.9rem;
    background: var(--archivio-bianco);
    color: var(--archivio-grigio-scuro);
    transition: var(--archivio-transition-fast);
}

.archivio-sort-select:focus {
    outline: none;
    border-color: var(--archivio-blu-italia);
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.2);
}

/* Responsive per controlli archivio */
@media (max-width: 768px) {
    .archivio-archive-controls {
        flex-direction: column;
        gap: var(--archivio-space-sm);
        align-items: flex-start;
    }
    
    .archivio-sort-controls {
        width: 100%;
        flex-direction: column;
        gap: var(--archivio-space-xs);
    }
    
    .archivio-sort-select {
        width: 100%;
    }
    
    /* Filtri ricerca responsive */
    .archivio-filtri-section {
        padding: var(--archivio-space-md) 0;
    }
    
    .archivio-filtri-container {
        padding: var(--archivio-space-md);
    }
    
    .archivio-filtri-title {
        font-size: 1.2rem;
        margin-bottom: var(--archivio-space-sm);
    }
    
    .archivio-search-input-group {
        flex-direction: column;
        gap: var(--archivio-space-sm);
    }
    
    .archivio-search-input {
        width: 100%;
        font-size: 1rem;
        min-height: 48px !important;
        padding: 14px 16px 14px 48px !important;
    }
    
    .archivio-search-button {
        width: 100%;
        justify-content: center;
        padding: var(--archivio-space-md) !important;
        min-height: 48px !important;
    }
}

/* Responsive intermedio per tablet */
@media (max-width: 768px) and (min-width: 481px) {
    .archivio-info-label {
        min-width: 80px;
        font-size: 0.8rem;
    }
    
    .archivio-info-value {
        font-size: 0.85rem;
    }
    
    .archivio-card-info-item {
        gap: var(--archivio-space-xs);
    }
}

/* ===== SEZIONE ALTRI TERMINI ===== */
.archivio-altri-termini-section {
    padding: var(--archivio-space-lg) 0;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

.archivio-altri-termini-section .archivio-comuni-container {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 var(--archivio-space-xl) !important;
}

.archivio-altri-termini-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--archivio-space-md);
    margin-top: var(--archivio-space-md);
}

.archivio-altro-termine-card {
    background: var(--archivio-bianco);
    border: 1px solid var(--archivio-grigio-border);
    border-radius: var(--archivio-border-radius-lg);
    padding: var(--archivio-space-md);
    text-decoration: none !important;
    color: inherit !important;
    transition: var(--archivio-transition);
    box-shadow: var(--archivio-shadow-sm);
}

.archivio-altro-termine-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--archivio-shadow-md);
    border-color: var(--archivio-blu-italia);
    text-decoration: none !important;
}

.archivio-altro-termine-content {
    display: flex;
    flex-direction: column;
    gap: var(--archivio-space-xs);
}

.archivio-altro-termine-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--archivio-nero);
    margin: 0;
    line-height: 1.3;
}

.archivio-altro-termine-meta {
    display: flex;
    align-items: center;
    gap: var(--archivio-space-sm);
}

.archivio-altro-termine-count {
    font-size: 0.9rem;
    color: var(--archivio-grigio-scuro);
    background: var(--archivio-grigio-chiaro);
    padding: 0.2rem 0.6rem;
    border-radius: 12px;
    font-weight: 500;
}

/* Responsive per Altri Termini - Ottimizzato */
@media (max-width: 1200px) {
    .archivio-altri-termini-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--archivio-space-sm);
    }
}

@media (max-width: 768px) {
    .archivio-altri-termini-grid {
        grid-template-columns: 1fr;
        gap: var(--archivio-space-sm);
    }
    
    .archivio-altro-termine-card {
        padding: var(--archivio-space-sm);
    }
    
    .archivio-altro-termine-title {
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .archivio-altri-termini-section .archivio-comuni-container {
        padding: 0 var(--archivio-space-md) !important;
    }
    
    .archivio-altro-termine-card {
        padding: var(--archivio-space-xs);
    }
    
    .archivio-altro-termine-title {
        font-size: 0.95rem;
    }
    
    .archivio-altro-termine-count {
        font-size: 0.8rem;
    }
}

/* ===== STILI PER SERIE E SOTTOSERIE ===== */

.archivio-serie-item {
    margin-bottom: var(--archivio-space-lg);
    padding: var(--archivio-space-md);
    border: 1px solid var(--archivio-grigio-border);
    border-radius: var(--archivio-border-radius);
    background-color: var(--archivio-bianco);
}

.archivio-serie-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--archivio-blu-italia);
    margin: 0 0 var(--archivio-space-sm) 0;
    padding-bottom: var(--archivio-space-sm);
    border-bottom: 2px solid var(--archivio-grigio-chiaro);
}

.archivio-sottoserie-list {
    margin-top: var(--archivio-space-md);
}

.archivio-sottoserie-title {
    font-size: 1rem;
    font-weight: 500;
    color: var(--archivio-grigio-scuro);
    margin: 0 0 var(--archivio-space-sm) 0;
}

.archivio-sottoserie-items {
    list-style: none;
    margin: 0;
    padding: 0;
}

.archivio-sottoserie-item {
    margin-bottom: var(--archivio-space-sm);
}

.archivio-sottoserie-link {
    display: inline-flex;
    align-items: center;
    padding: var(--archivio-space-sm) var(--archivio-space-md);
    background-color: var(--archivio-grigio-chiaro);
    border: 1px solid var(--archivio-grigio-border);
    border-radius: var(--archivio-border-radius);
    color: var(--archivio-grigio-scuro);
    text-decoration: none;
    transition: var(--archivio-transition);
    font-size: 0.875rem;
}

.archivio-sottoserie-link:hover {
    background-color: var(--archivio-blu-italia);
    color: var(--archivio-bianco);
    border-color: var(--archivio-blu-italia);
    text-decoration: none;
}

@media (max-width: 768px) {
    .archivio-serie-item {
        padding: var(--archivio-space-sm);
        margin-bottom: var(--archivio-space-md);
    }
    
    .archivio-serie-title {
        font-size: 1rem;
    }
    
    .archivio-sottoserie-link {
        padding: var(--archivio-space-xs) var(--archivio-space-sm);
        font-size: 0.8rem;
    }
}

@media (max-width: 480px) {
    .archivio-serie-item {
        padding: var(--archivio-space-xs);
    }
    
    .archivio-serie-title {
        font-size: 0.9rem;
    }
    
    .archivio-sottoserie-title {
        font-size: 0.9rem;
    }
    
    .archivio-sottoserie-link {
        font-size: 0.75rem;
    }
}

/* ✅ STILI PER SERIE E SOTTOSERIE NEL FONDO - VERSIONE MIGLIORATA */
/* ===== NUOVO DESIGN MODERNO PER SERIE E SOTTOSERIE ===== */

/* Sezione principale con design moderno */
.archivio-serie-sottoserie-section {
    box-shadow: none;
}

/* ✅ STILI PER SOTTOSERIE DI UNA SERIE PRINCIPALE */
.archivio-sottoserie-hierarchy-container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.archivio-sottoserie-card {
    background: var(--archivio-bianco);
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    overflow: hidden;
    transition: all 0.3s ease;
    border: 1px solid rgba(0,0,0,0.05);
}

.archivio-sottoserie-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}

.archivio-sottoserie-card-link {
    display: flex;
    align-items: center;
    padding: 1rem 1.5rem;
    color: var(--archivio-grigio-scuro);
    text-decoration: none;
    transition: all 0.3s ease;
}

.archivio-sottoserie-card-link:hover {
    color: var(--archivio-blu-italia);
    text-decoration: none;
    background-color: var(--archivio-grigio-chiaro);
}

.archivio-sottoserie-content {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1;
}



.archivio-sottoserie-name {
    font-size: 1rem;
    font-weight: 500;
    color: inherit;
    flex: 1;
}

.archivio-sottoserie-meta {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-top: 0.5rem;
}

.archivio-sottoserie-date {
    font-size: 0.8rem;
    color: var(--archivio-blu-italia);
    font-weight: 500;
    background: rgba(30,115,190,0.1);
    padding: 2px 8px;
    border-radius: 12px;
    display: inline-block;
}

.archivio-sottoserie-desc {
    font-size: 0.85rem;
    color: var(--archivio-grigio-scuro);
    line-height: 1.3;
    font-style: italic;
}

/* Responsive per sottoserie di serie principale */
@media (max-width: 768px) {
    .archivio-sottoserie-hierarchy-container {
        gap: 0.75rem;
    }
    
    .archivio-sottoserie-card-link {
        padding: 0.75rem 1rem;
    }
    
    .archivio-sottoserie-name {
        font-size: 0.95rem;
    }
}

@media (max-width: 480px) {
    .archivio-sottoserie-card-link {
        padding: 0.5rem 0.75rem;
    }
    
    .archivio-sottoserie-name {
        font-size: 0.9rem;
    }
    
    .archivio-sottoserie-icon {
        font-size: 1rem;
    }
}



.archivio-sezione-subtitle {
    color: var(--archivio-grigio-scuro);
    font-size: 1rem;
    margin-top: 0.5rem;
    opacity: 0.8;
}

/* Container gerarchia con spaziatura moderna */
.archivio-serie-hierarchy-container {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

/* Card serie con design moderno */
.archivio-serie-card {
    background: var(--archivio-bianco);
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.1);
    overflow: hidden;
    transition: all 0.3s ease;
    border: 1px solid rgba(0,0,0,0.05);
}

.archivio-serie-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

/* Header serie con gradiente e animazione */
.archivio-serie-header {
    background: linear-gradient(135deg, var(--archivio-blu-italia) 0%, #1e5aa8 100%);
    padding: 1.5rem 2rem;
    position: relative;
}

.archivio-serie-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, transparent 30%, rgba(255,255,255,0.1) 50%, transparent 70%);
    animation: shimmer 3s infinite;
}

@keyframes shimmer {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

.archivio-serie-header-content {
    position: relative;
    z-index: 2;
}

/* Titolo serie con stile moderno */
.archivio-serie-title {
    margin: 0;
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--archivio-bianco);
}

.archivio-serie-link {
    color: var(--archivio-bianco);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-weight: 700;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    font-size: 1.4rem;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}

.archivio-serie-link:hover {
    color: var(--archivio-bianco);
    text-decoration: none;
    transform: translateX(5px);
}

/* Meta informazioni serie */
.archivio-serie-meta {
    margin-top: 0.75rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    opacity: 0.9;
}

.archivio-serie-date {
    background: rgba(255,255,255,0.2);
    color: var(--archivio-bianco);
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 500;
    backdrop-filter: blur(10px);
}

.archivio-serie-desc {
    color: rgba(255,255,255,0.9);
    font-size: 0.9rem;
    font-style: italic;
    line-height: 1.4;
}

/* Sezione sottoserie con design moderno */
.archivio-sottoserie-section {
    padding: 2rem;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    border-radius: 0 0 12px 12px;
}

.archivio-sottoserie-header {
    margin-bottom: 1.5rem;
}

/* Titolo sottoserie con badge contatore */
.archivio-sottoserie-section-title {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--archivio-grigio-scuro);
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0;
    text-transform: none;
    letter-spacing: 0.5px;
    border: none;
    padding: 0;
}

.archivio-sottoserie-count {
    background: var(--archivio-blu-italia);
    color: var(--archivio-bianco);
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 700;
    min-width: 2rem;
    text-align: center;
}

.archivio-sottoserie-label {
    color: var(--archivio-grigio-scuro);
    font-weight: 600;
}

/* Grid sottoserie con layout moderno */
.archivio-sottoserie-grid {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Card sottoserie con design pulito */
.archivio-sottoserie-card {
    background: var(--archivio-bianco);
    border: 1px solid #e9ecef;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.archivio-sottoserie-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    border-color: var(--archivio-blu-italia);
}

.archivio-sottoserie-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: var(--archivio-blu-italia);
    transition: all 0.3s ease;
}

.archivio-sottoserie-card:hover::before {
    width: 6px;
    background: linear-gradient(180deg, var(--archivio-blu-italia) 0%, #1e5aa8 100%);
}

/* Link sottoserie con spaziatura moderna */
.archivio-sottoserie-card-link {
    display: flex;
    align-items: flex-start;
    gap: 0;
    padding: 1.25rem 1.5rem;
    color: var(--archivio-grigio-scuro);
    text-decoration: none;
    font-weight: 500;
    position: relative;
    min-height: 70px;
    margin-left: 0;
    transition: all 0.3s ease;
    text-align: left;
}

.archivio-sottoserie-card-link:hover {
    color: var(--archivio-blu-italia);
    background: rgba(30,115,190,0.02);
}

/* Contenuto sottoserie */
.archivio-sottoserie-content {
    display: flex;
    flex-direction: column;
    gap: 0;
    flex: 1;
    text-align: left;
}

.archivio-sottoserie-name {
    font-size: 1rem;
    font-weight: 600;
    color: var(--archivio-grigio-scuro);
    line-height: 1.4;
}

.archivio-sottoserie-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 0.85rem;
    opacity: 0.8;
}

.archivio-sottoserie-date {
    background: rgba(30,115,190,0.1);
    color: var(--archivio-blu-italia);
    padding: 0.2rem 0.6rem;
    border-radius: 12px;
    font-weight: 500;
}

.archivio-sottoserie-desc {
    color: var(--archivio-grigio-scuro);
    font-style: italic;
    line-height: 1.3;
}

/* Messaggio nessuna sottoserie */
.archivio-serie-no-sottoserie {
    padding: 2rem;
    text-align: center;
    background: rgba(0,0,0,0.02);
    border-radius: 8px;
    margin: 1rem 0;
}

.archivio-no-sottoserie-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
}

.archivio-no-sottoserie-icon {
    font-size: 2rem;
    opacity: 0.5;
}

.archivio-no-sottoserie-message {
    color: var(--archivio-grigio-scuro);
    font-style: italic;
    margin: 0;
    opacity: 0.7;
}

/* Responsive design moderno */
@media (max-width: 768px) {
    .archivio-serie-sottoserie-section {
        padding: 1.5rem;
        margin: 1.5rem 0;
    }
    
    .archivio-sezione-header {
        margin-bottom: 2rem;
    }
    
    .archivio-serie-hierarchy-container {
        gap: 1.5rem;
    }
    
    .archivio-serie-header {
        padding: 1.25rem 1.5rem;
    }
    
    .archivio-serie-title {
        font-size: 1.2rem;
    }
    
    .archivio-serie-link {
        font-size: 1.2rem;
    }
    
    .archivio-sottoserie-section {
        padding: 1.5rem;
    }
    
    .archivio-sottoserie-card-link {
        padding: 1rem 1.25rem;
        min-height: 60px;
    }
    
    .archivio-sottoserie-name {
        font-size: 0.95rem;
    }
}

@media (max-width: 480px) {
    .archivio-serie-sottoserie-section {
        padding: 1rem;
        margin: 1rem 0;
        border-radius: 12px;
    }
    
    .archivio-sezione-header {
        margin-bottom: 1.5rem;
    }
    
    .archivio-sezione-subtitle {
        font-size: 0.9rem;
    }
    
    .archivio-serie-hierarchy-container {
        gap: 1rem;
    }
    
    .archivio-serie-header {
        padding: 1rem 1.25rem;
    }
    
    .archivio-serie-title {
        font-size: 1.1rem;
    }
    
    .archivio-serie-link {
        font-size: 1.1rem;
    }
    
    .archivio-serie-meta {
        margin-top: 0.5rem;
    }
    
    .archivio-serie-date {
        font-size: 0.8rem;
        padding: 0.2rem 0.6rem;
    }
    
    .archivio-serie-desc {
        font-size: 0.85rem;
    }
    
    .archivio-sottoserie-section {
        padding: 1.25rem;
    }
    
    .archivio-sottoserie-section-title {
        font-size: 1rem;
    }
    
    .archivio-sottoserie-count {
        font-size: 0.8rem;
        padding: 0.2rem 0.6rem;
    }
    
    .archivio-sottoserie-card-link {
        padding: 0.875rem 1rem;
        min-height: 55px;
    }
    
    .archivio-sottoserie-name {
        font-size: 0.9rem;
    }
    
    .archivio-sottoserie-meta {
        font-size: 0.8rem;
    }
    
    .archivio-serie-no-sottoserie {
        padding: 1.5rem;
    }
    
    .archivio-no-sottoserie-icon {
        font-size: 1.5rem;
    }
    
    .archivio-no-sottoserie-message {
        font-size: 0.9rem;
    }
}
.archivio-sottoserie-card-link {
    display: flex;
    align-items: center;
    gap: var(--archivio-space-md);
    padding: 25px 35px !important;
    color: var(--archivio-grigio-scuro);
    text-decoration: none;
    font-weight: 500;
    position: relative;
    min-height: 75px;
    margin-left: 15px !important;
}

.archivio-sottoserie-card-link:hover {
    color: var(--archivio-blu-italia);
    text-decoration: none;
}
.archivio-sottoserie-name {
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 500;
    flex: 1;
}

/* Stili per i nuovi elementi aggiunti */
.archivio-serie-title-text {
    flex: 1;
    color: var(--archivio-bianco) !important;
    text-shadow: none !important;
    font-weight: 700;
}

.archivio-serie-meta {
    margin-top: var(--archivio-space-sm);
    display: flex;
    flex-direction: column;
    gap: var(--archivio-space-xs);
    opacity: 0.9;
}

.archivio-serie-date {
    font-size: 0.85rem;
    font-weight: 500;
    background: rgba(255,255,255,0.2);
    padding: var(--archivio-space-xs) var(--archivio-space-sm);
    border-radius: var(--archivio-border-radius);
    display: inline-block;
    backdrop-filter: blur(5px);
}

.archivio-serie-desc {
    font-size: 0.9rem;
    line-height: 1.4;
    font-style: italic;
    opacity: 0.95;
}

.archivio-sottoserie-content {
    display: flex;
    flex-direction: column;
    gap: var(--archivio-space-xs);
    flex: 1;
}

.archivio-sottoserie-meta {
    display: flex;
    flex-direction: column;
    gap: var(--archivio-space-xs);
    margin-top: var(--archivio-space-xs);
}

.archivio-sottoserie-date {
    font-size: 0.8rem;
    color: var(--archivio-blu-italia);
    font-weight: 500;
    background: rgba(30,115,190,0.1);
    padding: 2px var(--archivio-space-xs);
    border-radius: var(--archivio-border-radius);
    display: inline-block;
}

.archivio-sottoserie-desc {
    font-size: 0.85rem;
    color: var(--archivio-grigio-scuro);
    line-height: 1.3;
    font-style: italic;
}

.archivio-serie-no-sottoserie {
    padding: var(--archivio-space-lg);
    text-align: center;
    background: var(--archivio-grigio-chiaro);
    border-radius: var(--archivio-border-radius);
    margin: var(--archivio-space-md);
}

.archivio-no-sottoserie-message {
    color: var(--archivio-grigio-scuro);
    font-style: italic;
    margin: 0;
    font-size: 0.95rem;
}

/* Miglioramenti per il titolo della sezione */
.archivio-sezione-title:contains("📚 Serie e Sottoserie") {
    display: flex;
    align-items: center;
    gap: var(--archivio-space-sm);
}

.archivio-sezione-title:contains("📚 Serie e Sottoserie")::before {
    content: '';
    width: 4px;
    height: 24px;
    background: linear-gradient(135deg, var(--archivio-blu-italia) 0%, var(--archivio-blu-italia-dark) 100%);
    border-radius: 2px;
}

/* Responsive Design Migliorato */
@media (max-width: 768px) {
    .archivio-serie-hierarchy-container {
        gap: var(--archivio-space-md);
        margin-top: var(--archivio-space-sm);
    }
    
    .archivio-serie-header {
        padding: var(--archivio-space-md);
    }
    
    .archivio-serie-title {
        font-size: 1.1rem;
    }
    

    
    .archivio-sottoserie-section {
        padding: var(--archivio-space-md);
    }
    

    
    .archivio-sottoserie-card-link {
        padding: var(--archivio-space-md) var(--archivio-space-lg);
        margin-left: var(--archivio-space-sm);
    }
    
    .archivio-sottoserie-name {
        font-size: 0.95rem;
    }
}

@media (max-width: 480px) {
    .archivio-serie-card {
        margin-bottom: var(--archivio-space-sm);
    }
    
    .archivio-serie-header {
        padding: var(--archivio-space-sm);
    }
    
    .archivio-serie-title {
        font-size: 1rem;
    }
    

    
    .archivio-serie-meta {
        margin-top: var(--archivio-space-xs);
    }
    
    .archivio-serie-date {
        font-size: 0.8rem;
        padding: 2px var(--archivio-space-xs);
    }
    
    .archivio-serie-desc {
        font-size: 0.85rem;
    }
    
    .archivio-sottoserie-section-title {
        font-size: 0.9rem;
        margin-bottom: var(--archivio-space-lg);
    }
    
    .archivio-sottoserie-card-link {
        padding: var(--archivio-space-sm) var(--archivio-space-md);
        gap: var(--archivio-space-sm);
        margin-left: var(--archivio-space-xs);
    }
    

    
    .archivio-sottoserie-name {
        font-size: 0.9rem;
    }
    
    .archivio-sottoserie-meta {
        margin-top: var(--archivio-space-xs);
    }
    
    .archivio-sottoserie-date {
        font-size: 0.75rem;
    }
    
    .archivio-sottoserie-desc {
        font-size: 0.8rem;
    }
    
    .archivio-serie-no-sottoserie {
        padding: var(--archivio-space-md);
        margin: var(--archivio-space-sm);
    }
    
    .archivio-no-sottoserie-message {
        font-size: 0.9rem;
    }
}

/* Animazioni aggiuntive per migliorare l'esperienza utente */
.archivio-serie-card {
    animation: archivio-fade-in-up 0.6s ease-out;
}

@keyframes archivio-fade-in-up {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.archivio-sottoserie-card {
    animation: archivio-fade-in-scale 0.4s ease-out;
    animation-delay: calc(var(--card-index, 0) * 0.1s);
}

@keyframes archivio-fade-in-scale {
    from {
        opacity: 0;
        transform: scale(0.9);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Stati di caricamento */
.archivio-serie-hierarchy-container.loading {
    opacity: 0.7;
    pointer-events: none;
}

.archivio-serie-hierarchy-container.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    border: 3px solid var(--archivio-grigio-border);
    border-top: 3px solid var(--archivio-blu-italia);
    border-radius: 50%;
    animation: archivio-spin 1s linear infinite;
}

@keyframes archivio-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@media (max-width: 768px) {
    .archivio-serie-hierarchy-container {
        gap: var(--archivio-space-md);
    }
    
    .archivio-serie-header {
        padding: var(--archivio-space-sm);
    }
    
    .archivio-serie-title {
        font-size: 1rem;
    }
    
    .archivio-sottoserie-section {
        padding: var(--archivio-space-sm);
    }
    

    
    .archivio-sottoserie-card-link {
        padding: var(--archivio-space-sm) var(--archivio-space-md);
        margin-left: var(--archivio-space-xs);
    }
    
    .archivio-sottoserie-name {
        font-size: 0.85rem;
    }
}

@media (max-width: 480px) {
    .archivio-serie-card {
        margin-bottom: var(--archivio-space-sm);
    }
    
    .archivio-serie-header {
        padding: var(--archivio-space-xs) var(--archivio-space-sm);
    }
    
    .archivio-serie-title {
        font-size: 0.9rem;
    }
    
    .archivio-serie-icon {
        font-size: 1rem;
    }
    
    .archivio-sottoserie-section-title {
        font-size: 0.85rem;
        margin-bottom: var(--archivio-space-sm);
    }
    
    .archivio-sottoserie-card-link {
        padding: var(--archivio-space-xs) var(--archivio-space-sm);
    }
    
    .archivio-sottoserie-name {
        font-size: 0.8rem;
    }
}



/ *   F o r z a   a g g i o r n a m e n t o   C S S   * / 
 
 
 
 / *   N U O V O   D E S I G N   M O D E R N O   P E R   S E R I E   E   S O T T O S E R I E   * / 
 
 . a r c h i v i o - s e r i e - s o t t o s e r i e - s e c t i o n   {   b o x - s h a d o w :   n o n e ;   } 
/* ===== GALLERIA FOTOGRAFIE ===== */
.archivio-gallery-section {
    margin-bottom: var(--archivio-space-xl);
}

.archivio-photo-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: var(--archivio-space-lg);
    margin-top: var(--archivio-space-lg);
}

.archivio-gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: var(--archivio-border-radius);
    background: var(--archivio-grigio-chiaro);
    aspect-ratio: 4/3;
    box-shadow: var(--archivio-shadow-sm);
    transition: all 0.3s ease;
}

.archivio-gallery-item:hover {
    transform: translateY(-4px);
    box-shadow: var(--archivio-shadow-md);
}

.archivio-gallery-item a {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

.archivio-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.3s ease;
    cursor: pointer;
}

.archivio-gallery-item:hover img {
    transform: scale(1.05);
}

/* Responsive Gallery */
@media (max-width: 768px) {
    .archivio-photo-gallery {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: var(--archivio-space-md);
    }
}

@media (max-width: 576px) {
    .archivio-photo-gallery {
        grid-template-columns: 1fr;
        gap: var(--archivio-space-sm);
    }
}

/* Lightbox compatibility */
.archivio-gallery-item a[data-lightbox] {
    cursor: zoom-in;
}

/* ===== LIGHTBOX MODAL ===== */
.archivio-lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.archivio-lightbox.active {
    opacity: 1;
    visibility: visible;
}

.archivio-lightbox-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.95);
    cursor: pointer;
}

.archivio-lightbox-content {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 20px 20px;
}

.archivio-lightbox-image-container {
    max-width: 90%;
    max-height: 90%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
}

.archivio-lightbox-image {
    max-width: 100%;
    max-height: calc(90vh - 100px);
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 10px 50px rgba(0, 0, 0, 0.5);
    transition: opacity 0.3s ease;
}

.archivio-lightbox-caption {
    color: white;
    font-size: 1rem;
    margin-top: 1rem;
    text-align: center;
    padding: 0.5rem 1rem;
    background: rgba(0, 0, 0, 0.7);
    border-radius: 4px;
    max-width: 80%;
}

.archivio-lightbox-counter {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    color: white;
    font-size: 0.9rem;
    padding: 0.5rem 1rem;
    background: rgba(0, 0, 0, 0.7);
    border-radius: 20px;
    z-index: 10;
}

.archivio-lightbox-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.2);
    border: none;
    border-radius: 50%;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 10;
}

.archivio-lightbox-close:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: scale(1.1);
}

.archivio-lightbox-prev,
.archivio-lightbox-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.2);
    border: none;
    border-radius: 50%;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 10;
}

.archivio-lightbox-prev {
    left: 20px;
}

.archivio-lightbox-next {
    right: 20px;
}

.archivio-lightbox-prev:hover,
.archivio-lightbox-next:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: translateY(-50%) scale(1.1);
}

body.archivio-lightbox-open {
    overflow: hidden;
}

/* Responsive Lightbox */
@media (max-width: 768px) {
    .archivio-lightbox-content {
        padding: 80px 10px 40px;
    }
    
    .archivio-lightbox-image {
        max-height: calc(100vh - 150px);
    }
    
    .archivio-lightbox-prev,
    .archivio-lightbox-next {
        width: 40px;
        height: 40px;
    }
    
    .archivio-lightbox-prev {
        left: 10px;
    }
    
    .archivio-lightbox-next {
        right: 10px;
    }
    
    .archivio-lightbox-close {
        width: 40px;
        height: 40px;
        top: 15px;
        right: 15px;
    }
    
    .archivio-lightbox-caption {
        font-size: 0.9rem;
        max-width: 90%;
    }
    
    .archivio-lightbox-counter {
        top: 15px;
        font-size: 0.8rem;
    }
}

@media (max-width: 576px) {
    .archivio-lightbox-prev,
    .archivio-lightbox-next {
        background: rgba(255, 255, 255, 0.3);
    }
}
