


/* =========================
   FOGLIO CONTENUTI
========================= */

#page{
    width:100%;
    max-width:var(--page-width);
    margin:var(--page-gap-top) auto var(--page-gap-bottom) auto;
    padding:0;
    background:#e7e0d2;
    box-shadow:0 8px 24px rgba(0,0,0,0.10);
    box-sizing:border-box;
    min-height:320px;
}

#content-home{
    padding:42px 34px 40px 34px;
    box-sizing:border-box;
}

.intro-text{
    max-width:100%;
    margin:0 auto;
}

#content-home p{
    margin:0 0 14px 0;
    font-size:16px;
    line-height:1.45;
    color:#2a2722;
}

/* =========================
   PAGINA CON SIDEBAR
========================= */

#layout{
    display:flex;
    align-items:flex-start;
    gap:0;
    min-height:520px;
    background:#e7e0d2;
    width:100%;
    max-width:var(--page-width);
    margin:var(--page-gap-top) auto var(--page-gap-bottom) auto;
    box-shadow:0 8px 24px rgba(0,0,0,0.10);
    box-sizing:border-box;
    overflow:visible;
}

#sidebar3{
    width:260px;
    background:#ddd4c3;
    border-right:1px solid #cdbd9f;
    padding:20px 16px 24px 16px;
    box-sizing:border-box;
}

#sidebar3 h3{
    margin:0 0 14px 0;
    padding:0 0 10px 0;
    font-family:Georgia, "Times New Roman", serif;
    font-size:20px;
    font-weight:normal;
    line-height:1.15;
    color:#17384b;
    border-bottom:2px solid #cbb98d;
}

#sidebar3 ul{
    margin:0;
    padding:0;
    list-style:none;
}

#sidebar3 li{
    margin:0 0 6px 0;
    padding:0;
}

#sidebar3 li a{
    display:block;
    padding:8px 10px;
    background:#efe7d8;
    border:1px solid #d8ccb4;
    color:#24485d;
    font-size:12px;
    line-height:1.35;
    transition:background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

#sidebar3 li a:hover{
    background:#dfe8ec;
    border-color:#94aebb;
    color:#17384b;
    text-decoration:none;
}

#sidebar3 li.active a,
#sidebar3 li a.active{
    background:#557b8d;
    border-color:#557b8d;
    color:#f3e6bf;
}

#main{
    flex:1;
    padding:30px 36px 36px 36px;
    box-sizing:border-box;
    background:#ebe3d4;
    min-height:520px;
}

#main h2{
    margin:0 0 18px 0;
    font-family:Georgia, "Times New Roman", serif;
    font-size:24px;
    font-weight:normal;
    line-height:1.15;
    color:#17384b;
    border-bottom:2px solid #d8c99b;
    padding-bottom:8px;
}

#main h3{
    margin:22px 0 12px 0;
    font-family:Georgia, "Times New Roman", serif;
    font-size:20px;
    font-weight:normal;
    line-height:1.2;
    color:#17384b;
}

#main p{
    margin:0 0 14px 0;
    font-size:16px;
    line-height:1.55;
    color:#2b2925;
}

#main img{
    margin:0 auto 20px auto;
    max-width:100%;
    height:auto;
    border:1px solid #cfc4ae;
    box-shadow:0 6px 18px rgba(0,0,0,0.10);
}

/* =========================
   PREMESSA
========================= */

.premessa-box{
    display:flex;
    align-items:flex-start;
    gap:28px;
    padding:30px 34px 28px 34px;
    box-sizing:border-box;
}

.premessa-testo{
    flex:1;
    max-width:100%;
}

.premessa-testo h2{
    margin:0 0 18px 0;
    font-family:Georgia, "Times New Roman", serif;
    font-size:24px;
    font-weight:normal;
    line-height:1.15;
    color:#17384b;
    border-bottom:2px solid #cbb98d;
    padding-bottom:8px;
}

.premessa-testo p{
    margin:0 0 14px 0;
    font-size:16px;
    line-height:1.5;
    color:#222;
}

.premessa-libro{
    width:270px;
    flex:0 0 270px;
    margin-top:0;
}

.premessa-libro img{
    width:100%;
    height:auto;
    border:1px solid #c8baa0;
    box-shadow:0 6px 16px rgba(0,0,0,0.12);
    background:#fff;
}

/* rimando sezioni */

.rimando-sezioni{
    padding:10px 34px 34px 34px;
    box-sizing:border-box;
}

.rimando-sezioni h3{
    margin:0 0 18px 0;
    text-align:center;
    font-family:Georgia, "Times New Roman", serif;
    font-size:20px;
    font-weight:normal;
    line-height:1.25;
    color:#111;
}

.rimando-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:14px;
}

.rimando-card{
    display:block;
    padding:14px 14px 12px 14px;
    background:#ede5d6;
    border:1px solid #d1c1a5;
    box-shadow:0 4px 12px rgba(0,0,0,0.06);
    text-decoration:none;
    transition:transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    box-sizing:border-box;
}

.rimando-card:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 18px rgba(0,0,0,0.10);
    border-color:#bca986;
    text-decoration:none;
}

