/* generali var(--colore-sisr) */

:root {
    --colore-nero: #424753;
    --colore-nerochiaro: #212529;
    --colore-footer: #414e5e;
    --colore-bianco: #fff;
    --colore-grigio: #808080;
    --colore-grigiochiaro: #ededed;
    --colore-sfondosisr: #ebe7d9;
    --colore-sisr: #ab7f65;
    --colore-arancio: #ff5f00;
    --colore-blu: #004793;
    --colore-ciano: #2196f3;
    --colore-giallo: #ffca00;
    --border-radius: 8px;
    --ja-mf-border: #dbdbdb;
    --box-shadow: 0 4px 6px #0000001a;
}


joomla-alert {
    --jui-alert-min-width: 250px;
    --jui-alert-padding: .5rem 1.25rem;
    --jui-alert-margin: 0 0 1rem 0;
    --jui-alert-border: 1px solid transparent;
    --jui-alert-border-radius: .25rem;
    --jui-alert-animation-duration: .5s;
    --jui-alert-animation-timing-function: ease-in-out;
    --jui-alert-button-color-dark: #000;
    --jui-alert-button-color-light: #fff;
    --jui-alert-success-color: var(--colore-blu);
    --jui-alert-success-background-color: var(--colore-bianco);
    --jui-alert-success-border-color: var(--colore-blu);
    --jui-alert-success-link-color: var(--colore-blu);
    --jui-alert-info-color: #0c5460;
    --jui-alert-info-background-color: #d1ecf1;
    --jui-alert-info-border-color: #bee5eb;
    --jui-alert-info-link-color: #062c33;
    --jui-alert-warning-color: #7d5a29;
    --jui-alert-warning-background-color: #fcefdc;
    --jui-alert-warning-border-color: #fbe8cd;
    --jui-alert-warning-link-color: #573e1c;
    --jui-alert-danger-color: #712b29;
    --jui-alert-danger-background-color: #f7dddc;
    --jui-alert-danger-border-color: #f4cfce;
    --jui-alert-danger-link-color: #4c1d1b;
 }   
    

#g-navigation {
    border-bottom: solid 1px var(--colore-grigiochiaro);
        box-shadow: rgba(0, 0, 0, 0.45) 0px 15px 20px -20px;
        min-height: 70px;
}

.jl-navbar-item.jl-logo {
 background-color: var(--colore-bianco);
       box-shadow: rgba(0, 0, 0, 0.45) 0px 15px 20px -20px;
    padding: 0 10px 15px 10px;
        border-radius: 0 0 100% 100%;

}

.jl-navbar-nav  {
        font-family: "Playfair Display";
}

/*
.jl-navbar-nav li {
    border: 1px solid var(--colore-ciano);
    padding: 0.5rem 2rem;
    margin: 0.5rem 0.25rem;
    background-color: var(--colore-bianco);
}

.jl-navbar-nav li:hover {
    border: 1px solid var(--colore-bianco);
    color: var(--colore-bianco);
    padding: 0.5rem 2rem;
    background-color: var(--colore-sisr);
}
*/

.jl-navbar-center:not(:only-child) {
    top: 20%;
}

.jl-navbar-nav li {
  position: relative;
  display: inline-block;
  padding: 0.5rem 1.5rem;
  color: var(--colore-blu);
  text-decoration: none;
  border: 1px solid var(--colore-ciano);
  background-color: var(--colore-bianco);
      padding: 1rem 2rem;
    height: auto;
  overflow: hidden;
  transition: color 0.35s, background-size 0.35s, border-color 0.35s;
  background-image: linear-gradient(to right, var(--colore-sisr) 0%, var(--colore-sisr) 100%);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 0% 100%;
    border-radius: 5px;
              box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;  
}

.jl-navbar-nav li:hover {
  border-color: var(--colore-bianco);
  background-size: 100% 100%;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
}

.jl-navbar-nav li:hover a {
  color: var(--colore-bianco) !important;
}


.jl-navbar-nav .jl-active  {
      background-color: var(--colore-blu);
      color: var(--colore-bianco);
    box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
}

