/* =========================
   Miti3000.it - layout base
   ========================= */


/* Reset di base */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


img {
    border: 0;
    max-width: 100%;
    height: auto;
}


ul {
    list-style: none;
}


a {
    text-decoration: none;
    color: inherit;
}


/* Variabili */
:root {
    --colore-principale: #800000;
    --colore-sfondo: #ffffff;
    --colore-menu: #1e0d0f;
    --colore-testo: #2d2d37;
    --bordo-grigio: #c0c0c0;
    --font-testo: Arial, Helvetica, sans-serif;
}


/* Body */
body {
    background: #f4f4f4 url("img/sfondo.jpg") fixed;
    font-family: var(--font-testo);
    font-size: 16px;
    line-height: 1.6;
    color: var(--colore-principale);
}


/* Contenitore principale */
#pagina {
    max-width: 57em;
    margin: 0 auto;
    background: var(--colore-sfondo) url("img/bordo.gif") repeat-y 14.2em 14.2em;
    padding: 0 1em;
    display: flex;
    flex-direction: column;
}

/* Corpo personalizzato 08_02_26*/
#corpo .pers {
    margin-bottom: 1em;
    /* colore ereditato */
}

#corpo .pers ul {
    background: url('img/dot.gif') no-repeat center left;
    padding-left: 0.5em;
    margin-bottom: 0;
    /* 08_02_26  fine personalizzato*/
}

/* Header */
#header {
    background: #000 url("img/bgheader.jpg") repeat-x;
    border-bottom: 2px solid #000;
}


#header #logo {
    height: 150px;
    border: 1px solid #fff;
    background: url("img/titolo2.jpg") no-repeat bottom right;
    display: flex;
    align-items: stretch;
}


#header #logo img {
    height: 100%;
}


/* Menu principale */
#menu {
    background-color: var(--colore-menu);
    border: 1px solid #000;
    margin: 0.3em 3px 0;
}


#menu ul {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    padding: 0.3em;
    background-color: #000;
}


#menu li {
    background: url("img/fregio.gif") no-repeat right center;
    border: 1px solid #000;
}


#menu a {
    display: block;
    padding: 0.3em 1em;
    color: #fff;
}


#menu a:hover {
    border-color: #808080;
    background-color: #45454f;
}


/* Layout principale: indice + corpo */
.layout {
    display: flex;
    align-items: flex-start;
    gap: 1.5em;
    padding: 1em 0;
}


/* Colonna indice */
#indice {
    flex: 0 0 13.4em;
    border-right: 1px solid var(--bordo-grigio); /* La linea verticale */
    margin-right: 0.8em; /* Lo spazio tra linea e corpo */
    padding-right: 0.5em; /* Respiro interno */
}


#indice h3 {
    border-bottom: 0.3em solid var(--bordo-grigio);
    padding: 0.25em 0;
    margin: 0 1em 0.5em 3px;
}


#indice ul {
    margin: 0 1em 1em 3px;
}


#indice li {
    border-bottom: 1px solid var(--bordo-grigio);
}


#indice a {
    display: block;
    padding: 0.2em 0.2em 0.2em 1.25em;
    background: url("../img/fregio.gif") no-repeat center left;
    color: var(--colore-principale);
}


#indice a:hover {
    background-color: #f0f0f0;
}


/* Colonna contenuti */
#corpo {
    flex: 1 1 auto;
    color: var(--colore-principale);
}


/* Sotto-indici: Alfabeto ed Elenco */
#alfabeto,
#elenco {
    border-bottom: 1px solid var(--bordo-grigio);
    color: var(--colore-principale);
    padding: 1em;
    /* Assicuriamoci che si comporti come un blocco che contiene elementi in linea */
    display: block; 
    overflow: hidden; /* Pulisce i float interni se ancora presenti */
}

#alfabeto li,
#elenco li {
    /* Usiamo inline-block: restano in fila orizzontale come testo */
    display: inline-block;
    vertical-align: middle;
    padding-right: 5px;
    background: url("../img/dot.gif") no-repeat center right;
    margin-bottom: 5px; /* Spazio se vanno a capo su più righe */
}