.rimando-card .titolo{
    display:block;
    margin:0 0 6px 0;
    font-family:Georgia, "Times New Roman", serif;
    font-size:16px;
    line-height:1.18;
    color:#2b6686;
    text-decoration:underline;
}

.rimando-card .desc{
    display:block;
    font-size:11px;
    line-height:1.45;
    color:#2b2925;
}


/* =========================
   FREGIO BASSO HOME
========================= */

.decor-line-bottom{
    margin:18px auto 10px auto;
    max-width:var(--decor-width);
}

.decor-line-bottom .line{
    background:linear-gradient(to right, rgba(47,94,59,0.10), #2f5e3b, rgba(47,94,59,0.10));
}

.nodo-verde{
    height:24px;
    filter:
        brightness(0)
        saturate(100%)
        invert(27%)
        sepia(18%)
        saturate(1041%)
        hue-rotate(91deg)
        brightness(92%)
        contrast(92%);
}

/* =========================
   COLLABORAZIONI HOME
========================= */

.collaborazioni{
    max-width:var(--page-width);
    margin:10px auto 28px auto;
    padding:0 34px;
    text-align:center;
    box-sizing:border-box;
}

.collaborazioni h2{
    margin:0 0 14px 0;
    font-family:Georgia, "Times New Roman", serif;
    font-size:22px;
    font-weight:normal;
    line-height:1.2;
    color:#17384b;
}

.collab-box{
    display:inline-block;
    margin:0;
    padding:14px 24px;
    background:#efe7d8;
    border:1px solid #d1c1a5;
    box-shadow:0 4px 12px rgba(0,0,0,0.06);
    font-size:15px;
    line-height:1.55;
    color:#2b2925;
}

.collab-box a{
    color:#2f5e3b;
    font-weight:bold;
    text-decoration:none;
}

.collab-box a:hover{
    text-decoration:underline;
}

/* =========================
   PAGINA I VOSTRI CONTRIBUTI
========================= */

#contributi-page{
    padding:36px 34px 40px 34px;
    box-sizing:border-box;
}

.contributi-intro{
    max-width:820px;
    margin:0 auto 30px auto;
    text-align:center;
}

.contributi-intro h2{
    margin:0 0 18px 0;
    font-family:Georgia, "Times New Roman", serif;
    font-size:28px;
    font-weight:normal;
    line-height:1.15;
    color:#17384b;
}

.contributi-intro p{
    margin:0 0 14px 0;
    font-size:16px;
    line-height:1.55;
    color:#2a2722;
    text-align:justify;
}

.contributi-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
    margin-top:18px;
}

.contributo-card{
    display:flex;
    flex-direction:column;
    min-height:190px;
    padding:18px 18px 16px 18px;
    background:#efe7d8;
    border:1px solid #d1c1a5;
    box-shadow:0 4px 12px rgba(0,0,0,0.06);
    color:#2b2925;
    text-decoration:none;
    transition:transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    box-sizing:border-box;
}

.contributo-card:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 18px rgba(0,0,0,0.10);
    border-color:#bca986;
    text-decoration:none;
}

.contributo-kicker{
    display:inline-block;
    margin:0 0 10px 0;
    font-size:10px;
    letter-spacing:1px;
    text-transform:uppercase;
    color:#6b6a63;
}

.contributo-card h3{
    margin:0 0 10px 0;
    font-family:Georgia, "Times New Roman", serif;
    font-size:21px;
    font-weight:normal;
    line-height:1.2;
    color:#2b6686;
}

.contributo-card p{
    margin:0 0 18px 0;
    font-size:14px;
    line-height:1.5;
    color:#2a2722;
    flex:1 0 auto;
}

.contributo-more{
    display:inline-block;
    margin-top:auto;
    font-size:12px;
    color:#17384b;
    text-decoration:underline;
}

/* =========================
   PAGINA SINGOLO CONTRIBUTO
========================= */

.contributo-singolo{
    padding:36px 34px 42px 34px;
    box-sizing:border-box;
}

.contributo-header{
    max-width:820px;
    margin:0 auto 28px auto;
    text-align:center;
}

.contributo-header h2{
    margin:0 0 10px 0;
    font-family:Georgia, "Times New Roman", serif;
    font-size:28px;
    font-weight:normal;
    line-height:1.15;
    color:#17384b;
}

.contributo-sottotitolo{
    margin:0;
    font-size:15px;
    line-height:1.45;
    color:#655f55;
}

.contributo-contenuto{
    max-width:860px;
    margin:0 auto;
}

.contributo-contenuto p{
    margin:0 0 16px 0;
    font-size:16px;
    line-height:1.6;
    color:#2b2925;
    text-align:justify;
}

.contributo-back{
    margin-top:30px;
    text-align:center;
}

.contributo-back a{
    color:#17384b;
    text-decoration:underline;
    font-size:14px;
}

/* =========================
   SLIDER FOTO CONTRIBUTO
   VERSIONE ELEGANTE ARCHIVIO
========================= */

.foto-slider{
    max-width:860px;
    margin:30px auto;
}

.slider-stage{
    display:grid;
    grid-template-columns:56px 1fr 56px;
    align-items:center;
    gap:12px;
}