.jl-navbar-nav .jl-active a {
      color: var(--colore-bianco) !important;
}

.jl-navbar-nav > li > a {
    line-height: 1;
    min-height: auto;
}

.jl-navbar-toggle-icon {
    scale: 2;
}


#jamegafilter-search-btn {
    width: calc(100% - 20px);
    margin-left: 10px;
}

.ja-filter-wrapper .filter-content {
    background-color: var(--colore-grigiochiaro);
    padding: 20px;
    border-left: solid 1px var(--colore-ciano);
    border-radius: 0 20px 20px 0;
}

._access-icon {
    border-radius: 0 100% 100% 0;
}


.edit.item-page .btn-toolbar .btn, 
.pager.pagenav a, 
p.readmore .btn, 
.contact .form-actions .btn, 
#contact-form .controls .btn-primary.validate, 
.profile .btn, 
.login .btn, 
.logout .btn, 
.registration .btn, 
.profile-edit .btn, 
.remind .btn, 
.reset .btn, 
.search #searchForm .btn, 
.search #search-form .btn, 
.finder #searchForm .btn, 
.finder #search-form .btn {
  position: relative;
  display: inline-block;
  border: 1px solid var(--colore-ciano);
  border-radius: 0.25rem;
  color: var(--colore-blu);
  padding: 0.5rem 2rem;
  margin: 1rem 0.5rem;
  background-color: var(--colore-bianco); /* base bianco */
  overflow: hidden;
  transition: color 0.35s, border-color 0.35s, background-size 0.35s;
  background-image: linear-gradient(to right, var(--colore-sisr) 0%, var(--colore-sisr) 100%);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 0% 100%;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
}

.edit.item-page .btn-toolbar .btn:hover,
.pager.pagenav a:hover,
p.readmore .btn:hover,
.contact .form-actions .btn:hover,
#contact-form .controls .btn-primary.validate:hover,
.profile .btn:hover,
.login .btn:hover,
.logout .btn:hover,
.registration .btn:hover,
.profile-edit .btn:hover,
.remind .btn:hover,
.reset .btn:hover,
.search #searchForm .btn:hover,
.search #search-form .btn:hover,
.finder #searchForm .btn:hover,
.finder #search-form .btn:hover {
  color: var(--colore-bianco);
  border-color: var(--colore-bianco);
  background-size: 100% 100%;
  box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}



.btn-default, .btn-primary {
  position: relative;
  display: inline-block;
  border: 1px solid var(--colore-ciano);
  color: var(--colore-blu);
  padding: 0.5rem 2rem;
  margin: 1rem 0.5rem;
  background-color: var(--colore-bianco);
  overflow: hidden;
  transition: color 0.35s, border-color 0.35s, background-size 0.35s;
  background-image: linear-gradient(to right, var(--colore-sisr) 0%, var(--colore-sisr) 100%);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 0% 100%;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
}

.btn-default:hover, .btn-primary:hover {
  color: var(--colore-bianco);
  border-color: var(--colore-bianco);
  background-size: 100% 100%;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}



#edocman-document-page .document-card .btn-primary,
#edocman-document-page-blog .btn-primary,
#edocman-document-page .document-card .btn-secondary,
#edocman-document-page-blog .btn-secondary,
#edocman-document-page .document-card .btn-bookmark,
#edocman-document-page-blog .btn-bookmark {
     position: relative;
  display: inline-block;
    background-color: var(--colore-bianco);
    color: var(--colore-blu) !important;
    border: 1px solid var(--colore-ciano);
    padding: 0.5rem 2rem;
    border-radius: 0.25rem !important;
  margin: 1rem 0.5rem;
  overflow: hidden;
  transition: color 0.35s, border-color 0.35s, background-size 0.35s;
  background-image: linear-gradient(to right, var(--colore-sisr) 0%, var(--colore-sisr) 100%);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 0% 100%;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
}

#edocman-document-page .document-card .btn-primary:hover,
#edocman-document-page-blog .btn-primary:hover,
#edocman-document-page .document-card .btn-secondary:hover,
#edocman-document-page-blog .btn-secondary:hover,
#edocman-document-page .document-card .btn-bookmark:hover,
#edocman-document-page-blog .btn-bookmark:hover {
    border: 1px solid var(--colore-bianco);
    color: var(--colore-bianco);
    padding: 0.5rem 2rem;
  background-color: transparent;
      background-size: 100% 100%;
        box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}