#alfabeto a,
#elenco a {
    display: inline-block;
    color: #2d2d37;
    padding: 0.2em 0.5em;
}

#alfabeto a:hover,
#elenco a:hover {
    color: var(--colore-principale);
    background-color: #f0f0f0;
}


/* Tipografia */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-testo);
    color: var(--colore-principale);
}


h1, h2 {
    display: none; /* Se non vuoi che h1 e h2 siano visibili */
    /* color: #800000; - Ereditato */
}


#corpo h3 {
    font-size: 2em;
    margin-bottom: 0.5em;
}


#corpo h4 {
    font-size: 1.15em;
    margin: 2em 0 1em;
}


#corpo h5 {
    font-size: 1em;
    margin: 2em 0 1em;
}


#corpo h6 {
    font-size: 0.9em;
    margin-top: 0.7em;
}


#corpo p {
    text-align: justify;
    margin-bottom: 1em;
    text-indent: 1em;
}


#corpo p.center {
    text-align: center;
    text-indent: 0;
}

strong {
    font-variant: small-caps;
}

q {
    quotes: "«" "»" "“" "”";
}

/* sostituisce acronym */
abbr[title] {
    text-decoration: underline dotted;
    cursor: help;
}


/* Medium gray; adjust shade as needed */
cite {
    font-family: "Times New Roman", Times, serif;
    font-size: 1.1250em;
    font-style: italic;
    color: #303030;  
}


/* Link nel corpo testo */
#corpo a {
    color: #9e484a;
    text-decoration: underline;
}


#corpo a:hover {
    color: #996633;
    text-decoration: none;
    background-color: #f0f0f0;
}


/* Liste */
#corpo ul {
    margin-left: 1.5em;
    margin-bottom: 1em;
	text-align: justify;
}


#corpo li {
    margin-bottom: 0.3em;
}


#corpo ul.normal {
    list-style-type: disc;
	text-align: justify;
}


#corpo ul.numeri {
    margin-left: 2em;
    list-style-type: decimal;
}


/* Blocchi speciali */
#corpo p.scena {
    margin-top: -1.3em;
    float: right;
    text-align: right;
    font-size: 0.9em;
    font-style: italic;
    color: var(--colore-principale);
    margin-bottom: 0;
}


#corpo #opera p,
#corpo #nobot p {
    margin-bottom: 0;
    text-indent: 0;
    text-align: left;
}


#corpo #greco {
    font-family: "Times New Roman", serif;
    font-style: italic;
    font-size: 1.2em;
}


#corpo #gotico {
    font-family: "Old English Text MT", Georgia, serif;
    font-size: 1.2em;
}


#corpo #dida {
    color: #830330;
    font-size: 0.9em;
    font-style: italic;
}


/* Immagini con “ombra” */
/* Immagini con “ombra” moderna */
#corpo .shad {
    float: right;
    margin: 1em 0 1em 1.5em;
    padding: 0;
    display: block;
}

#corpo .shad span {
    border: 1px solid #a9a9a9;
    background-color: #fff;
    display: block;
    text-align: center; /* Ripristina l'allineamento al centro */
    padding: 3px;
    /* Ombra reale senza file .gif */
    box-shadow: 4px 4px 5px rgba(0,0,0,0.2); 
}

#corpo .shad img {
    margin: 0 auto;
    display: block;
}

#corpo .shad .alt {
    border-top: 1px solid #eee; /* Una riga sottile per separare il testo */
    font-size: 10px;
    text-transform: uppercase;
    font-variant: small-caps; /* Ripristina l'effetto maiuscoletto/strong */
    font-weight: bold;       /* Lo rende effettivamente "strong" */
    padding: 2px 0;
}


/* Galleria */
#corpo #galleria {
    margin-top: 2em;
    padding: 0.6em;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
}


#corpo #galleria li {
    width: 130px;
    text-align: center;
}