.slider-figure{
    max-width:680px;
    margin:0 auto;
    padding:18px;
    background:#ece3d2;
    border:1px solid #cbbba0;
    box-shadow:
        0 2px 6px rgba(0,0,0,0.06),
        inset 0 0 0 1px rgba(255,255,255,0.4);
}

.slider-figure a{
    display:block;
    cursor:zoom-in;
}

.slider-figure img{
    display:block;
    width:100%;
    height:420px;
    object-fit:contain;
    margin:0 auto;
    background:#f8f5ee;
    border:1px solid #bfae90;
    box-shadow:0 3px 10px rgba(0,0,0,0.08);
}

.slider-figure figcaption{
    margin-top:12px;
    font-size:13px;
    line-height:1.5;
    color:#5e584f;
    text-align:center;
    font-style:italic;
    letter-spacing:0.2px;
}

.slider-btn{
    width:48px;
    height:48px;
    border:1px solid #c5b59a;
    background:#e8decc;
    color:#17384b;
    font-size:24px;
    line-height:1;
    cursor:pointer;
    box-shadow:0 2px 6px rgba(0,0,0,0.06);
}

.slider-btn:hover{
    background:#ded3bf;
}

.slider-thumbs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:center;
    margin-top:18px;
}

.thumb{
    padding:0;
    border:2px solid transparent;
    background:none;
    cursor:pointer;
}

.thumb.active{
    border-color:#2b6686;
}

.thumb img{
    display:block;
    width:82px;
    height:82px;
    object-fit:cover;
    border:1px solid #cfc4ae;
    background:#fff;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 820px){
    .contributi-grid{
        grid-template-columns:1fr;
    }

    #contributi-page{
        padding:28px 22px 32px 22px;
    }

    .contributi-intro h2,
    .contributo-header h2{
        font-size:24px;
    }

    .contributi-intro p,
    .contributo-contenuto p{
        font-size:15px;
    }

    .slider-stage{
        grid-template-columns:42px 1fr 42px;
        gap:8px;
    }

    .slider-figure{
        padding:12px;
    }

    .slider-figure img{
        height:280px;
    }

    .slider-btn{
        width:40px;
        height:40px;
        font-size:20px;
    }

    .thumb img{
        width:64px;
        height:64px;
    }
}/* =========================
   DOCUMENTI - INDEX
========================= */

#documenti-page{
    padding: 6px 0 24px;
}

.documenti-columns{
    display:grid;
    grid-template-columns: repeat(3, minmax(220px, 1fr));
    gap: 40px; /* aumentato per creare spazio linea */
    align-items:start;
    margin-top: 20px;
}

/* COLONNE */
.documenti-col{
    display:flex;
    flex-direction:column;
    position: relative; /* fondamentale */
}

/* LINEA TRA COLONNE */


/* TITOLI */
.documenti-col h3{
    margin: 0 0 8px;
    text-align: center;
    font-size: 1.1rem;
    font-weight: 500;
    color: #2f4f63;
}

/* LISTA */
.documenti-links{
    display:flex;
    flex-direction:column;
}

/* LINK */
.documento-link{
    display:block;
    padding: 5px 8px;
    text-align:center;
    text-decoration:none;
    font-size: 0.98rem;
    line-height:1.15;
    color:#f5f1e8;
    background:#2f566d;

    border-top:1px solid rgba(255,255,255,0.05);
    border-bottom:1px solid rgba(0,0,0,0.18);

    box-shadow: 0 1px 2px rgba(0,0,0,0.15);

    transition: background .12s ease;
}

.documento-link:hover{
    background:#365f77;
}