.btn-primary {
    font-family: inherit;
    font-weight: 400 !important;
    font-size: 1rem !important;
    line-height: 1.15;
    letter-spacing: inherit;
    text-transform: inherit;
}

.cc-trigger.cc-trigger-icon.cc-trigger-right {
    right: 15px !important;
    scale: 0.85;
}

.chosen-container {
    font-size: inherit;
    width: fit-content !important;
}

.chosen-container-single .chosen-single {
    color: #444;
    white-space: nowrap;
    background: var(--colore-bianco);
    background: var(--colore-bianco);
    border: 1px solid var(--colore-ciano);
    border-radius: 0;
    height: 34px;
    padding: 4px 0 0 8px;
    line-height: 24px;
    text-decoration: none;
    display: block;
    position: relative;
    overflow: hidden;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.chosen-container-single .chosen-single div {
    top: 4px;
}

.products-toolbar .toolbar-sorter .sorter-action {
    margin-left: 50px;
}

.products-toolbar .toolbar-sorter .action {
    background-color: var(--colore-bianco);
    border: 1px solid var(--colore-ciano);
    color: var(--colore-blu);
    float: none;
    height: 34px;
    line-height: 30px;
    padding: 0;
    vertical-align: middle;
    text-align: center;
    width: 32px;
}

.toolbar-bottom {
    display: none;
}

.ja-products-wrapper .product-item .product-item-name {
    font-size: 160%;
    font-weight: 500;
    margin: 0;
    line-height: 1.3;
}

.ja-filter-wrapper ol.items .clear-filter.remove:hover:after {
    color: var(--colore-blu);
}

.product-item-details {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.product-item-details .item-field:not(.name) {
    display: grid;
    grid-template-columns: 70px 1fr;
    align-items: baseline;
    gap: 0.5rem;
    font-weight: bold;
    font-size: 1rem;
}

.product-item-details .item-field-label {
    font-weight: normal;
    font-size: 0.8rem;
    color: var(--colore-grigioscuro);
}

.product-item-info {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
}

.product-item-actions {
    margin-top: auto;
    text-align: center;
    padding-top: 1rem; /* spazio dal contenuto sopra */
}

.product-item-actions .btn {
    display: inline-block;
}

.products-toolbar .toolbar-sorter .sorter-label {
    text-transform: uppercase;
    font-size: 14px;
}

.products-toolbar .pagination-wrap {
    text-transform: uppercase;
    font-size: 14px;
    border-bottom: solid 1px var(--colore-ciano);
}

/* scheda catalogo */

#g-mainbar .contenitore-libro {
    background-color: var(--colore-bianco);
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
    overflow: hidden;
    margin-bottom: 20px;
    padding: 15px;
}

.page-header h1 {
    color: var(--colore-blu);
}

.com-content-article__body {
    margin-bottom: 2rem;
}

.campo-keywords, .campo-autore, .campo-anno, .campo-riferimenti-pagine, .campo-luogo-editore, .campo-lingua, .campo-note, .campo-editore, .campo-rivista, .campo-riferimenti-editore, .campo-riferimenti-rivista {
        border-bottom: solid 1px var(--colore-grigiochiaro);
}


.campo-keywords, .campo-autore, .campo-anno, .campo-riferimenti-pagine, .campo-luogo-editore, .campo-lingua, .campo-note, .campo-editore, .campo-rivista, .campo-riferimenti-editore, .campo-riferimenti-rivista {
  display: grid;
  grid-template-columns: 2fr 6fr;
  gap: 0.5rem; /* spazio fra colonne, facoltativo */
}

.campo-disponibilita, .campo-biblioteca  {
        border-bottom: solid 1px var(--colore-grigio);
}

.blocco-superiore {
    gap: 4px; /* Spazio tra le righe */
    max-width: 500px; /* opzionale, per contenere */
    margin-bottom: 2rem;
    border-left: solid 1px var(--colore-blu);
    padding-left: 20px;
}


.etichetta {
    min-width: 80px; /* Larghezza fissa per allineare */
    color: var(--colore-blu);
    padding-top: 0.2rem;
    font-size: 0.8rem;
}

.blocco-download .etichetta {
    display: block;
}

.blocco-download .size-60 {
   padding-left: 30px;
}

.campo-riferimenti-pagine .etichetta,
.campo-luogo-editore .etichetta {
    min-width: 200px;
}

.valore {
    font-weight: bold;
    flex: 1; /* Occupa tutto lo spazio rimanente */
}

.blocco-editore .size-50 {
    margin-bottom: 2rem;
    padding-left: 20px;
}

.blocco-inferiore {
    margin-bottom: 2rem;
    padding-left: 20px;
}

/* Per i contenitori interni alle colonne */
.g-block.size-50 > div,
.blocco-inferiore > div {
    display: flex;
    flex-direction: row;
    margin-bottom: 4px; /* Spazio tra le righe */
}

.campo-lingua,
.campo-disponibilita {

}

.campo-lingua .etichetta {
    min-width: 80px;
}

.valore-lingua,
.valore-disponibilita {
    display: flex;
    flex-direction: column; /* valori uno sotto l’altro */
    gap: 2px; /* spaziatura verticale tra le lingue */
    flex: 1;
}

/* .campo-editore:has(.etichetta:not(:empty)):has(.valore:not(:empty)),
.campo-rivista:has(.etichetta:not(:empty)):has(.valore:not(:empty)) {
    border-bottom: solid 1px var(--colore-grigio);
} */

.campo-lingua,
.campo-note,
.campo-riferimenti-pagine {
    margin-top: 2rem;
}

.blocco-download {
    padding: 20px;
    border: solid 1px var(--colore-grigio);
    border-radius: 0.25rem;
    background: var(--colore-sfondosisr);
}

/*
.blocco-download {
  display: none;
}

.blocco-download:has(.etichetta:not(:empty)) {
  display: block;
} */

/* anteprima pdf */
#edocman-document-page .document-card .document-title {
    display: none;
}

