/* =========================
   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);
}
img {
  width: 100%;
  max-width: auto; /* o la larghezza che preferisci */
  height: auto;     /* mantiene le proporzioni originali della tua foto */
  object-fit: contain;
}

/* 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;
}


/* 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 h4 {
    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, h3 {
    display: none; /* Se non vuoi che h1, h2 e h3 siano visibili */
    /* color: #800000; - Ereditato */
}


#corpo h3 {
    font-size: 2em;
    margin-bottom: 0.5em;
	display: none;
}


#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;
	list-style-type: disc;
}


#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:hover { transform: scale(1.05); transition: 0.3s; }

#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;
}


/* Layout Footer */
#footer {
    border-top: 1px solid #C0C0C0;
    color: #660000;
    text-align: right;
    background: #FFFFFF url('img/miti30002.jpg') no-repeat;
    padding: 1em 0 2em 0;
    /* Rimosso border-bottom-style non essendo definite le altre proprietà */
}

/* 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 */
	
}

.opere-correlate {
    background-color: #fcfcfc;
    padding: 15px;
    border-radius: 5px;
}
.opere-correlate ul {
    list-style: square;
    margin-left: 20px;
}
.opere-correlate a {
    font-weight: 600;
    color: #004a99;
}

/* Stile per il testo dell'opera */
.testo-opera {
    font-family: 'Georgia', 'Times New Roman', serif; /* Font con grazie, migliore per la lettura lunga */
    font-size: 1.15rem;
    line-height: 1.8; /* Spaziatura generosa tra le righe */
    max-width: 800px; /* Evita righe troppo lunghe, faticose da leggere */
    margin: 0 auto;
    color: #1a1a1a;
}

.opera-header { text-align: center; margin-bottom: 40px; }
.opera-header h1 { font-variant: small-caps; color: #800000; display: none;}

.navigazione-opera {
    margin-top: 60px;
    padding: 20px;
    background-color: #f9f9f9;
    border-radius: 8px;
}

.verso {
    display: block;
    margin-bottom: 0.2em;
    padding-left: 2em;
    text-indent: -2em; /* Per gestire l'andata a capo dei versi lunghi */
}

/* Forza il footer a stare sotto ogni elemento flottante */
footer, #footer { 
    clear: both !important; 
    display: block !important;
    position: relative !important;
    width: 100%;
}
/* Nota Redazione */
.nota-redazione {
    margin-top: 2rem;
    font-style: italic;
    color: #95a5a6;
}

/* Stile per la Scheda Mito Moderna */
.scheda-mito {
    background: #fff;
    border-left: 5px solid #8b0000; /* Un rosso antico tipico della biblioteca */
    padding: 15px;
    margin-bottom: 30px;
    box-shadow: 2px 2px 10px rgba(0,0,0,0.05);
}

.scheda-mito h5 {
    font-size: 1.4em;
    color: #8b0000;
    margin-top: 0;
    border-bottom: 1px solid #ddd;
    padding-bottom: 5px;
    text-transform: uppercase;
}

.info-rapide {
    list-style: none;
    padding: 0;
    margin: 10px 0;
    font-size: 0.95em;
}

.info-rapide li {
    margin-bottom: 5px;
}

.info-rapide b {
    color: #555;
    display: inline-block;
    width: 100px; /* Allinea i punti elenco */
}

.narrazione {
    line-height: 1.6;
    color: #333;
    font-style: italic;
}

/* Per le immagini flottanti dentro la scheda */
.scheda-mito .shad {
    float: right;
    margin: 0 0 10px 15px;
}
img {
  width: auto;
  max-width: auto; /* o la larghezza che preferisci */
  height: auto;     /* mantiene le proporzioni originali della tua foto */
  object-fit: contain;
}