/* MOBILE */
@media (max-width: 1100px){
    .documenti-columns{
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .documenti-col{
        max-width: 560px;
        margin: 0 auto;
        width:100%;
        border-right:none; /* importantissimo */
    }
}
.documenti-col:not(:last-child)::after{
    content:"";
    position:absolute;
    top: 0;
    right: -20px; /* metà del gap (40px) */
    width:1px;
    height: 100%;
    background: rgba(0,0,0,0.15);
}
/* =========================
   PAGINA DOCUMENTO - 3° LIVELLO
========================= */

.doc-page{
    max-width: 980px;
    margin: 0 auto;
    padding: 10px 0 32px;
}

.doc-breadcrumb{
    margin-bottom: 14px;
    font-size: 0.95rem;
    color: #5c6b74;
}

.doc-breadcrumb a{
    color: #2f566d;
    text-decoration: none;
}

.doc-breadcrumb a:hover{
    text-decoration: underline;
}

.doc-header{
    text-align: center;
    margin-bottom: 18px;
}

.doc-header h2{
    margin: 0 0 6px;
    font-size: 2rem;
    font-weight: 500;
    color: #2f4f63;
}

.doc-subtitle{
    margin: 0;
    font-size: 1rem;
    color: #6d7a82;
    font-style: italic;
}

.doc-intro,
.doc-text{
    max-width: 860px;
    margin: 0 auto 20px;
    font-size: 1.02rem;
    line-height: 1.65;
    color: #2f2f2f;
}

.doc-figure{
    max-width: 860px;
    margin: 0 auto 22px;
    text-align: center;
}

.doc-figure a{
    display: inline-block;
}

.doc-figure img{
    max-width: 100%;
    height: auto;
    border: 1px solid rgba(0,0,0,0.12);
    box-shadow: 0 2px 6px rgba(0,0,0,0.12);
    background: #fff;
}

.doc-figure figcaption{
    margin-top: 8px;
    font-size: 0.9rem;
    color: #6b6b6b;
}

.doc-actions{
    text-align: center;
    margin-top: 24px;
}

.doc-back-link{
    display: inline-block;
    padding: 8px 14px;
    text-decoration: none;
    color: #2f566d;
    border: 1px solid rgba(47,86,109,0.24);
    background: rgba(255,255,255,0.45);
    box-shadow: 0 1px 2px rgba(0,0,0,0.08);
}

.doc-back-link:hover{
    background: rgba(47,86,109,0.06);
}

@media (max-width: 900px){
    .doc-header h2{
        font-size: 1.6rem;
    }

    .doc-intro,
    .doc-text{
        font-size: 0.98rem;
    }
}
/* =========================
   CITAZIONI DOCUMENTI
========================= */

.doc-quote{
    max-width: 720px;
    margin: 24px auto;
    text-align: center;
}

.quote-text{
    font-size: 1.1rem;
    line-height: 1.6;
    font-style: italic;
    color: #2f2f2f;
    margin-bottom: 10px;
}

.quote-author{
    font-size: 0.95rem;
    color: #6d7a82;
}
/* =========================
   CITAZIONI STILE WIX
========================= */

.doc-quote{
    max-width: 900px;
    margin: 26px auto;
}

.quote-title{
    font-size: 1.1rem;
    font-weight: 600;
    color: #2f2f2f;
    margin-bottom: 12px;
    text-align: left;   /* 👈 allineato a sinistra */
}

.quote-text{
    margin-left: 40px;      /* rientro */
    margin-right: 20px;     /* per equilibrio visivo */
    font-size: 1.02rem;
    line-height: 1.35;      /* ↓ interlinea ridotta */
    text-align: justify;    /* 👈 giustificato pieno */
    color: #2f2f2f;
}
/* =========================
   PAGINA VIDEO
========================= */

.video-page{
    flex: 1;
    max-width: 920px;
    margin: 0 auto;
    padding: 14px 12px 36px;
}

.video-wrapper{
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
}

.video-container,
.video-text{
    width: 100%;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}

.video-container{
    margin: 22px auto 28px;
    aspect-ratio: 16 / 9;
    background: #000;
    overflow: hidden;
    box-shadow: 0 6px 16px rgba(0,0,0,0.16);
}

.video-container iframe{
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}


}
.video-page .video-header{
    text-align: center;
}

.video-page .video-header h2{
    margin: 0 0 4px;
    font-size: 1.6rem;
    font-weight: 500;
    color: #2f4f63; /* il tuo blu/verde originale */
}

.video-page .video-subtitle{
    font-size: 0.9rem;
    color: #6d7a82;
    font-style: italic;
    margin: 0;
}
.video-page .video-text{
    font-size: 1rem;
    line-height: 1.5;
    text-align: center;
    color: #2f2f2f;
}
/* LINK RITORNO */
.doc-actions{
    text-align: center;
    margin-top: 22px;
}

.doc-back-link{
    display: inline-block;
    padding: 6px 12px;
    text-decoration: none;
    font-size: 0.9rem;
    color: #2f566d;
    border: 1px solid rgba(47,86,109,0.25);
    background: rgba(255,255,255,0.68);
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.doc-back-link:hover{
    background: rgba(47,86,109,0.08);
    box-shadow: 0 4px 10px rgba(0,0,0,0.10);
    transform: translateY(-1px);
}

/* MOBILE */
@media (max-width: 900px){

    .video-page{
        padding: 12px 8px 28px;
    }

    .video-header h2{
        font-size: 1.35rem;
    }

    .video-text{
        font-size: 0.95rem;
        line-height: 1.45;
    }

    .video-container{
        margin: 16px auto 20px;
    }
}
/* ===== RITROVAMENTO - FIGURE ===== */

#main figure{
    margin:25px 0;
    text-align:center;
}

#main figcaption{
    font-size:0.9em;
    color:#555;
    margin-top:8px;
}

/* immagini ridotte cliccabili */

.img-small{
    width:260px !important;
    height:auto;
    display:block;
    margin:0 auto;
    cursor:pointer;
}

.img-small:hover{
    opacity:0.9;
}
/* ===== NOTA FONTE ===== */




.nota-fonte{
    background:#f5efe3;
    border-left:4px solid #bfa76a;
    padding:18px;
    margin:25px 0;
    display:flex;
    align-items:center;
    gap:20px;
}


/* FOTO */

.nota-foto{
    flex:0 0 230px;
    margin:0;
 align-self:center;   /* ← QUESTO SISTEMA TUTTO */
}

.nota-foto img{
    width:100%;
    height:auto;          /* ← mantiene proporzioni */
    display:block;
    margin:0;
}



/* TESTO */

.nota-testo{
    display:flex;
    align-items:center;
}

.nota-testo p{
    font-size:1.2em;
    line-height:1.35;
    margin:0;
    color:#333;
}
.link-azionemare{
    color:#a88f4f;;
    text-decoration:none;
}