#edocman-document-page .document-card .document-description {
    display: none;
}

#edocman-document-page .document-card .document-content {
    grid-template-columns: 2fr 4fr;
}

/* footer */

#g-footer p {
    font-size: 1.1rem;
    margin: 0.5rem 0;
    line-height: 1.2;
}

#g-footer a {
    color: var(--colore-bianco);
    transition: all 0.2s;
}

#g-footer a:hover {
    color: var(--colore-sisr);
    transition: all 0.2s;
}

.footer-societa {
    padding-left: 130px;
}

.menu-legale {
    padding: 20px 0;
}

.menu-legale .g-menu-item-title {
    font-weight: 300;
    color: var(--colore-bianco);
    text-transform: uppercase;
    font-size: 0.9rem;
    margin: 0 1rem;
}

.menu-legale .g-menu-item-title:hover {
    color: var(--colore-sisr);
    transition: all 0.2s linear;
}

no.menu-legale li:not(:last-child)::after {
    content: "|";
}


/* classi respondive */


@media (max-width: 959px) {
.jl-navbar-center:not(:only-child) {
    top: 60px;
    left: 57.5%;
}
    }

@media (max-width: 769px) {
.jl-navbar-center:not(:only-child) {
    left: 50%;
}
    }

/* SISR: specifiche del sito istituzionale */
#lingue-barra {
    z-index: 990;
}

.jl-search:has(.awesomplete) .jl-search-icon {
    z-index: 1;
}

/* toggle a destra della navbar: centrato nella barra bianca (70px) invece che sull'altezza del logo */
.tm-header .jl-navbar-right {
    align-self: flex-start;
    height: 70px;
    position: relative;
    top: -22px;
}

/* tendine di 2° livello: 30px sotto la voce (default UIkit 0px) */
.tm-header .jl-navbar-dropdown {
    --jl-position-offset: 30px;
}

/* footer: mappa del sito generata dal menu principale (particle jlnav) */
.footer-sitemap .jl-nav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 1.5rem 2rem;
    padding: 1.5rem 0 1rem 130px;
}

