/* 1. Colori principali verde scuro alpino */
:root {
  --cassiopeia-color-primary: #1b4d22;
  --cassiopeia-color-hover: #143a1a;
  --cassiopeia-color-link: #1b4d22;
}

/* 2. Rimuove la sottolineatura dal titolo del sito */
.brand-logo, .site-title a {
  text-decoration: none !important;
}

/* 3. Forza la manina del mouse su Curriculum ed evita l'evidenziazione blu */
.container-header span.separator, 
.container-header .mod-menu__separator,
.container-header .metismenu span,
.container-header .navbar-nav span.separator {
  cursor: pointer !important;
  user-select: none !important;
}

/* 4. Forza l'apertura immediata della tendina e gestisce l'allineamento laterale dei canti */
@media (min-width: 992px) {
  .container-header .navbar .mod-menu li:hover > ul,
  .container-header .navigation li:hover > ul,
  .container-header .navbar-nav li:hover > ul,
  .container-header .metismenu li:hover > ul {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    background-color: #1b4d22 !important;
    min-width: 15rem;
    padding: 0.5rem 0;
    margin: 0;
    list-style: none;
    z-index: 9999 !important;
  }
  
  .container-header .navbar-nav ul li {
    position: relative !important;
  }
  .container-header .navbar-nav ul ul,
  .container-header .navbar .mod-menu ul ul,
  .container-header .metismenu ul ul {
    position: absolute !important;
    left: 100% !important;        
    top: 0 !important;             
    margin-left: 2px !important; 
  }
  
  /* 5. Forza il testo dentro la tendina a essere bianco */
  .container-header .navbar .mod-menu li:hover > ul a,
  .container-header .metismenu li:hover > ul a,
  .container-header .navbar-nav li:hover > ul a,
  .container-header .navigation .dropdown-menu a {
    color: #ffffff !important;
    text-decoration: none !important;
  }

  /* 6. Sfondo voce singola al passaggio del mouse */
  .container-header .navbar .mod-menu li:hover > ul a:hover,
  .container-header .metismenu li:hover > ul a:hover,
  .container-header .navbar-nav li:hover > ul a:hover {
    background-color: #143a1a !important;
    color: #ffffff !important;
  }
}

