:root {
  --primal: #EF4136;
  --primal-dark: #C4261C;
  --primal-light: #F9D0CE;
  --primal-xlight: #FDF3F2;
  --ink: #1A1A1A;
  --ink-mid: #4A4A4A;
  --ink-muted: #7A7A7A;
  --rule: #E0E0E0;
  --paper: #FFFFFF;
  --paper-off: #F7F5F2;
  --font-display: 'Georgia', 'Times New Roman', serif;
  --font-body: 'Georgia', 'Times New Roman', serif;
  --font-ui: -apple-system, 'Helvetica Neue', Arial, sans-serif;
  --radius: 2px;
  --shadow-sm: 0 1px 4px rgba(0,0,0,.08);
  --shadow-md: 0 4px 16px rgba(0,0,0,.12);
  --transition: 0.2s ease;
}

/* NAVBAR */
body nav.navbar.navbar-custom,
body nav.navbar-custom {
  background-color: #1A1A1A !important;
  border-bottom: 3px solid #EF4136 !important;
}

body #journal-title a,
body nav.navbar-custom #journal-title a {
  color: #FFFFFF !important;
  font-family: 'Georgia', 'Times New Roman', serif;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
}

body #journal-title a:hover {
  color: #F9D0CE !important;
  text-decoration: none !important;
}