.footer-sitemap .jl-nav > li > a {
    font-family: "Playfair Display";
    text-transform: uppercase;
    font-size: 1rem;
    padding: 0 0 0.5rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
    margin-bottom: 0.5rem;
}

/* i titoli di colonna sono separatori: niente clic, niente fisarmonica */
.footer-sitemap .jl-nav > li > a[href="#"] {
    pointer-events: none;
}

.footer-sitemap [jl-nav-parent-icon] {
    display: none;
}

.footer-sitemap .jl-nav-sub,
.footer-sitemap .jl-nav-sub[hidden] {
    display: block !important;
    height: auto !important;
    padding: 0 0 0 0.75rem;
}

.footer-sitemap .jl-nav-sub a {
    font-size: 0.9rem;
    padding: 0.15rem 0;
    color: rgba(255, 255, 255, 0.8);
}

@media (max-width: 959px) {
    .footer-sitemap .jl-nav {
        padding: 1.5rem 1rem 1rem 1rem;
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        gap: 1.5rem 1.25rem;
    }

    /* il rientro di 130px (allineamento al logo su desktop) su tablet/telefono toglie solo spazio */
    .footer-societa {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

/* menu laterale: sottovoci della sezione corrente (particle jlnav, livello 2+) */
.menu-sezione .jl-nav {
    border: 1px solid var(--colore-ciano);
    border-radius: 5px;
    background-color: var(--colore-bianco);
    padding: 1.25rem 1.5rem;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}

.menu-sezione .jl-nav > li > a {
    font-family: "Playfair Display";
    color: var(--colore-blu);
    padding: 0.4rem 0;
}

.menu-sezione .jl-nav-sub {
    padding: 0 0 0.25rem 0.75rem;
}

.menu-sezione .jl-nav-sub a {
    color: var(--colore-nero);
    font-size: 0.9rem;
    padding: 0.2rem 0;
}

.menu-sezione .jl-nav a:hover,
.menu-sezione .jl-nav li.jl-active > a {
    color: var(--colore-sisr) !important;
}

.menu-sezione .jl-nav li.jl-active > a {
    font-weight: 600;
}

.menu-sezione [jl-nav-parent-icon] {
    display: none;
}

.menu-sezione .jl-nav-sub[hidden] {
    display: block !important;
}

/* colonna laterale solo negli articoli: nelle altre viste (categorie, contatti, documenti...) il contenuto va a tutta larghezza */
body.gantry:not(.view-article) #g-container-main .g-block:has(> #g-sidebar) {
    display: none;
}

body.gantry:not(.view-article) #g-container-main .g-block:has(> #g-mainbar) {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
}

/* JL Content Grid (pagine di sezione): card con bordo leggero e immagini ritagliate a formato fisso */
[id^="module-jlcontentgrid-"] .el-item > .jl-card {
    border: 1px solid var(--ja-mf-border);
    border-radius: var(--border-radius);
    overflow: hidden;
}

