/* =========================================
 LEDIJOURNALS - VERSIONE FINALE
 Layout stabile + homepage ordinata
 ========================================= */

/* BASE */
body {
 background: #f5f1e8!important;
 color: #2f2f2f!important;
 font-family: Georgia, "Times New Roman", serif;
 font-size: 15px;
 line-height: 1.72;
 margin: 0;
}

a {
 color: #9b1c2c;
 text-decoration: none;
}

a:hover {
 color: #6f1420;
 text-decoration: underline;
}

/* =========================================
 HEADER
 ========================================= */

.pkp_structure_head,
.pkp_site_name_wrapper,
.pkp_navigation_primary_wrapper {
 background: #c5161d!important;
 border-bottom: none!important;
}

.pkp_site_name,
.pkp_site_name a,
.pkp_navigation_primary > li > a,
.pkp_navigation_user > li > a {
 color: #ffffff!important;
}

.pkp_navigation_primary > li > a,
.pkp_navigation_user > li > a {
 font-family: Arial, Helvetica, sans-serif;
 font-size: 13px;
 letter-spacing: 0.02em;
}

.pkp_site_name a:hover,
.pkp_navigation_primary > li > a:hover,
.pkp_navigation_user > li > a:hover {
 color: #ffe3e6!important;
 text-decoration: none;
}

/* =========================================
 RESET GENERALE OJS
 ========================================= */

.pkp_structure_content,
.pkp_structure_main,
.pkp_structure_sidebar,
.page_index_site,
.page_index_journal,
.current_issue,
.homepage_about,
.journals,
.journals > ul,
.journals > ul > li {
 float: none!important;
 clear: none!important;
 min-width: 0!important;
 max-width: none!important;
 box-sizing: border-box!important;
}

/* elimina clearfix legacy che spesso interferiscono */
.pkp_structure_content::before,
.pkp_structure_content::after,
.pkp_structure_main::before,
.pkp_structure_main::after,
.pkp_structure_sidebar::before,
.pkp_structure_sidebar::after,
.journals::before,
.journals::after,
.journals > ul::before,
.journals > ul::after {
 content: none!important;
 display: none!important;
}

/* =========================================
 CONTENITORE PRINCIPALE
 ========================================= */

.pkp_structure_content {
 display: grid!important;
 grid-template-columns: minmax(0, 1fr) 240px!important;
 gap: 36px!important;
 align-items: start!important;

 width: 100%!important;
 max-width: 1400px!important;
 margin: 0 auto!important;
 padding: 28px 28px 42px!important;
}

/* colonna principale */
.pkp_structure_main {
 width: 100%!important;
 max-width: 100%!important;
 min-width: 0!important;
 margin: 0!important;
}

/* sidebar */
.pkp_structure_sidebar {
 width: 240px!important;
 max-width: 240px!important;
 min-width: 0!important;
 margin: 0!important;
 font-family: Arial, Helvetica, sans-serif;
}

/* =========================================
 TITOLI E TESTI
 ========================================= */

.journals > h2 {
 color: #5b0f19!important;
 font-family: Arial, Helvetica, sans-serif;
 font-size: 22px;
 font-weight: 700;
 margin: 0 0 18px 0!important;
}

.journals h3,
.journals h4,
.pkp_structure_sidebar h2,
.pkp_structure_sidebar h3,
.pkp_structure_sidebar.title {
 color: #7d1521!important;
}

.journals p,
.journals li,
.journals.body,
.pkp_structure_sidebar p,
.pkp_structure_sidebar li {
 color: #2f2f2f!important;
 line-height: 1.72;
}

.journals.description {
 font-size: 15px;
}

/* =========================================
 GRIGLIA RIVISTE
 ========================================= */

.journals {
 width: 100%!important;
 margin: 0!important;
}

.journals > ul {
 display: grid!important;
 grid-template-columns: repeat(2, minmax(340px, 1fr))!important;
 gap: 28px!important;
 list-style: none!important;
 margin: 0!important;
 padding: 0!important;
 width: 100%!important;
 align-items: stretch!important;
}

/* BOX SINGOLO */
.journals > ul > li {
 display: grid!important;
 grid-template-rows: auto 1fr auto!important;
 width: 100%!important;
 min-width: 0!important;
 min-height: 360px!important;

 background: rgba(255, 255, 255, 0.82)!important;
 border: 1px solid #d9d1c6!important;
 border-radius: 4px!important;
 padding: 22px 22px 18px!important;
 margin: 0!important;
 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04)!important;
}

/* titolo rivista */
.journals > ul > li.title,
.journals > ul > li h3 {
 font-family: Arial, Helvetica, sans-serif;
 font-size: 18px;
 font-weight: 700;
 color: #8e1827!important;
 line-height: 1.3!important;
 margin: 0 0 12px 0!important;
}

/* corpo */
.journals > ul > li.body {
 margin: 0!important;
 padding: 0!important;
 background: transparent!important;
 border: 0!important;
 min-width: 0!important;
 overflow: visible!important;
}

/* testo descrizione:
 qui NON tronchiamo brutalmente per non rischiare di perdere i link */
.journals > ul > li.body p {
 margin-top: 0!important;
 margin-bottom: 0.9em!important;
 line-height: 1.7!important;
}

/* se vuoi limitare un po' i testi troppo lunghi, usa max-height leggero */
.journals > ul > li.body {
 max-height: 15.5em!important;
 overflow: hidden!important;
}