#corpo #galleria img {
    border: 1px solid #a9a9a9;
    background-color: #fff;
    padding: 3px;
}


/* Footer */
#footer {
    border-top: 1px solid var(--bordo-grigio);
    color: #660000;
    text-align: right;
    padding: 1em 0 2em;
    background: #fff url("img/miti30002.jpg") no-repeat;
}


/* Tooltip / OverDiv */
#overDiv {
    border: 1px solid #2d2d37;
}


#overDiv * {
    text-align: justify;
}


#overDiv table table {
    margin: 0.3em 0.6em;
}


/* Menu MBM responsive */
#mbmcpebul_wrapper {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
}


#mbmcpebul_table {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    border-collapse: collapse;
}


#mbmcpebul_table td {
    display: inline-block;
    width: auto;
}


/* =========================
   Media query per mobile
   ========================= */


@media (max-width: 768px) {
    #pagina {
        padding: 0 0.5em;
        background-image: none;
    }


    .layout {
        flex-direction: column;
    }


  #indice {
    flex: 0 0 13.4em;
    border-right: 1px solid var(--bordo-grigio); /* La linea verticale */
    margin-right: 0.8em; /* Lo spazio tra linea e corpo */
    padding-right: 0.5em; /* Respiro interno */
}


    #corpo {
        order: 2;
        padding-top: 1em;
    }


    #menu ul {
        justify-content: center;
    }


    #corpo p {
        text-indent: 0;
    }
}
/* Forza il wrapper del menu ad adattarsi alla larghezza della pagina */
#mbmcpebul_wrapper {
    max-width: 100% !important; 
    width: 100% !important;
    margin: 0 auto !important;
    display: block !important;
}

/* Rendi la lista interna flessibile */
#mbmcpebul_table {
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important; /* Permette ai tasti di andare a capo su mobile */
    justify-content: center !important;
    border-collapse: collapse !important;
}

/* Se il menu usa dei <td> per i tasti, trasformali in elementi flessibili */
#mbmcpebul_table td {
    display: inline-block !important;
    width: auto !important;
}

/* Sfondo della Lightbox */
#customLightbox {
    display: none; 
    position: fixed; 
    z-index: 9999; 
    left: 0; 
    top: 0; 
    width: 100%; 
    height: 100%; 
    background-color: rgba(50, 50, 50, 0.75); /* Sfondo nero semitrasparente */
    cursor: pointer;
    align-items: center;
    justify-content: center;
}

/* L'immagine dentro la Lightbox */
#lightboxImg {
    max-width: 90%;
    max-height: 90%;
    border: 4px solid #fff;
    border-radius: 4px;
    box-shadow: 0 0 25px rgba(0,0,0,0.5);
    transition: transform 0.3s ease;
}

/* Testo di aiuto in basso */
#lightboxCaption {
    position: absolute;
    bottom: 20px;
    color: white;
    font-family: sans-serif;
    font-size: 14px;
}

/* per main */
/* Stile per la sezione opere nel contenuto principale */
.opere-elenco {
    margin-top: 10px;
    padding: 20px;
    background-color: #f9f9f9; /* Un leggero sfondo per staccare dal testo */
    border-top: 2px solid #eee;
}

.opere-elenco h2 {
    color: #333;
    font-size: 1.5rem;
    margin-bottom: 15px;
}

.opere-elenco ul {
    list-style-type: none; /* Rimuove i pallini se preferisci uno stile pulito */
    padding-left: 0;
}

.opere-elenco li {
    margin-bottom: 10px;
}

.opere-elenco a {
    text-decoration: none;
    color: #0056b3;
    font-weight: italic;
}

.opere-elenco a:hover {
    text-decoration: underline;
}

.opere-elenco {
    display: block !important;
    visibility: visible !important;
}

.opere-elenco li {
    margin-bottom: 12px; /* Dà respiro tra un link e l'altro */
    line-height: 1.5;
}
.opere-elenco a {
    display: inline-block; /* Rende il link più "corposo" per l'algoritmo */
}