[id^="module-jlcontentgrid-"] .jl-card-media-top .jl-inline-clip {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

[id^="module-jlcontentgrid-"] .jl-card-media-top .jl-inline-clip img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* JL Content Grid: data e categoria centrate nella card */
[id^="module-jlcontentgrid-"] .tm-meta {
    justify-content: center;
}

/* titolo della pagina di categoria */
.com-content-category-blog > h1 {
    color: #0071bc;
    padding: 1rem 0;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid var(--ja-mf-border);
}

/* JL Content Grid: pulsanti di paginazione con lo stesso stile di "Leggi tutto" (jl-button-default) */
.jl-pagination > li > .jl-pagination-btn {
    background-color: transparent !important;
    color: #353b41 !important;
    border: 1px solid #ced4da;
    border-radius: 0;
    height: 40px;
    padding: 0 20px;
    font-size: 0;
    cursor: pointer;
    transition: 0.1s ease-in-out;
    transition-property: color, background-color, border-color;
}

.jl-pagination > li > .jl-pagination-btn:hover,
.jl-pagination > li > .jl-pagination-btn:focus {
    background-color: #f9fafb !important;
    color: #353b41 !important;
    border-color: #94a1ae;
}

.jl-pagination > li > .jl-pagination-btn.jl-disabled {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
}

.jl-pagination {
    justify-content: center;
}

/* paginazione: solo << e >> (niente icona e niente testo, neutri rispetto alla lingua) */
.jl-pagination > li > .jl-pagination-btn > span {
    display: none;
}

.jl-pagination > li > .jl-pagination-btn::before {
    font-size: 18px;
    line-height: 1;
}

.jl-pagination > li:first-child > .jl-pagination-btn::before {
    content: "\00AB";
}

.jl-pagination > li:last-child > .jl-pagination-btn::before {
    content: "\00BB";
}

.jl-pagination > li.jl-margin-auto-left {
    margin-left: 0 !important;
}

/* news di sezione sotto gli articoli (carosello + elenco): solo nelle pagine articolo */
body.gantry:not(.view-article) .news-sezione {
    display: none;
}

/* solo il contenitore: Gantry ripete la classe del blocco anche sul wrapper di ogni modulo (.moduletable) */
.g-block.news-sezione {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--ja-mf-border);
}

.news-sezione .g-title,
.news-sezione h3.module-title {
    color: #0071bc;
}

/* elenco: niente card, solo titolo, data ed estratto separati da una linea */
.news-elenco .el-item > .jl-card {
    border: none !important;
    border-bottom: 1px solid var(--ja-mf-border) !important;
    border-radius: 0 !important;
    background: transparent;
    box-shadow: none !important;
}

.news-elenco .tm-meta {
    justify-content: flex-start !important;
}

/* slideshow home: contenuti dell'overlay (titolo, testo, bottone) allineati alla pagina, max 1200px */
#g-intro [jl-slideshow] .jl-overlay {
    padding-left: max(30px, calc((100% - 1200px) / 2));
    padding-right: max(30px, calc((100% - 1200px) / 2));
}

/* colonna miniature a destra: fondino per tutta l'altezza dello slideshow */
#g-intro [jl-slideshow] .jl-position-top-right {
    top: 0;
    bottom: 0;
    right: 0;
    margin: 0;
    padding: 15px;
    background: rgba(255, 255, 255, 0.9);
    overflow-y: auto;
    z-index: 1;
}

/* da 640px (quando la colonna e' visibile) il testo dell'overlay non ci finisce sotto */
@media (min-width: 640px) {
    #g-intro [jl-slideshow] .jl-overlay {
        padding-right: max(260px, calc((100% - 1200px) / 2));
    }
}

/* Dropfiles (elenchi documenti): pulsanti Download / Anteprima / Scarica tutto come "Leggi tutto", via il verde.
   Dropfiles inietta per ogni categoria: .dropfiles-content-default[data-category="N"] .file .downloadlink {background-color:#76bc58 !important}
   serve quindi un selettore piu' specifico, anch'esso !important */
body .dropfiles-content.dropfiles-content-default[data-category] .file .downloadlink,
body .dropfiles-content.dropfiles-content-default[data-category] .file .openlink,
body .dropfiles-content.dropfiles-content-default[data-category] .download-all,
body .dropfiles-content.dropfiles-content-default[data-category] .download-selected {
    background-color: transparent !important;
    background-image: none !important;
    color: #353b41 !important;
    border: 1px solid #ced4da !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transition: 0.1s ease-in-out;
    transition-property: color, background-color, border-color;
}

body .dropfiles-content.dropfiles-content-default[data-category] .file .downloadlink:hover,
body .dropfiles-content.dropfiles-content-default[data-category] .file .openlink:hover,
body .dropfiles-content.dropfiles-content-default[data-category] .download-all:hover,
body .dropfiles-content.dropfiles-content-default[data-category] .download-selected:hover {
    background-color: #f9fafb !important;
    color: #353b41 !important;
    border-color: #94a1ae !important;
}

body .dropfiles-content.dropfiles-content-default[data-category] .file .downloadlink i,
body .dropfiles-content.dropfiles-content-default[data-category] .file .openlink i {
    color: inherit !important;
}