/* 7. SPARIZIONE COMPLETA DEI TITOLI DELLE SLIDE (slide1, slide2, ecc.) */
.djslider .title, .djslider h1, .djslider h2, .djslider h3, .djslider h4,
.djslider-in .title, .djslider-in h1, .djslider-in h2, .djslider-in h3, .djslider-in h4,
.dj-title, .dj-slide-title, .dj-image-title, .slide-title, .caption-title {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 8. Descrizione delle slide grande e centrata */
.dj-desc, .carousel-caption p, .slide-desc, .caption-desc, .dj-slide-desc {
  font-size: 1.4rem !important;
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  color: #ffffff !important;
  font-weight: bold !important;
}

/* 9. Centra l'immagine del coro, la foto di Lucio in Home e i loghi */
.com_content:not(.itemid-121) .com-content-article__body img,
.brand-logo img,
img[src*="logo"] {
  display: block !important;
  margin: 0 auto 15px auto !important;
  float: none !important;
  clear: both !important;
}

/* 10. CENTRATURA STATICA SOLO PER I TITOLI DI PAGINA (Benvenuti, Storia del coro, ecc.) */
h1, h2, .page-header h1, .page-header h2, .item-page h1, .item-page h2, .com-content-article h1, .com-content-article h2 {
  text-align: center !important;
  text-decoration: none !important;
}
h1 a, h2 a, .page-header h1 a, .item-page h1 a {
  text-decoration: none !important;
}

/* 11. Footer */
footer, .footer, .container-footer, .footer-container, .container-footer .grid-child {
  background: #1b4d22 !important;
  color: #ffffff !important;
  text-align: center !important;
  padding: 6px 0 !important;
  margin-top: 25px !important;
  display: block !important;
  width: 100% !important;
}
footer p, .footer p, .container-footer p,
footer span, .footer span, .container-footer span,
footer div, .footer div, .container-footer div,
footer a, .footer a, .container-footer a {
  color: #ffffff !important;
  margin: 1px auto !important;
  text-align: center !important;
  display: block !important;
  width: 100% !important;
}
footer a, .footer a, .container-footer a {
  text-decoration: underline !important;
  font-weight: bold !important;
  display: inline-block !important;
}

/* 12. Barra verde in alto (Header) */
.header, .container-header, .container-header .grid-child, .navbar-brand {
  padding-top: 3px !important;
  padding-bottom: 3px !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
  float: none !important;
  width: 100% !important;
}
.brand-logo, .site-title, .brand-logo span {
  font-size: 1.6rem !important;
  color: #ffffff !important;
  display: block !important;
  text-align: center !important;
  margin: 0 auto !important;
}
.site-description {
  font-size: 0.9rem !important;
  color: #ffffff !important;
  display: block !important;
  text-align: center !important;
  margin: 1px auto 0 auto !important;
}

/* Menu di navigazione centrato */
.container-nav {
  margin-top: 4px !important;
  display: flex !important;
  justify-content: center !important;
}

/* 13. Impedisce allo slider di fermarsi quando ci passi sopra con il mouse */
.djslider, 
.djslider-loader, 
.slider-container, 
.djslider-in, 
.djslider-in li,
.djslider .slide-desc,
.djslider-in .slide-desc {
  pointer-events: none !important;
}

/* Riattiva i click sui link delle slide (se ci sono link cliccabili) */
.djslider-in a, 
.slide-desc a {
  pointer-events: auto !important;
}

/* 14. LAYOUT DEGLI ARTICOLI (TESTO A SINISTRA CON MARGINI DI IERI) */
.com-content-article__body {
  max-width: 900px !important; 
  margin-left: auto !important;
  margin-right: auto !important;
}
.com-content-article__body p, 
.com-content-article__body p span {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 16px !important;        
  line-height: 1.6 !important;        
  color: #2b2b2b !important;          
  text-align: left !important;
}
.com-content-article__body p {
  margin-bottom: 18px !important;
}

/* Immagini flottanti negli articoli */
.com-content-article__body img[style*="float: right"] {
  float: right !important;
  margin-left: 25px !important;      
  margin-bottom: 15px !important;    
  max-width: 220px !important;        
  height: auto !important;
}
.com-content-article__body img[style*="float: left"] {
  float: left !important;
  margin-right: 25px !important;      
  margin-bottom: 15px !important;    
  max-width: 220px !important;        
  height: auto !important;
}

/* Sblocca colore scritte bianche sottomenu */
.container-header .navbar-nav li ul span.separator,
.container-header .navbar-nav ul li:last-child *,
.container-header .mod-menu li:last-child * {
  color: #ffffff !important;
}

/* 15. Formattazione e bordi per le tabelle dei repertori */
.com-content-article__body table {
  width: 100% !important; 
  max-width: 900px;
  border-collapse: collapse !important;
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

/* Bordi più spessi e definiti per le celle */
.com-content-article__body table td {
  border: 2px solid #b0b0b0 !important;
  padding: 10px 12px !important;
  text-align: left !important;
  vertical-align: middle !important;
}

/* Stile per la prima riga dei titoli (Titolo, Parole, Musica...) */
.com-content-article__body table tbody tr:first-child {
  background-color: #f5f5f5 !important; 
}

/* 16. Ricostruisce la griglia dei coristi ALLARGATA e senza buchi vuoti */
.griglia-coristi {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 20px !important;
  max-width: 1000px !important;
  margin: 20px auto !important;
}

.scheda-corista {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 160px !important;
  text-align: center !important;
  margin: 0 !important;
}

/* Nasconde le schede rimaste vuote dopo la cancellazione dei coristi */
.scheda-corista:not(:has(img)) {
  display: none !important;
}

.scheda-corista img {
  width: 100% !important;
  max-width: 150px !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto 8px auto !important;
  float: none !important;
  clear: both !important;
}

.nome-corista {
  font-size: 14px !important;
  line-height: 1.3 !important;
  color: #2b2b2b !important;
  margin: 0 !important;
  text-align: center !important;
}

/* 17. Ripristina l'allineamento corretto della tabella Stampa */
table.category th, table.category td {
  display: table-cell !important;
}

/* Nasconde completamente la colonna reale dell'autore (sia titolo che celle) */
.list-author, th.list-author, td.com-content-category__author {
  display: none !important;
}

/* ==========================================================================
   18. GRIGLIA FOTO SU DUE COLONNE (STILE EXCEL CON BORDI)
   ========================================================================== */

.pg-categories-view .pg-categories-items-box {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  border-top: 2px solid #b0b0b0 !important;
  border-left: 2px solid #b0b0b0 !important;
}

.pg-categories-view .pg-category-box {
  flex: 0 0 50% !important;
  max-width: 50% !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  background: #ffffff !important;
  border-right: 2px solid #b0b0b0 !important;
  border-bottom: 2px solid #b0b0b0 !important;
  padding: 12px 15px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.pg-categories-view .pg-category-box-image {
  width: 140px !important;
  height: auto !important;
  margin-right: 20px !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  flex-shrink: 0 !important;
}

.pg-categories-view .pg-category-box-image img {
  width: 100% !important;
  height: auto !important;
  border-radius: 4px !important;
  border: 1px solid #d0d0d0 !important;
}

.pg-categories-view .pg-category-box-info {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  flex-grow: 1 !important;
}

.pg-categories-view .pg-category-box-title {
  position: relative !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
  height: auto !important;
  width: auto !important;
  text-align: left !important;
}

.pg-categories-view .pg-category-box-title svg {
  display: none !important;
}

.pg-categories-view .pg-category-box-title a {
  color: #d92323 !important;
  font-size: 16px !important;
  font-weight: bold !important;
  text-decoration: none !important;
  display: inline !important;
}

.pg-categories-view .pg-category-box-count {
  font-size: 14px !important;
  color: #666666 !important;
  font-weight: normal !important;
  position: relative !important;
  background: none !important;
  padding: 0 !important;
  margin-left: 5px !important;
  display: inline-block !important;
}

@media (max-width: 768px) {
  .pg-categories-view .pg-categories-items-box {
    border-left: none !important;
  }
  .pg-categories-view .pg-category-box {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    border-left: 2px solid #b0b0b0 !important;
  }
}

/* ==========================================================================
   19. EVIDENZIAZIONE VOCE DI MENU ATTIVA (PAGINA CORRENTE)
   ========================================================================== */

.container-header .navbar-nav li.current > a,
.container-header .metismenu li.current > a,
.container-header .mod-menu li.current > a,
.container-header .navbar-nav li.active > a,
.container-header .metismenu li.active > a,
.container-header .mod-menu li.active > a,
.container-header .navbar-nav li.active > button,
.container-header .metismenu li.active > button,
.container-header .mod-menu li.active > button {
  color: #ffcc00 !important;
  font-weight: bold !important;
}

/* ==========================================================================
   20. RIDIMENSIONE FOTO SCHEDE CONTATTI (CONSIGLIO DIRETTIVO / COMPONENTI)
   ========================================================================== */

.com-contact__container .com-contact__thumbnail img {
  max-width: 180px !important;
  height: auto !important;
  border-radius: 4px !important;
  border: 1px solid #d0d0d0 !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
  margin-bottom: 15px !important;
}

/* ==========================================================================
   21. BORDI CAMPI MODULO DI CONTATTO PIÙ EVIDENTI
   ========================================================================== */

.contact-form input.form-control,
.contact-form textarea.form-control,
.contact-form .form-control {
  border: 2px solid #555555 !important;
  background-color: #fcfcfc !important;
  color: #000000 !important;
  border-radius: 4px !important;
  display: block !important;
  opacity: 1 !important;
}

.contact-form .form-control:focus {
  border-color: #d92323 !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 4px rgba(217, 35, 35, 0.2) !important;
}

/* ==========================================================================
   22. RESTYLING JEVENTS A 6 COLONNE + BORDI SCURI DEFINITI
   ========================================================================== */

/* 1. Struttura tabella fissa e bordi marcati esterni/interni */
#jevents table,
.jevbootstrap table,
.jev_content table,
table.jevlist_table {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    border: 2px solid #555555 !important;
}

/* 2. Sfondo verde scuro, testo bianco e bordi marcati per le 6 intestazioni */
#jevents table th,
.jevbootstrap table th,
.jev_content table th,
table.jevlist_table th {
    background-color: #1b4d22 !important;
    color: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: bold !important;
    font-size: 14px !important;
    padding: 10px 8px !important;
    text-align: left !important;
    border: 2px solid #555555 !important;
    box-sizing: border-box !important;
}

#jevents table th *,
.jevbootstrap table th * {
    color: #ffffff !important;
}

/* 3. Bordi marcatamente visibili per tutte le celle del corpo */
#jevents table td,
.jevbootstrap table td,
.jev_content table td,
table.jevlist_table td {
    vertical-align: middle !important;
    padding: 10px 8px !important;
    border: 2px solid #555555 !important;
    box-sizing: border-box !important;
}

/* --- LARGHEZZE FISSE DELLE COLONNE --- */

/* Colonna 1: Data (10%) */
#jevents table td:nth-child(1), #jevents table th:nth-child(1),
.jevbootstrap table td:nth-child(1), .jevbootstrap table th:nth-child(1) {
    width: 10% !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1b4d22 !important;
}

/* Colonna 2: Ora (5%) - In Grassetto */
#jevents table td:nth-child(2), #jevents table th:nth-child(2),
.jevbootstrap table td:nth-child(2), .jevbootstrap table th:nth-child(2) {
    width: 5% !important;
    font-size: 13px !important;
    text-align: center !important;
    font-weight: bold !important;
}

#jevents table td:nth-child(2) *,
.jevbootstrap table td:nth-child(2) * {
    font-weight: bold !important;
}

/* Colonna 3: TITOLO (18%) - Verde Alpino, 18px, Grassetto 900 */
#jevents table td:nth-child(3), #jevents table th:nth-child(3),
.jevbootstrap table td:nth-child(3), .jevbootstrap table th:nth-child(3) {
    width: 18% !important;
}

#jevents table td:nth-child(3),
#jevents table td:nth-child(3) a,
#jevents table td:nth-child(3) span,
.jevbootstrap table td:nth-child(3),
.jevbootstrap table td:nth-child(3) a,
.jevbootstrap table td:nth-child(3) span {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    color: #1b4d22 !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
}

/* Colonna 4: Luogo (10%) - In Grassetto */
#jevents table td:nth-child(4), #jevents table th:nth-child(4),
.jevbootstrap table td:nth-child(4), .jevbootstrap table th:nth-child(4) {
    width: 10% !important;
    font-size: 14px !important;
    font-weight: bold !important;
}

#jevents table td:nth-child(4) *,
.jevbootstrap table td:nth-child(4) * {
    font-weight: bold !important;
}
/* Colonna 5: Info Aggiuntive (10%) */
#jevents table td:nth-child(5), #jevents table th:nth-child(5),
.jevbootstrap table td:nth-child(5), .jevbootstrap table th:nth-child(5) {
    width: 10% !important;
    font-size: 14px !important;
}

/* Colonna 6: DESCRIZIONE LARGA (47%) */
#jevents table td:nth-child(6), #jevents table th:nth-child(6),
.jevbootstrap table td:nth-child(6), .jevbootstrap table th:nth-child(6) {
    width: 47% !important;
    font-size: 14px !important;
}

#jevents table td:nth-child(6) img,
.jevbootstrap table td:nth-child(6) img {
    max-width: 180px !important;
    height: auto !important;
    border-radius: 4px !important;
    border: 1px solid #d0d0d0 !important;
    display: inline-block !important;
}

/* Inietta forzatamente la scritta "Data" nel primo blocco dell'intestazione */
#jevents table th:nth-child(1)::before,
.jevbootstrap table th:nth-child(1)::before,
.jev_content table th:nth-child(1)::before {
    content: "Data" !important;
    color: #ffffff !important;
    font-weight: bold !important;
    font-size: 14px !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

/* Rimuove la seconda scritta "Calendario eventi" creata da JEvents */
#jevents h2, 
.jevbootstrap h2,
#jevents .contentheading,
.jev_content h2 {
    display: none !important;
}