/* sfumatura leggera, ma non invasiva */
.journals > ul > li.body::after {
 content: ""!important;
 display: block!important;
 height: 24px;
 margin-top: -24px;
 background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,0.96))!important;
 pointer-events: none;
}

/* links finali sempre presenti */
.journals > ul > li.links {
 display: flex!important;
 flex-wrap: wrap!important;
 gap: 8px 14px!important;
 list-style: none!important;

 margin: 16px 0 0 0!important;
 padding: 12px 0 0 0!important;
 border-top: 1px solid #e2dbd1!important;

 position: relative!important;
 z-index: 2!important;
 background: transparent!important;
}

.journals > ul > li.links li {
 margin: 0!important;
 padding: 0!important;
}

.journals > ul > li.links a {
 color: #9b1c2c!important;
 font-weight: 700!important;
 font-size: 14px!important;
 white-space: nowrap!important;
}

/* immagini/loghi eventuali */
.journals img,
.journal_summary img {
 max-width: 100%!important;
 height: auto!important;
 display: block;
}

/* =========================================
 SIDEBAR
 ========================================= */

.pkp_structure_sidebar.pkp_block {
 background: rgba(255, 255, 255, 0.72)!important;
 border: 1px solid #ddd4c8!important;
 border-radius: 4px!important;
 padding: 16px 18px!important;
 margin-bottom: 18px!important;
 box-sizing: border-box!important;
}

.pkp_structure_sidebar.title,
.pkp_structure_sidebar h2,
.pkp_structure_sidebar h3 {
 font-size: 15px;
 font-weight: 700;
 margin-top: 0;
 margin-bottom: 10px;
}

.pkp_structure_sidebar ul {
 list-style: none!important;
 padding-left: 0!important;
 margin: 0!important;
}

.pkp_structure_sidebar li {
 margin-bottom: 8px;
}

.pkp_structure_sidebar a {
 color: #8e1827!important;
}

/* =========================================
 FOOTER
 ========================================= */

.pkp_structure_footer_wrapper,
.pkp_structure_footer {
 background: #727680!important;
 color: #ffffff!important;
 padding-top: 34px!important;
 padding-bottom: 34px!important;
}

.pkp_structure_footer_wrapper *,
.pkp_structure_footer * {
 color: #ffffff!important;
}

.pkp_structure_footer_wrapper a,
.pkp_structure_footer a {
 color: #ffffff!important;
 text-decoration: underline;
}

/* =========================================
 RESPONSIVE
 ========================================= */

@media (max-width: 1200px) {
.pkp_structure_content {
 grid-template-columns: minmax(0, 1fr) 220px!important;
 gap: 30px!important;
 max-width: 1280px!important;
 padding: 24px 22px 36px!important;
 }

.pkp_structure_sidebar {
 width: 220px!important;
 max-width: 220px!important;
 }

.journals > ul {
 grid-template-columns: repeat(2, minmax(280px, 1fr))!important;
 gap: 22px!important;
 }
}

@media (max-width: 900px) {
.pkp_structure_content {
 grid-template-columns: 1fr!important;
 }

.pkp_structure_sidebar {
 width: 100%!important;
 max-width: 100%!important;
 }

.journals > ul {
 grid-template-columns: 1fr!important;
 }

.journals > ul > li {
 min-height: 0!important;
 }

.journals > ul > li.body {
 max-height: none!important;
 overflow: visible!important;
 }

.journals > ul > li.body::after {
 display: none!important;
 }
}

@media (max-width: 640px) {
 body {
 font-size: 14px;
 }

.pkp_structure_content {
 padding: 18px 14px 28px!important;
 }

.journals > ul > li,
.pkp_structure_sidebar.pkp_block {
 padding: 16px!important;
 }

.journals > ul > li.title,
.journals > ul > li h3 {
 font-size: 17px!important;
 }
/* =========================================
 UNIFORMAZIONE FORTE BOX HOMEPAGE
 ========================================= */

.journals > ul {
 align-items: stretch!important;
}

.journals > ul > li {
 display: grid!important;
 grid-template-rows: auto 1fr auto!important;
 height: 390px!important;
 min-height: 390px!important;
 overflow: hidden!important;
}

/* titolo massimo 2 righe */
.journals > ul > li.title,
.journals > ul > li h3 {
 display: -webkit-box!important;
 -webkit-box-orient: vertical!important;
 -webkit-line-clamp: 2!important;
 overflow: hidden!important;
 line-height: 1.3!important;
 max-height: 2.6em!important;
 margin-bottom: 12px!important;
}

/* corpo bloccato */
.journals > ul > li.body {
 position: relative!important;
 overflow: hidden!important;
 max-height: 170px!important;
 min-height: 170px!important;
 padding: 0!important;
 margin: 0!important;
}

/* testo limitato */
.journals > ul > li.body p {
 display: -webkit-box!important;
 -webkit-box-orient: vertical!important;
 -webkit-line-clamp: 8!important;
 overflow: hidden!important;
 text-overflow: ellipsis!important;
 line-height: 1.65!important;
 max-height: 13.2em!important;
 margin-top: 0!important;
 margin-bottom: 0!important;
}

/* sfumatura finale */
.journals > ul > li.body::after {
 content: ""!important;
 position: absolute!important;
 left: 0;
 right: 0;
 bottom: 0;
 height: 26px!important;
 background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1))!important;
 pointer-events: none;
}

/* links sempre in basso */
.journals > ul > li.links {
 margin-top: 14px!important;
 padding-top: 12px!important;
 border-top: 1px solid #e2dbd1!important;
 align-self: end!important;
}