/* Dropfiles, documento singolo negli articoli: via lo sfondo #444 del plugin, stile chiaro come gli altri pulsanti */
body .dropfiles-single-file .dropfiles-file-link,
body .dropfiles-single-file .dropfiles-file-link:hover {
    background-color: transparent !important;
    border: 1px solid #ced4da;
    border-radius: 0;
    transition: 0.1s ease-in-out;
    transition-property: background-color, border-color;
}

body .dropfiles-single-file .dropfiles-file-link:hover {
    background-color: #f9fafb !important;
    border-color: #94a1ae;
}

body .dropfiles-single-file .dropfiles-file-link,
body .dropfiles-single-file .dropfiles-file-link a,
body .dropfiles-single-file .dropfiles-file-link .droptitle,
body .dropfiles-single-file .dropfiles-file-link .dropinfos {
    color: #353b41 !important;
}

body .dropfiles-single-file .dropfiles-file-link a:hover,
body .dropfiles-single-file .dropfiles-file-link a:hover .droptitle,
body .dropfiles-single-file .dropfiles-file-link a .droptitle:hover {
    color: #0071bc !important;
}

/* Dropfiles Latest (Call for Papers in home): niente fondino alternato, riquadri con bordo e rollover sul titolo */
body .mod_dropfiles_latest div.mod_file:nth-of-type(odd),
body .mod_dropfiles_latest div.mod_file:nth-of-type(even) {
    background-color: transparent;
}

body .mod_dropfiles_latest div.mod_file {
    border: 1px solid var(--ja-mf-border);
    border-radius: var(--border-radius);
    padding: 0.75rem 1rem;
    margin-bottom: 0.75rem;
    transition: border-color 0.2s;
}

body .mod_dropfiles_latest div.mod_file:hover {
    border-color: #94a1ae;
}

body .mod_dropfiles_latest .mod_filecontent_head h3 > a {
    color: #0071bc;
    transition: color 0.2s;
}

body .mod_dropfiles_latest div.mod_file:hover .mod_filecontent_head h3 > a,
body .mod_dropfiles_latest .mod_filecontent_head h3 > a:hover {
    color: var(--colore-sisr);
}

/* ===== RESPONSIVE NAVIGAZIONE ===== */

/* desktop: il menu sta nella barra bianca (70px) con pulsanti ad altezza naturale,
   invece di essere stirato sull'altezza del logo (115px) */
.tm-header .jl-navbar-center:not(:only-child) {
    top: 16px;
    bottom: auto;
    height: 70px;
}

.tm-header .jl-navbar-nav {
    align-items: center;
}

.tm-header .jl-navbar-nav > li {
    height: auto;
}

/* il menu mobile e' quello della JL Navbar: via il toggle offcanvas di Gantry (doppio hamburger) */
.g-offcanvas-toggle {
    display: none !important;
}

/* tablet e telefono: logo piu' piccolo e bandiere dentro la barra, accanto all'hamburger */
@media (max-width: 959px) {
    .tm-header-mobile .jl-navbar-item.jl-logo {
        padding: 0 8px 8px 8px;
        min-height: 0;
    }

    .tm-header-mobile .jl-navbar-item.jl-logo img,
    .tm-header-mobile .jl-navbar-item.jl-logo svg {
        height: 56px !important;
        max-height: 56px !important;
        width: auto !important;
    }

    #g-navigation .g-grid {
        position: relative;
    }

    #g-navigation .g-content {
        margin: 0;
        padding: 0 10px;
    }

    /* tra 768 e 960 Gantry tiene affiancati navbar (85%) e lingue (15%): navbar a tutta larghezza,
       cosi' l'hamburger va all'estrema destra e le bandiere (assolute) gli stanno accanto */
    #g-navigation .g-block:not(#lingue-barra) {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }

    #lingue-barra {
        position: absolute;
        top: 0;
        right: 70px;
        width: auto;
        flex: none;
        height: 64px;
        display: flex;
        align-items: center;
    }

    #lingue-barra .g-content {
        margin: 0;
        padding: 0;
    }

    #lingue-barra .mod-languages ul {
        display: flex;
        flex-direction: row;
        gap: 0.25rem;
        margin: 0;
    }
}