.link-azionemare:hover{
    text-decoration:underline;
}

/* AUDIO */
.audio-container{
    max-width:860px;
    margin:20px auto;
    background:#f5efe3;
    padding:15px;
    border-radius:6px;
}
.audio-container audio{
    width:100%;
}
.video-page .video-header{
    text-align: center;
}

.video-page .video-header h2{
    text-align: center;
}

.video-page .video-subtitle{
    text-align: center;
}

.video-page .video-text{
    text-align: center;
}




/* =========================
   DOCUMENTI / STATUTO
========================= */

.doc-content{
    font-size: 15px;
    line-height: 1.7;
}

.doc-content h3{
    font-size: 1.2rem;
    margin-top: 24px;
    margin-bottom: 8px;
    color: #2f4f63;
}

.doc-content ul{
    margin-left: 20px;
    margin-bottom: 16px;
}

.doc-content li{
    margin-bottom: 6px;
}
.doc-content{
    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px;
    line-height: 1.75;
    color:#2a2722;
}

.doc-content h3{
    font-size: 1.12rem;
    margin-top: 26px;
    margin-bottom: 10px;
    color:#1f3e50;
}

.doc-content p{
    text-align: justify;
}

.doc-content ul{
    margin-left: 22px;
}
/* =========================
   OVERRIDE PALETTE (SAFE)
========================= */

:root{
    --blu-scuro: #0b2c4d;
    --blu-medio: #163d63;
    --ocra: #8c6b3f;
}

/* HEADER */
#header{
    background: var(--blu-scuro) !important;
    border-bottom:4px solid var(--ocra) !important;
}

/* MENU BAR */
#menu-wrap{
    background: var(--blu-medio) !important;
}

/* MENU HOVER */
#menu > ul > li:hover > a{
    background: var(--ocra) !important;
    color:#ffffff !important;
}

/* DROPDOWN */
#menu li ul{
    background: var(--blu-medio) !important;
    border-color: var(--ocra) !important;
}

/* FOOTER */
#footer{
    background: var(--blu-scuro) !important;
    border-top:4px solid var(--ocra) !important;
}

/* LINK */
a{
    color: var(--blu-scuro);
}
a:hover{
    color: var(--ocra);
}

/* TITOLI PRINCIPALI */
#main h2,
#main h3,
.collaborazioni h2,
.contributo-header h2,
.doc-header h2{
    color: var(--blu-scuro);
}

/* LINEE DECORATIVE */
.decor-line .line{
    background:linear-gradient(
        to right,
        rgba(140,107,63,0.10),
        var(--ocra),
        rgba(140,107,63,0.10)
    ) !important;
}
/* =========================
   FIX DROPDOWN LIVELLO 2/3
========================= */

#menu li ul,
#menu li ul li a{
    background: var(--blu-medio) !important;
    color:#f3e6bf !important;
}

#menu li ul li:hover > a{
    background: var(--blu-scuro) !important;
    color:#ffffff !important;
}

}
/* =========================
   DOCUMENTI INDEX - FIX DEFINITIVO
========================= */

.documenti-columns .documento-link{
    background: var(--blu-medio) !important;
    color:#f5f1e8 !important;
}

.documenti-columns .documento-link:hover{
    background: var(--blu-scuro) !important;
}
/* =========================
   SIDEBAR FIX
========================= */

#sidebar3 li a{
    background:#efe7d8;
    color: var(--blu-scuro) !important;
}

#sidebar3 li a:hover{
    background: #e3d8c3 !important;
    border-color: var(--ocra) !important;
    color: var(--blu-scuro) !important;
}

/* voce attiva */
#sidebar3 li.active a,
#sidebar3 li a.active{
    background: var(--blu-medio) !important;
    border-color: var(--blu-medio) !important;
    color:#f3e6bf !important;
}
/* =========================
   REFINEMENT VISIVO (sfumature + ombre)
   INCOLLARE IN FONDO AL CSS
========================= */

/* HEADER sfumato */
#header{
    background: linear-gradient(
        to bottom,
        #0b2c4d 0%,
        #0e3a63 50%,
        #0a263f 100%
    ) !important;
}


   
/* =========================
   LINEA DECORATIVA MIGLIORATA
========================= */

.decor-line{
    gap:14px;
}

.decor-line .line{
    height:1px;
    background:linear-gradient(
        to right,
        rgba(140,107,63,0),
        rgba(140,107,63,0.5),
        var(--ocra),
        rgba(140,107,63,0.5),
        rgba(140,107,63,0)
    ) !important;
    box-shadow:0 1px 2px rgba(0,0,0,0.25);
}

/* nodo leggermente più “presente” */
.nodo-oro{
    filter:
        brightness(0)
        saturate(100%)
        invert(86%)
        sepia(19%)
        saturate(474%)
        hue-rotate(354deg)
        brightness(105%)
        contrast(95%)
        drop-shadow(0 2px 3px rgba(0,0,0,0.35));
}

/* stemma più importante */
.stemma-roma{
    transform:scale(1.03);
}
/* =========================
   MENU STILE NAVALE
========================= */