/* 1. Skip Link: invisibile ma attivo per screen reader */
.skip-link {
    position: absolute;
    top: -100px;
    left: 0;
    background: #800000;
    color: white;
    padding: 10px;
    z-index: 1000;
    text-decoration: none;
}
.skip-link:focus {
    top: 0; /* Appare in alto se premi TAB appena entri nel sito */
}

/* 2. Gestione del Focus: non rimuovere mai l'outline! */
a:focus, button:focus {
    outline: 3px solid #ffcc00; /* Un colore vivace che aiuta chi ha ipovisione */
    outline-offset: 2px;
}

/* 3. Nascondere titoli senza "ucciderli" per i non vedenti */
/* Se vuoi un h1 che non si veda ma che lo screen reader legga */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}



/* Container principale  per template*/
main[role="main"] {
    max-width: 800px;
    margin: 2rem auto;
    padding: 0 1.5rem;
    font-family: 'Georgia', 'Times New Roman', serif; /* Font graziato per i classici */
    line-height: 1.6;
    color: #333;
}

/* Header Autore */
.autore-header {
    text-align: center;
    margin-bottom: 3rem;
    border-bottom: 2px solid #e0d7c6;
    padding-bottom: 1rem;
}

.autore-header h4 {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
    color: #2c3e50;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.epoca {
    font-size: 1.2rem;
    color: #7f8c8d;
}

/* Biografia */
.biografia p {
    margin-bottom: 1.5rem;
    text-align: justify;
    hyphens: auto;
}

/* Sezione Bibliografia e Opere */
.bibliografia-opere {
    margin-top: 4rem;
    background-color: #fdfcf8;
    padding: 2rem;
    border-radius: 8px;
    border-left: 5px solid #c0392b; /* Un rosso pompeiano per richiamare i classici */
}

.bibliografia-opere h3 {
    margin-top: 0;
    color: #c0392b;
}

.bibliografia-opere hr {
    border: 0;
    height: 1px;
    background: #eee;
    margin-bottom: 2rem;
}

/* Elenco Opere */
.lista-link-opere {
    list-style: none;
    padding: 0;
}

.lista-link-opere li {
    padding: 0.8rem 0;
    border-bottom: 1px dashed #dcdde1;
}

.lista-link-opere li:last-child {
    border-bottom: none;
}

.lista-link-opere a {
    color: #2980b9;
    text-decoration: none;
    transition: color 0.3s ease;
}

.lista-link-opere a:hover {
    color: #c0392b;
    text-decoration: underline;
}

/* Nota Redazione */
.nota-redazione {
    margin-top: 2rem;
    font-style: italic;
    color: #95a5a6;
}






/* Layout essenziale  modifica a semplice*/
main[role="main"] {
    max-width: 750px;
    margin: 40px auto;
    padding: 20px;
    font-family: Georgia, serif; /* Un classico intramontabile */
    line-height: 1.7;
    color: #222;
}

/* Header pulito */
.autore-header {
    text-align: left;
    margin-bottom: 40px;
}

.autore-header h1 {
    font-size: 2.2rem;
    margin: 0;
    font-weight: normal;
    color: #000;
}

.epoca {
    font-size: 1.1rem;
    color: #666;
    margin-top: 5px;
}

/* Testo biografia */
.biografia p {
    margin-bottom: 20px;
}

/* Sezione opere senza fronzoli */
.bibliografia-opere {
    margin-top: 50px;
    border-top: 1px solid #eee;
    padding-top: 30px;
}

.bibliografia-opere h3 {
    font-size: 1.4rem;
    margin-bottom: 20px;
}

.lista-link-opere {
    list-style: square; /* Un tocco discreto */
    padding-left: 20px;
}

.lista-link-opere li {
    margin-bottom: 10px;
}

.lista-link-opere a {
    color: #004a99;
    text-decoration: none;
}

.lista-link-opere a:hover {
    text-decoration: underline;
}

/* Nota minima */
.nota-redazione {
    margin-top: 40px;
    color: #888;
    font-size: 0.85rem;
}