/* telefono: nello slideshow solo titolo e bottone, l'estratto non ci sta nell'altezza della slide */
@media (max-width: 639px) {
    #g-intro [jl-slideshow] .jl-overlay .tm-content {
        display: none;
    }

    #g-intro [jl-slideshow] .jl-overlay .tm-title {
        font-size: 1.4rem;
    }
}

/* breadcrumbs: il wrapper Gantry si chiama come la posizione (.breadcrumb) e prende lo stile Bootstrap
   delle breadcrumb, quindi doppio riquadro grigio; via sfondi e icona, separatore | come nel vecchio sito */
.breadcrumb.moduletable,
.mod-breadcrumbs.breadcrumb {
    background: transparent !important;
    padding: 0 !important;
    margin: 0;
    border-radius: 0;
}

.breadcrumb.moduletable {
    padding-bottom: 0.5rem !important;
    border-bottom: 1px solid var(--ja-mf-border);
}

.mod-breadcrumbs__divider {
    display: none !important;
}

.mod-breadcrumbs {
    font-size: 0.85rem;
}

.mod-breadcrumbs .breadcrumb-item + .breadcrumb-item::before {
    content: "|";
    color: #94a1ae;
}

.mod-breadcrumbs .breadcrumb-item a {
    color: #0071bc;
}

.mod-breadcrumbs .breadcrumb-item a:hover {
    color: var(--colore-sisr);
}

.mod-breadcrumbs .breadcrumb-item.active {
    color: var(--colore-nero);
}

/* selettore lingue: stesse regole di media/mod_languages/css/template.min.css,
   che la pagina di errore non carica (le bandiere diventavano un elenco puntato) */
div.mod-languages ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

div.mod-languages li {
    margin: 0 0.5rem;
}

div.mod-languages ul.lang-inline li {
    display: inline-block;
}

div.mod-languages ul li.lang-active {
    background-color: #f0f0f0;
}

div.mod-languages img {
    border: none;
    display: inline-block;
}

div.mod-languages a {
    padding: 0.5rem;
    text-decoration: none;
}

/* pagina di errore (custom/twig/error.html.twig) */
.outline-_error .breadcrumb.moduletable {
    display: none;
}

.sisr-error {
    max-width: 720px;
    margin: 3rem auto 4rem auto;
    padding: 2.5rem 2rem;
    text-align: center;
    border: 1px solid var(--ja-mf-border);
    border-radius: var(--border-radius);
}

.sisr-error__code {
    font-family: "Playfair Display";
    font-size: 6rem;
    line-height: 1;
    color: var(--colore-sisr);
    margin-bottom: 1rem;
}

.sisr-error__title {
    color: #0071bc;
    margin: 0 0 1rem 0;
}

.sisr-error__text {
    color: var(--colore-nero);
    margin: 0 auto 2rem auto;
    max-width: 560px;
}

.sisr-error__actions .jl-button {
    margin: 0.25rem 0.5rem;
}

/* fisarmoniche native (ex tag {slider} di Regular Labs Sliders, non compatibile con J5) */
details.sisr-slider {
    border: 1px solid var(--ja-mf-border);
    border-radius: var(--border-radius);
    margin: 0 0 0.75rem 0;
    padding: 0 1rem;
}

details.sisr-slider > summary {
    cursor: pointer;
    padding: 0.75rem 0;
    color: #0071bc;
    list-style-position: outside;
}

details.sisr-slider > summary:hover {
    color: var(--colore-sisr);
}

details.sisr-slider[open] > summary {
    border-bottom: 1px solid var(--ja-mf-border);
    margin-bottom: 1rem;
}

details.sisr-slider::after {
    content: "";
    display: table;
    clear: both;
}

/* pagina Contattaci: il modulo ConvertForms sta nelle "informazioni varie" del contatto;
   via l'intestazione "Altre informazioni" e la sua icona */
h2:has(+ .com-contact__miscinfo),
.com-contact__miscinfo dt {
    display: none;
}

.com-contact__miscinfo dd {
    margin-left: 0;
}