#menu-wrap{
    background: linear-gradient(
        to bottom,
        #1c4f7c 0%,
        #163d63 50%,
        #102e4c 100%
    ) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.15),
        0 3px 8px rgba(0,0,0,0.25);
}

/* separatori verticali più eleganti */
#menu > ul > li{
    border-left:1px solid rgba(255,255,255,0.15) !important;
}

#menu > ul > li:last-child{
    border-right:1px solid rgba(255,255,255,0.15) !important;
}

/* hover più “profondo” */
#menu > ul > li:hover > a{
    background: linear-gradient(
        to bottom,
        #9a7a45,
        var(--ocra)
    ) !important;
}
   #163d63 100%
    ) !important;
}

/* DROPDOWN ombra migliorata */
#menu li ul{
    box-shadow:
        -8px 10px 20px rgba(0,0,0,0.35),
         8px 10px 20px rgba(0,0,0,0.25) !important;
}

/* animazione leggera tipo Wix */
#menu li ul li a{
    transition: all 0.2s ease;
}

#menu li ul li:hover > a{
    transform: translateX(2px);
}
   /* =========================
   LINEA DECORATIVA MIGLIORATA
========================= */

.decor-line{
    gap:14px;
}

.decor-line .line{
    height:1px;
    background:linear-gradient(
        to right,
        rgba(140,107,63,0),
        rgba(140,107,63,0.5),
        var(--ocra),
        rgba(140,107,63,0.5),
        rgba(140,107,63,0)
    ) !important;
    box-shadow:0 1px 2px rgba(0,0,0,0.25);
}

/* nodo leggermente più “presente” */
.nodo-oro{
    filter:
        brightness(0)
        saturate(100%)
        invert(86%)
        sepia(19%)
        saturate(474%)
        hue-rotate(354deg)
        brightness(105%)
        contrast(95%)
        drop-shadow(0 2px 3px rgba(0,0,0,0.35));
}

/* stemma più importante */
.stemma-roma{
    transform:scale(1.03);
}
/* =========================
   MENU STILE NAVALE
========================= */

#menu-wrap{
    background: linear-gradient(
        to bottom,
        #1c4f7c 0%,
        #163d63 50%,
        #102e4c 100%
    ) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.15),
        0 3px 8px rgba(0,0,0,0.25);
}

/* separatori verticali più eleganti */
#menu > ul > li{
    border-left:1px solid rgba(255,255,255,0.15) !important;
}

#menu > ul > li:last-child{
    border-right:1px solid rgba(255,255,255,0.15) !important;
}

/* hover più “profondo” */
#menu > ul > li:hover > a{
    background: linear-gradient(
        to bottom,
        #9a7a45,
        var(--ocra)
    ) !important;
}
/* =========================
   DROPDOWN HOVER PIÙ SCURO
========================= */

#menu li ul li:hover > a{
    background: #0a2238 !important; /* blu più profondo */
    color:#ffffff !important;
}
/* =========================
   DROPDOWN ARROTONDATO
========================= */

#menu li ul{
    border-radius: 8px !important;
    overflow: hidden; /* fondamentale per i bordi */
}

/* anche i singoli item (per sicurezza) */
#menu li ul li a{
    border-radius: 0 !important;
}
/* =========================
   TITOLI IN BLU CORRETTO
========================= */

#main h2,
#main h3,
.doc-header h2,
.documenti-col h3,
.contributo-header h2,
.video-page .video-header h2{
    color: var(--blu-scuro) !important;
}
.indice-statuto{
    background:#f5efe3;
    border:1px solid #d8c99b;
    padding:12px 16px;
    margin-bottom:20px;
}

.indice-statuto ul{
    columns:2;
    margin:8px 0 0;
}

.indice-statuto a{
    text-decoration:none;
}

.indice-statuto a:hover{
    text-decoration:underline;
}
/* =========================
   STILE ATTO NOTARILE
========================= */

.atto-notarile{
    max-width:780px;
    margin:0 auto;
    padding:30px 40px;
    background:#fdfaf3;
    border:1px solid #d8c99b;
    box-shadow:0 8px 25px rgba(0,0,0,0.15);
}

.doc-intestazione{
    display:flex;
    justify-content:space-between;
    font-size:0.95rem;
    margin-bottom:20px;
}

.doc-titolo{
    text-align:center;
    font-size:1.9rem;
    letter-spacing:1px;
}

.doc-sottotitolo{
    text-align:center;
    margin-bottom:25px;
}

.indice-statuto{
    background:#f5efe3;
    border:1px solid #d8c99b;
    padding:12px;
    margin-bottom:25px;
}

.indice-statuto ul{
    columns:2;
    margin:10px 0 0;
}

.indice-statuto a{
    text-decoration:none;
}

.indice-statuto a:hover{
    text-decoration:underline;
}

.atto-notarile h3{
    margin-top:28px;
    border-top:1px solid #d8c99b;
    padding-top:10px;
}

.doc-finale{
    margin-top:30px;
}

.firma{
    margin-top:25px;
}
/* =========================
   STATUTO STILE NOTARILE
========================= */

