
/* =========================================================
   CORNERSTONE JOURNALS — OJS 3.4 Public Site Stylesheet v2
   Compatible with OJS Page Footer rich-text editor
   ========================================================= */

:root{
  --cj-navy:#062f43;
  --cj-navy-dark:#032432;
  --cj-blue:#0d4f6c;
  --cj-gold:#c89b2c;
  --cj-gold-light:#e0bd63;
  --cj-ink:#24343d;
  --cj-muted:#667781;
  --cj-line:#dbe5ea;
  --cj-bg:#f5f8fa;
  --cj-white:#ffffff;
}

/* ===== General ===== */
html{scroll-behavior:smooth;}

body{
  background:var(--cj-bg);
  color:var(--cj-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

a{
  color:var(--cj-blue);
  text-decoration:none;
  transition:.2s ease;
}

a:hover,
a:focus{
  color:var(--cj-gold);
}

/* ===== Header ===== */
.pkp_structure_head{
  background:linear-gradient(135deg,var(--cj-navy-dark),var(--cj-navy));
  border-bottom:3px solid var(--cj-gold);
}

.pkp_site_name_wrapper{background:transparent;}

.pkp_site_name{
  padding-top:16px;
  padding-bottom:16px;
}

.pkp_site_name .is_img img,
.pkp_site_name img{
  max-height:105px;
  width:auto;
}

.pkp_site_name .is_text{
  color:var(--cj-white);
  font-weight:800;
  letter-spacing:.04em;
}

/* ===== Navigation ===== */
.pkp_navigation_primary_row{
  background:rgba(0,0,0,.08);
}

.pkp_navigation_primary > li > a,
.pkp_navigation_user > li > a{
  color:var(--cj-white);
}

.pkp_navigation_primary > li > a{
  font-weight:600;
  border-bottom:3px solid transparent;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus{
  color:var(--cj-gold-light);
  border-bottom-color:var(--cj-gold);
}

/* ===== Main content ===== */
.pkp_structure_content{
  padding-top:28px;
  padding-bottom:36px;
}

.pkp_structure_main{
  background:var(--cj-white);
  border:1px solid var(--cj-line);
  border-radius:10px;
  box-shadow:0 8px 24px rgba(5,45,63,.08);
  padding:28px;
}

.pkp_structure_main h1,
.pkp_structure_main h2,
.pkp_structure_main h3,
.pkp_structure_main h4{
  color:var(--cj-navy);
  line-height:1.3;
}

.pkp_structure_main h1{font-weight:800;}

.pkp_structure_main h2{
  border-bottom:2px solid var(--cj-line);
  padding-bottom:10px;
}

/* ===== Cards / lists ===== */
.obj_issue_summary,
.obj_article_summary,
.obj_announcement_summary,
.cmp_announcements > li{
  background:var(--cj-white);
  border:1px solid var(--cj-line);
  border-radius:10px;
  padding:20px;
  margin-bottom:18px;
  transition:.18s ease;
}

.obj_issue_summary:hover,
.obj_article_summary:hover,
.obj_announcement_summary:hover,
.cmp_announcements > li:hover{
  transform:translateY(-2px);
  border-color:rgba(200,155,44,.55);
  box-shadow:0 8px 24px rgba(5,45,63,.08);
}

/* ===== Sidebar ===== */
.pkp_block{
  background:var(--cj-white);
  border:1px solid var(--cj-line);
  border-radius:10px;
  overflow:hidden;
  margin-bottom:20px;
}

.pkp_block .title{
  background:var(--cj-navy);
  color:var(--cj-white);
  font-weight:700;
  padding:12px 15px;
  border-bottom:3px solid var(--cj-gold);
}

.pkp_block .content{padding:15px;}

/* ===== Buttons ===== */
.cmp_button,
button,
input[type="submit"],
input[type="button"]{
  background:var(--cj-navy);
  border:1px solid var(--cj-navy);
  border-radius:7px;
  color:var(--cj-white);
  font-weight:700;
}

.cmp_button:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover{
  background:var(--cj-gold);
  border-color:var(--cj-gold);
  color:var(--cj-navy-dark);
}

/* =========================================================
   FOOTER
   IMPORTANT:
   This styles the normal rich-text content generated by OJS.
   Do NOT paste raw <div> HTML into Page Footer.
   ========================================================= */

.pkp_structure_footer{
  background:var(--cj-navy-dark);
  color:#dce7ec;
  border-top:4px solid var(--cj-gold);
  margin-top:40px;
}

.pkp_footer_content{
  max-width:1180px;
  margin:0 auto;
  padding:36px 26px 24px;
  color:#dce7ec;
  text-align:center;
  line-height:1.7;
}

/* Decorative portal title generated by CSS */
.pkp_footer_content::before{
  content:"CORNERSTONE JOURNALS";
  display:block;
  color:var(--cj-white);
  font-size:1.35rem;
  font-weight:800;
  letter-spacing:.09em;
  margin-bottom:5px;
}

.pkp_footer_content::after{
  content:"Open Access  •  Peer Reviewed  •  Scholarly Publishing";
  display:block;
  max-width:760px;
  margin:22px auto 0;
  padding-top:15px;
  border-top:1px solid rgba(255,255,255,.18);
  color:var(--cj-gold-light);
  font-size:.88rem;
  letter-spacing:.03em;
}

.pkp_footer_content p{
  max-width:900px;
  margin:7px auto;
  color:#c7d5dc;
}

.pkp_footer_content p:first-child{
  color:var(--cj-gold-light);
  font-size:1rem;
  font-style:italic;
  margin-bottom:16px;
}

.pkp_footer_content strong{
  color:var(--cj-white);
  font-weight:700;
}

.pkp_footer_content a{
  color:#eef6f8;
  font-weight:600;
  border-bottom:1px solid rgba(224,189,99,.45);
}

.pkp_footer_content a:hover,
.pkp_footer_content a:focus{
  color:var(--cj-gold-light);
  border-bottom-color:var(--cj-gold-light);
}

/* Keep PKP platform credit unobtrusive but visible */
.pkp_brand_footer{
  background:var(--cj-navy-dark);
  padding:0 24px 22px;
  text-align:center;
}

.pkp_brand_footer a{
  opacity:.7;
}

.pkp_brand_footer a:hover{
  opacity:1;
}

/* ===== Responsive ===== */
@media(max-width:991px){
  .pkp_structure_main{padding:22px;}
  .pkp_site_name .is_img img,
  .pkp_site_name img{max-height:88px;}
}

@media(max-width:767px){
  .pkp_structure_content{padding-top:18px;}
  .pkp_structure_main{
    padding:18px;
    border-radius:0;
  }

  .pkp_footer_content{
    padding:30px 18px 20px;
  }

  .pkp_footer_content::before{
    font-size:1.15rem;
  }

  .pkp_site_name .is_img img,
  .pkp_site_name img{max-height:72px;}
}

/* ===== Accessibility ===== */
:focus-visible{
  outline:3px solid var(--cj-gold);
  outline-offset:3px;
}

/* ===== Print ===== */
@media print{
  .pkp_structure_head,
  .pkp_structure_footer,
  .pkp_structure_sidebar,
  .pkp_navigation_primary_row{
    display:none!important;
  }

  body,
  .pkp_structure_main{
    background:#fff;
    box-shadow:none;
    border:0;
  }
}


/* =========================================================
   CORNERSTONE JOURNALS — FOOTER TABLE FIX
   Prevent global table styling from producing white/striped
   cells inside the OJS Page Footer.
   ========================================================= */

.pkp_footer_content table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  background: transparent !important;
  border: 0 !important;
  margin: 0 !important;
}

.pkp_footer_content table th,
.pkp_footer_content table td {
  background: transparent !important;
  color: #dce7ec !important;
  border: 0 !important;
  border-right: 1px solid rgba(255,255,255,.12) !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
  padding: 12px 14px !important;
  vertical-align: top;
  text-align: left;
  line-height: 1.55;
}

.pkp_footer_content table th:last-child,
.pkp_footer_content table td:last-child {
  border-right: 0 !important;
}

.pkp_footer_content table tr,
.pkp_footer_content table tbody tr,
.pkp_footer_content table tbody tr:nth-child(odd),
.pkp_footer_content table tbody tr:nth-child(even) {
  background: transparent !important;
}

.pkp_footer_content table th,
.pkp_footer_content table thead td {
  color: #ffffff !important;
  font-size: .84rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .055em;
  border-bottom: 2px solid rgba(200,155,44,.75) !important;
}

.pkp_footer_content table td strong {
  color: #ffffff !important;
}

.pkp_footer_content table a {
  color: #e8f2f5 !important;
  border-bottom: 0 !important;
}

.pkp_footer_content table a:hover,
.pkp_footer_content table a:focus {
  color: #e0bd63 !important;
}

/* Footer intro / auto title spacing */
.pkp_footer_content::before {
  margin-bottom: 14px;
}

.pkp_footer_content::after {
  margin-top: 18px;
}

/* Remove large empty visual area around PKP credit */
.pkp_brand_footer {
  min-height: 0 !important;
  padding: 12px 24px 18px !important;
}

.pkp_brand_footer img {
  max-height: 42px;
  width: auto;
  filter: invert(1) grayscale(1);
  opacity: .55;
}

/* Make the Cornerstone logo more prominent in the header */
.pkp_site_name .is_img img,
.pkp_site_name img {
  max-height: 125px !important;
}

/* Footer mobile behavior */
@media (max-width: 767px) {
  .pkp_footer_content table,
  .pkp_footer_content table tbody,
  .pkp_footer_content table tr,
  .pkp_footer_content table td,
  .pkp_footer_content table th {
    display: block;
    width: 100% !important;
  }

  .pkp_footer_content table th,
  .pkp_footer_content table td {
    border-right: 0 !important;
    padding: 10px 4px !important;
  }

  .pkp_footer_content table th {
    margin-top: 8px;
  }
}
