/* === OJS: justify most body text but exclude H1 and footer === */

/* Core: justify typical text containers */
p,
li,
dd,
dt,
blockquote,
figcaption,
td,
th,
address,
.summary,
.abstract,
.article-content,
.article-section,
.section,
#main,
.content,
.pkp_content,
div[class*="abstract"],
div[class*="article"],
aside,
article {
  text-align: justify;
  text-justify: inter-word;        /* better word spacing for many browsers */
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  unicode-bidi: embed;             /* preserves mixed-direction text handling */
}

/* Make sure H1 stays normal (not justified) */
h1 {
  text-align: left !important;
  unicode-bidi: isolate-override;
}

/* Ensure footer and anything inside it is not justified */
footer,
footer * {
  text-align: left !important;
  unicode-bidi: isolate-override;
}

/* Small: avoid forcing justification on small UI elements (buttons, labels, inputs) */
button,
input,
label,
select,
textarea,
nav,
h1, h2, h3, h4, h5, h6 {
  text-align: initial !important;
}