.doc-content{
    max-width:780px;
    margin:0 auto;
    padding:30px 40px;
    background:#fdfaf3;
    border:1px solid #d8c99b;
    box-shadow:0 8px 25px rgba(0,0,0,0.15);
}

/* intestazione */
.doc-header h2{
    letter-spacing:1px;
}

/* indice */
.indice-statuto{
    background:#f5efe3;
    border:1px solid #d8c99b;
    padding:12px 16px;
    margin:20px 0 25px 0;
}

.indice-statuto ul{
    columns:2;
    margin-top:10px;
}

.indice-statuto a{
    text-decoration:none;
}

.indice-statuto a:hover{
    text-decoration:underline;
}

/* articoli */
.doc-content h3{
    margin-top:28px;
    border-top:1px solid #d8c99b;
    padding-top:10px;
}
/* =========================
   FIX ALLINEAMENTO INDICE
========================= */

.indice-statuto{
    text-align:left !important;
}

.indice-statuto ul{
    text-align:left !important;
}
/* =========================
   HEADER DOCUMENTI (atto/statuto)
========================= */

.doc-titolo{
    text-align:center;
    font-size:1.9rem;
    letter-spacing:1px;
    margin-bottom:6px;
}

.doc-sottotitolo{
    text-align:center;
    font-size:0.95rem;
    color:#6b6458;
    margin-bottom:25px;
}
/* =========================
   FIX SOTTOTITOLO CENTRATO
========================= */

.doc-header{
    text-align:center !important;
}

.doc-sottotitolo{
    display:block;
    text-align:center !important;
    margin-left:auto;
    margin-right:auto;
}
/* =========================
   ATTO COSTITUTIVO - FONT E HEADER
========================= */

.atto-notarile{
    font-family: Georgia, "Times New Roman", serif !important;
}

/* titolo */
.doc-titolo{
    text-align:center;
    font-size:1.9rem;
    letter-spacing:1px;
}

/* sottotitolo (repertorio + repubblica) */
.doc-sottotitolo{
    text-align:center !important;
    font-size:0.95rem;
    color:#6b6458;
    line-height:1.4;
    margin-bottom:10px;
}
/* =========================
   INTESTAZIONE NOTARILE DX / SX
========================= */

.doc-intestazione{
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:0.95rem;
    margin:10px 0 12px 0;
    font-family: Georgia, "Times New Roman", serif;
}

/* sicurezza allineamenti */
.doc-intestazione .rep{
    text-align:left;
}

.doc-intestazione .rac{
    text-align:right;
}
/* =========================
   TITOLO DOCUMENTI UNIFICATO
========================= */

.doc-titolo{
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 2.2rem;
    text-align: center;
    color: var(--blu-scuro) !important;
    letter-spacing: 1px;
    font-weight: normal;
    margin-bottom: 10px;
}
/* =========================
   SUBTITLE UNIFICATI (STATUTO + ATTO)
========================= */

.doc-sottotitolo{
    font-family: Georgia, "Times New Roman", serif !important;
    text-align: center !important;
    font-size: 0.95rem;
    color: #6b6458; /* beige-grigio elegante */
    letter-spacing: 0.5px;
    line-height: 1.4;
    margin-top: 4px;
    margin-bottom: 18px;
}

/* eventuali subtitle vecchi */
.doc-subtitle{
    font-family: Georgia, "Times New Roman", serif !important;
    text-align: center !important;
    font-size: 0.95rem;
    color: #6b6458;
    letter-spacing: 0.5px;
}
/* =========================
   PAGINA CONSIGLIO DIRETTIVO
========================= */

.intro{
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1rem;
    margin-bottom: 18px;
}

/* elenco compatto */
.elenco-direttivo p{
    font-family: Georgia, "Times New Roman", serif;
    margin: 8px 0;   /* 🔥 ridotto */
    line-height: 1.4;
    font-size: 1.05rem;
}

/* più elegante */
.elenco-direttivo strong{
    color: var(--blu-scuro);
}

/* opzionale: ancora più compatto */
.elenco-direttivo{
    margin-top: 10px;
}
/* =========================
   PAGINA BENVENUTO
========================= */

/* blocco foto + intro */
.blocco-bio{
    display:flex;
    gap:25px;
    align-items:flex-start;
    margin-bottom:25px;
}

.blocco-bio img{
    width:220px;
    height:auto;
    border:1px solid #d8c99b;
}

/* testo a lato foto */
.testo-bio p{
    font-family: Georgia, "Times New Roman", serif;
    line-height:1.5;
}

/* corpo testo */
.testo-documento p{
    font-family: Georgia, "Times New Roman", serif;
    margin:10px 0;
    line-height:1.5;
}

/* firma */
.firma-centro{
    text-align:center;
    margin-top:30px;
    font-style:italic;
}
/* interlinea generale */
.testo-documento p,
.testo-intro{
    line-height: 1.35;   /* 🔥 più compatto */
}

/* spazio tra paragrafi */
.testo-documento p{
    margin: 6px 0;       /* 🔥 meno spazio verticale */
}
/* =========================
   FIRMA STILE MANOSCRITTO
========================= */


}
.firma-mano{
    font-family: 'Allura', cursive !important;
    font-size: 2rem;
    text-align: center;
    margin-top: 40px;
    font-weight: normal !important;   /* 🔥 toglie il grassetto */
}
/* =========================
   FIRMA MANOSCRITTA (FORZATA)
========================= */

