/* Base */
body {
    margin: 0 !important;
    /* Usiamo min-height con dvh per gestire correttamente le barre mobili */
    min-height: 100dvh !important;
    width: 100% !important;
    background-image: url('../img/background.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed !important;
    background-color: #212529;
    font-family: 'Bodoni MT', serif;
    font-style: normal;
    color: #04221a;
    
    /* Padding di sicurezza per evitare che il box tocchi i bordi estremi dello schermo */
    padding: 20px 10px;
    box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  height: 100%;
}

.cover-container {
    position: relative;
    max-width: 960px;
    width: 100%;  
    margin: auto;   
    box-sizing: border-box;
    /* Rimuoviamo la centratura forzata in altezza se il testo è lungo, 
       favorendo un flusso naturale di scorrimento dall'alto */
    height: auto !important; 
	-webkit-box-shadow: 5px 5px 15px 12px rgba(0,0,0,0.21); 
box-shadow: 5px 5px 15px 12px rgba(0,0,0,0.21);
}


ul.icon-list {
  list-style: none;
  padding: 0;
}

ul.icon-list li {
  position: relative;
  padding-left: 24px;
}

ul.icon-list li::before {
  content: "\29BF"; /* Puoi usare un carattere unicode o una freccia */
  position: absolute;
  left: 0;
  color: #fff;
}


@media (min-width: 768px) {
    .p-md-5 {
        padding: 2.5rem 3.5rem !important;
    }
}

@media (min-width: 768px) {
 .justify-content-md-start {
        justify-content: flex-start !important;
      
    }	
	
   /*    .justify-content-md-start {
        justify-content: flex-end !important;
    }*/


}

.card {
    --bs-card-spacer-y: 0rem;
    --bs-card-spacer-x: 1rem;
    --bs-card-title-spacer-y: 0.5rem;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: transparent;
    background-clip: border-box;
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
    border-radius: var(--bs-card-border-radius);
}

.card-text {
    color: #F0F0F0;
    font-size: 13px;
    line-height: 17px;
    text-align: justify;
}

/* Rende i link del menu eleganti sul nero */
.nav-masthead .nav-link {
    color: rgba(255, 255, 255, 0.5);
    border-bottom: 2px solid transparent;
}
.nav-masthead .nav-link:hover,
.nav-masthead .nav-link:focus {
 /* border-bottom-color: rgba(255, 255, 255, .25);*/
  color: #fff;
}


.nav-link span {
  border-right: .1rem solid #ffbf66;
  padding-right: 2rem;
}

.nav-masthead .active {
    color: #fff !important;
  /*  border-bottom-color: #f3aa69;*/
}

.container {
    width: 100%;
    background-color: transparent;
}

.hr {
    width: 15%;
    border: 1px solid #f3aa69;    
    opacity: 1;
    margin: 0.5rem 0 1rem 0;
}

.hr2 {
    width: 45%;
    border: 1px solid #f3aa69;    
    opacity: 1;
}

.hr3 {
    opacity: 1;
    border-color: #FFD700 !important;
}

.colonna-testo {
    width: 100%; 
}

.titleint {
    font-family: 'Bodoni MT', serif;
    font-size: 16px;
    display: block;
    text-align: left;
    color: #ffbf66;
    width: 100%;
    margin-bottom: 0.3rem;
}

.titlesez {
    font-family: 'Bodoni MT', serif;
    color: #FFD700;
}

.subtitle {
    position: relative;
    width: 100%;
    font-family: 'Bodoni MT', serif;
    font-size: 32px;
    line-height: 36px;
    text-align: left;
    color: white;
    margin-bottom: 0.5rem;
}

@media (min-width: 768px) {
  .subtitle {
    font-size: 50px;
    line-height: 44px;
  }
}

.leadhome {
    position: relative;
    font-family: 'Bodoni MT', serif;
    font-size: 16px;
    display: block;
    width: 100%;
    text-align: left;
    color: #cba07e;
}

@media (min-width: 768px) {
  .leadhome {
    font-size: 24px;
  }
}

.border-secondary {
    --bs-border-opacity: 0.5;
    border-color: #333 !important;
}

.boxtesto {
    position: relative;
    font-size: 14px;
    display: block;
    width: 100%;
    padding-top: 15px;
    text-align: left;
    color: #F0F0F0; /*bab1b1;*/
    line-height: 1.9;
    letter-spacing: 0.3px;
}

a.linkname:link,
a.linkname:hover,
a.linkname:visited {
    color: #f3aa69;    
    text-decoration: none;
}

a.txtlink:link,
a.txtlink:visited {
    color: #f3aa69;    
    text-decoration: none;
    word-break: break-all;
}
a.txtlink:hover {
    color: #fff;    
    text-decoration: underline;
}

.txtbold {
    color: #f3aa69;    
    font-weight: bold;
}

.titlebold {
    color: #e3c84a;    
    font-size: 20px;
}

.txtwhite {
    color: #e0e0e0;    
}

.txtred {
    color: #ff0000;    
}

.txtcolor {
    color: #c97d3e;    
}

/* Gestione Social Icon nel Footer */
ul#social {
    list-style: none; 
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

ul#social li {
    display: inline-block; 
}