body nav.navbar-custom .navbar-nav .nav-link,
body nav.navbar-custom .navbar-nav li a {
  color: rgba(255,255,255,.85) !important;
  font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: .875rem !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

body nav.navbar-custom .navbar-nav .nav-link:hover,
body nav.navbar-custom .navbar-nav li a:hover {
  color: #EF4136 !important;
  background: transparent !important;
  text-decoration: none !important;
}

body nav.navbar-custom .navbar-nav .active .nav-link,
body nav.navbar-custom .navbar-nav .nav-link.active {
  color: #EF4136 !important;
  border-bottom: 2px solid #EF4136 !important;
}

body nav.navbar-custom .navbar-toggler {
  border-color: #EF4136 !important;
}

/* BODY & TYPOGRAPHY */
body {
  background: #FFFFFF !important;
  color: #1A1A1A !important;
  font-family: 'Georgia', 'Times New Roman', serif !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
}

body h1, body h2, body h3,
body h4, body h5, body h6 {
  font-family: 'Georgia', 'Times New Roman', serif !important;
  color: #1A1A1A !important;
  line-height: 1.25 !important;
  margin-top: 1.5em !important;
  margin-bottom: .5em !important;
}

body h1 { font-size: 2rem !important; }
body h2 { font-size: 1.5rem !important; border-bottom: 2px solid #EF4136 !important; padding-bottom: .25rem !important; }
body h3 { font-size: 1.2rem !important; }

body .article-title,
body h1.article-title,
body .page-title {
  color: #1A1A1A !important;
  border-left: 4px solid #EF4136 !important;
  padding-left: .75rem !important;
}

/* LINKS */
body a {
  color: #EF4136 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

body a:hover,
body a:focus {
  color: #C4261C !important;
  text-decoration: underline !important;
}

body a:visited {
  color: #A82C23 !important;
}

/* BUTTONS */
body .btn-primary,
body button[type="submit"],
body input[type="submit"],
body a.btn-primary {
  background-color: #EF4136 !important;
  border-color: #EF4136 !important;
  color: #fff !important;
  font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: .875rem !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  border-radius: 2px !important;
  padding: .55rem 1.25rem !important;
}

body .btn-primary:hover,
body button[type="submit"]:hover,
body input[type="submit"]:hover,
body a.btn-primary:hover {
  background-color: #C4261C !important;
  border-color: #C4261C !important;
  box-shadow: 0 2px 8px rgba(239,65,54,.35) !important;
}

body .btn-default,
body .btn-secondary,
body a.btn-default {
  background-color: transparent !important;
  border: 2px solid #EF4136 !important;
  color: #EF4136 !important;
  font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: .875rem !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  border-radius: 2px !important;
}

body .btn-default:hover,
body .btn-secondary:hover {
  background-color: #EF4136 !important;
  color: #fff !important;
}

body .btn-danger  { background-color: #B00020 !important; border-color: #B00020 !important; }
body .btn-success { background-color: #2E7D32 !important; border-color: #2E7D32 !important; }

/* ARTICLE LISTINGS */
body .article-summary,
body .article-block,
body .issue-article,
body .article-listing,
body article.summary {
  border-top: 3px solid transparent !important;
  padding: 1.25rem 0 !important;
  border-bottom: 1px solid #E0E0E0 !important;
  transition: border-color 0.2s ease !important;
}

body .article-summary:hover,
body .article-block:hover,
body article.summary:hover {
  border-top-color: #EF4136 !important;
}

body .article-summary h3 a,
body .article-block h2 a,
body .issue-article h3 a {
  color: #1A1A1A !important;
}

body .article-summary h3 a:hover,
body .article-block h2 a:hover {
  color: #EF4136 !important;
  text-decoration: none !important;
}

body .authors,
body .article-authors,
body .author-list {
  font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: .85rem !important;
  color: #4A4A4A !important;
  font-style: italic !important;
}

body .article-meta,
body .doi,
body .pub-date {
  font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: .8rem !important;
  color: #7A7A7A !important;
}

body .open-access-label,
body .article-type-label,
body .label-open-access {
  background: #EF4136 !important;
  color: #fff !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  padding: .2rem .5rem !important;
  border-radius: 2px !important;
}

/* ISSUE COVERS */
body .issue-thumb,
body .cover-image,
body .issue-cover img {
  border: 2px solid #E0E0E0 !important;
  border-radius: 2px !important;
  transition: box-shadow 0.2s ease !important;
}

body .issue-thumb:hover,
body .cover-image:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,.12) !important;
  border-color: #EF4136 !important;
}

body .issue-title,
body .volume-header h2 {
  border-left: 4px solid #EF4136 !important;
  padding-left: .6rem !important;
  font-family: 'Georgia', 'Times New Roman', serif !important;
}

/* ARTICLE PAGE */
body .article-body,
body #articleBody,
body .main-article-text {
  font-size: 1.05rem !important;
  line-height: 1.8 !important;
  max-width: 72ch !important;
}

body .footnote,
body .endnote,
body .fn {
  font-size: .85rem !important;
  color: #4A4A4A !important;
  border-top: 1px solid #E0E0E0 !important;
  padding-top: .5rem !important;
  margin-top: 2rem !important;
}

body blockquote,
body .pull-quote {
  border-left: 4px solid #EF4136 !important;
  margin: 1.5rem 0 !important;
  padding: .75rem 1.25rem !important;
  background: #FDF3F2 !important;
  color: #4A4A4A !important;
  font-style: italic !important;
}

body .abstract,
body #abstract,
body section.abstract {
  background: #F7F5F2 !important;
  border-left: 4px solid #EF4136 !important;
  padding: 1rem 1.25rem !important;
  margin: 1.5rem 0 !important;
  font-size: .95rem !important;
}

body .abstract h2,
body .abstract h3 {
  border-bottom: none !important;
  font-size: 1rem !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: #EF4136 !important;
}

body .keywords span,
body .keyword-tag,
body .article-keyword {
  display: inline-block !important;
  background: #F9D0CE !important;
  color: #C4261C !important;
  border-radius: 20px !important;
  padding: .15rem .6rem !important;
  margin: .15rem .1rem !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
}

body .download-button,
body a[href$=".pdf"],
body .galley-link {
  background: #EF4136 !important;
  color: #fff !important;
  border-radius: 2px !important;
  padding: .4rem .9rem !important;
  font-size: .85rem !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

body .download-button:hover,
body a[href$=".pdf"]:hover,
body .galley-link:hover {
  background: #C4261C !important;
  text-decoration: none !important;
  color: #fff !important;
}

/* SIDEBAR */
body aside h3,
body .sidebar h3,
body .sidebar-title,
body .widget-title {
  font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: #EF4136 !important;
  border-bottom: 2px solid #EF4136 !important;
  padding-bottom: .3rem !important;
  margin-bottom: .75rem !important;
}

/* FORMS */
body input[type="text"],
body input[type="email"],
body input[type="password"],
body input[type="search"],
body textarea,
body select {
  border: 1px solid #E0E0E0 !important;
  border-radius: 2px !important;
  padding: .45rem .75rem !important;
  font-size: 1rem !important;
  width: 100% !important;
}

body input:focus,
body textarea:focus,
body select:focus {
  outline: none !important;
  border-color: #EF4136 !important;
  box-shadow: 0 0 0 3px rgba(239,65,54,.15) !important;
}

/* TABLES */
body thead {
  background: #1A1A1A !important;
  color: #fff !important;
}

body thead th {
  padding: .6rem .9rem !important;
  text-align: left !important;
  font-size: .78rem !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: #fff !important;
}

body tbody tr:nth-child(even) {
  background: #F7F5F2 !important;
}

body tbody td {
  padding: .5rem .9rem !important;
  border-bottom: 1px solid #E0E0E0 !important;
}

body tbody tr:hover td {
  background: #FDF3F2 !important;
}

/* PAGINATION */
body .pagination > li > a,
body .pagination > li > span {
  color: #EF4136 !important;
  border-color: #E0E0E0 !important;
}

body .pagination > .active > a,
body .pagination > .active > span {
  background-color: #EF4136 !important;
  border-color: #EF4136 !important;
  color: #fff !important;
}

body .pagination > li > a:hover {
  background-color: #F9D0CE !important;
  color: #C4261C !important;
}

/* FOOTER */
body footer,
body #footer,
body .site-footer {
  background: #1A1A1A !important;
  color: rgba(255,255,255,.75) !important;
  border-top: 3px solid #EF4136 !important;
  padding: 2rem 1rem !important;
  font-size: .85rem !important;
}

body footer a,
body .site-footer a {
  color: #F9D0CE !important;
}

body footer a:hover,
body .site-footer a:hover {
  color: #EF4136 !important;
}

body footer h4,
body .site-footer h4 {
  color: #fff !important;
  font-size: 1rem !important;
  margin-bottom: .5rem !important;
}

/* ANNOUNCEMENTS */
body .announcement,
body .news-item,
body .announcement-block {
  border-left: 4px solid #EF4136 !important;
  padding: .75rem 1rem !important;
  background: #FDF3F2 !important;
  margin-bottom: 1.5rem !important;
}

body .announcement h3 a,
body .news-item h3 a {
  color: #1A1A1A !important;
}

body .announcement h3 a:hover {
  color: #EF4136 !important;
}

body .announcement .date,
body .news-item .date,
body .post-date {
  font-size: .78rem !important;
  color: #7A7A7A !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}

/* BREADCRUMBS */
body .breadcrumb {
  background: transparent !important;
  padding: .5rem 0 !important;
  font-size: .82rem !important;
}

body .breadcrumb a {
  color: #EF4136 !important;
}

body .breadcrumb > .active {
  color: #7A7A7A !important;
}

/* SUBMISSION WORKFLOW */
body .review-badge,
body .status-badge {
  background: #EF4136 !important;
  color: #fff !important;
  border-radius: 20px !important;
  padding: .15rem .6rem !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

/* ACCESSIBILITY */
body :focus-visible {
  outline: 3px solid #EF4136 !important;
  outline-offset: 2px !important;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  body h1 { font-size: 1.5rem !important; }
  body h2 { font-size: 1.25rem !important; }
  body .article-body,
  body #articleBody { font-size: 1rem !important; }
}