.firma-mano{
    font-family: 'Allura', cursive !important;
    font-size: 2.2rem;
    text-align: center;
    margin-top: 40px;
    font-weight: normal !important;
    letter-spacing: 1px;
}

/* blocca qualsiasi override */
.doc-content .firma-mano{
    font-family: 'Allura', cursive !important;
}
/* =========================
   FIRMA PERFETTAMENTE CENTRATA
========================= */

/* linea DOPO la firma */
.firma-mano::after{
    content:"";
    display:block;
    width: 60%;
    height: 1px;
    margin: 15px auto 0 auto;

    background: linear-gradient(
        to right,
        transparent,
        #d8c99b,
        transparent
    );
}
/* =========================
   SPAZIO TRA BLOCCHI BENVENUTO
========================= */

.blocco-bio{
    margin-top: 30px;
}

/* spazio dopo ogni sezione testo */
.testo-documento{
    margin-bottom: 40px;
}
/* =========================
   SEPARAZIONE BLOCCHI (STILE HEADER)
========================= */

.blocco-sezione{
    position: relative;
    margin-bottom: 60px;
    padding-bottom: 30px;
}

.blocco-bio{
    display:flex;
    gap:20px;
    align-items:flex-start;
}

/* =========================
   BLOCCO TESTO NO COLONNE
========================= */

.blocco-testo{
    display: block !important;
}

/* disattiva qualsiasi flex interno */
.blocco-testo *{
    display: block;
}

/* immagine flottante */
.img-float{
    float: left;
    display: block;
    width: 220px;
    margin: 0 20px 10px 0;
}

/* pulizia float */
.blocco-testo::after{
    content:"";
    display:block;
    clear:both;
}
/* =========================
   TESTO CON FOTO FLUIDA
========================= */

.blocco-testo{
    display: block;
}

.img-float{
    float: left;
    width: 220px;
    margin: 0 20px 10px 0;
    border: 1px solid #d8c99b;
}

.blocco-testo p{
    font-family: Georgia, "Times New Roman", serif;
    line-height: 1.4;
    margin: 8px 0;
}

.blocco-testo::after{
    content:"";
    display:block;
    clear:both;
}
.box-citazione{
    display:flex;
    gap:20px;
    align-items:center;
    background:#f5efe3;
    border-left:4px solid #d8c99b;
    padding:18px 20px;
    margin:25px 0;
}

//* BOX CITAZIONE CORRETTO */

.box-citazione{
    background:#f5efe3;
    border-left:4px solid #d8c99b;
    padding:18px 20px;
    margin:25px 0;
}

/* immagine */
.img-citazione{
    float:left;
    width:110px;
    margin:0 15px 10px 0;
    border:1px solid #d8c99b;
}

/* testo */
.testo-citazione{
    font-family: Georgia, "Times New Roman", serif;
    font-style: italic;
    line-height:1.5;
    margin:0;
}

/* fix float */
.box-citazione::after{
    content:"";
    display:block;
    clear:both;
}
.box-citazione{
    margin-bottom: 40px;
}
.testo-documento{
    font-family: Georgia, "Times New Roman", serif;
    line-height: 1.4;
}

.testo-documento p{
    margin: 8px 0;
}
/* spazio tra i blocchi con foto */
.blocco-testo{
    margin-bottom: 50px;
}
/* box verticale per ricordo */
.box-verticale{
    display:block;
    text-align:center;
}

/* immagini */
.img-ricordo{
    display:block;
    margin: 25px auto;
    max-width: 500px;   /* 🔥 più grande */
    width:100%;
    border:1px solid #d8c99b;
}

/* testo */
.box-verticale .testo-citazione{
    margin: 15px auto;
    max-width: 600px;
}
/* =========================
   PAGINA ELENCO CADUTI
========================= */

.img-documento{
    display:block;
    margin:30px auto;
    max-width:700px;
    width:100%;
    border:1px solid #d8c99b;
    box-shadow:0 6px 18px rgba(0,0,0,0.10);
}

.linea-sezione{
    width:70%;
    height:1px;
    margin:40px auto;

    background:linear-gradient(
        to right,
        transparent,
        #d8c99b,
        transparent
    );
}

.link-sezioni{
    text-align:center;
    margin-top:25px;
}

.link-sezioni a{
    display:block;
    margin:12px 0;

    font-family:Georgia, "Times New Roman", serif;
    font-size:1.05rem;

    color:var(--blu-scuro);
    text-decoration:none;
}

.link-sezioni a:hover{
    color:var(--ocra);
    text-decoration:underline;
}
.hero-image {
    margin: 30px auto;
    text-align: center;
}

    .hero-image img {
        display: block;
        width: 100%;
        max-width: 850px;
        height: auto;
        margin: 0 auto;
        border: 1px solid #d8c99b;
        box-shadow: 0 6px 18px rgba(0,0,0,0.10);
    }
#layout {
    display: flex;
    align-items: flex-start;
    gap: 40px;
}
#sidebar3 {
    width: 260px;
    flex-shrink: 0;
}