ul#social li img {
    width: 28px;
    height: auto;
    opacity: 0.5;
    transition: opacity 0.2s ease;
}

ul#social li img:hover {
    opacity: 1;
}

.btngreen {
    font-family: 'Bodoni MT', sans-serif;
    width: auto;
    position: relative;
    display: inline-block;
    outline: none;
    color: #000;
    background-color: #f3aa69;
    text-decoration: none;
    letter-spacing: 1px;
    font-weight: bold;
    text-shadow: 0 0 1px rgba(255,255,255,0.3);
    font-size: 12px;
    border-radius: 10px;
    padding: 8px 24px;
}

.btngreen:hover {
 background-color: #c97d3e; /* Il tuo colore oro/ocra di sfondo */
    color: #0b0b0b;           /* Testo nero/scuro per contrasto perfetto */
    border-color: #c97d3e;     /* Il bordo si uniforma allo sfondo */
}



/*///////////////////////*/

/* --- CORREZIONI MOBILE --- */

@media (max-width: 767.98px) {
  /* Riduce leggermente i margini generali della pagina su smartphone */
  body {
    padding: 10px 5px !important;
  }
  


  /* Ottimizza la dimensione dell'immagine principale nell'header */
  .header-img {
    max-width: 260px !important; /* Più piccola e proporzionata su schermi piccoli */
    margin: 0 auto;
  }

  /* Sistema il menu eliminando i bordi verticali che rompono la linea su mobile */
  .nav-masthead {
    justify-content: center !important;
    gap: 15px;
  }

  .nav-link span {
    border-right: none !important;
    padding-right: 0 !important;
  }

  /* Centra i testi e gli elementi delle card dei libri su mobile */
  .card {
    text-align: center !important;
	align-items:center;
  }
  
  .card-body {
    align-items: center !important;
    padding-top: 0.8em;
  }
  
  .card-text {
    text-align: center !important;
  }
  
  .btngreen {
    font-family: 'Bodoni MT', sans-serif;
    width: auto;
    position: relative;
    display: inline-block;
    outline: none;
    color: #000;
    background-color: #f3aa69;
    text-decoration: none;
    letter-spacing: 1px;
    font-weight: bold;
    text-shadow: 0 0 1px rgba(255,255,255,0.3);
    font-size: 12px;
    border-radius: 10px;
    padding: 8px 24px;
	margin-top:10px;
	}
}


/* --- PERSONALIZZAZIONE DIMENSIONE FOTO HEADER --- */

.img-header-custom {
  max-width: 390px !important; /* 280 Dimensione ridotta per desktop (prima era 390px) */
  height: auto;
  object-fit: cover;
}

/* Regole specifiche per Smartphone */
@media (max-width: 767.98px) {
  .img-header-custom {
    max-width: 200px !important; /* Su mobile diventa ancora più piccola e graziosa, rimanendo a destra se c'è spazio o centrata se va a capo */
    margin: 0 auto;
  }
}