/* ==========================================================================
   Modern theme for OJS journal (Bootstrap 3 based)
   Font: Niramit (Thai + Latin)
   แก้สีและขนาดหลักได้ที่ :root ด้านล่างจุดเดียว
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Sarabun:wght@300;400;500;600&display=swap');

:root {
  /* สีหลัก */
  --brand: #e11d2e;
  --brand-dark: #b91423;
  --brand-soft: #fdecee;
  --accent: #0f52ba;
  --accent-dark: #0a3d8f;

  /* สีกลาง */
  --ink: #1f2430;
  --ink-soft: #5b6270;
  --line: #e6e8ee;
  --surface: #ffffff;
  --bg: #dde2ec;
  --muted: #eef0f5;

  /* สีหัวเรื่อง (นุ่มสบายตา) */
  --title: #0F52BA;
  --title-hover: #c9505b;

  /* รูปทรง */
  --radius-sm: 8px;
  --radius: 14px;
  --radius-lg: 20px;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 2px rgba(20, 24, 40, .06);
  --shadow: 0 4px 16px rgba(20, 24, 40, .08);
  --shadow-lg: 0 10px 30px rgba(20, 24, 40, .12);

  --font: 'Sarabun', 'Noto Sans Thai', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --transition: .2s ease;
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */
html {
  scroll-behavior: smooth;
}

body,
#Options blockquote {
  font-family: var(--font) !important;
}

body,
.media-body p,
.media-body .authors,
.media-body .lead,
.page_about p {
  color: var(--ink);
  font: normal 400 17px / 1.65 var(--font) !important;
  text-shadow: none;
  -webkit-font-smoothing: antialiased;
}

body {
  background-color: var(--bg);
}

::selection {
  background: var(--brand);
  color: #fff;
}

#nav-menu {
  padding-top: 0;
}

/* --------------------------------------------------------------------------
   Navbar
   -------------------------------------------------------------------------- */
.navbar-default {
  background: linear-gradient(120deg, #e11d2e 0%, #f0434f 45%, #9aa1ad 100%);
  color: #fff;
  border: 0;
  border-radius: var(--radius);
  padding: 0;
  margin: 8px 8px 16px;
  height: auto;
  min-height: 130px;
  box-shadow: var(--shadow);
  text-shadow: none;
}

@media (max-width: 767px) {
  .navbar-default {
    height: auto;
    min-height: 0;
    margin: 6px 6px 12px;
  }
}

.navbar-default #main-navigation > li a {
  padding: 40px 16px 14px;
}

.navbar-default li a,
.navbar-default .navbar-nav > .open > a {
  color: #fff !important;
  text-shadow: none;
  background: transparent;
  font: normal 500 18px / 1 var(--font) !important;
  border-radius: var(--radius-sm);
  transition: background var(--transition), color var(--transition);
}

.navbar-default li a:hover,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default li a:focus,
.navbar-default .navbar-nav > .open > a:focus {
  color: #fff !important;
  background: rgba(255, 255, 255, .18) !important;
}

.navbar-default #navigationUser > li a {
  color: #fff;
  font: normal 400 16px / 1 var(--font);
  text-shadow: none;
  padding: 10px 14px;
  border-radius: var(--radius-pill);
  transition: background var(--transition);
}

.navbar-default #navigationUser > li a:hover,
.navbar-default #navigationUser > li a:focus {
  color: #fff !important;
  background: rgba(255, 255, 255, .2) !important;
}

/* Dropdown */
.dropdown-menu {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
  padding: 8px;
  margin-top: 6px;
}

.dropdown-menu li > a {
  color: var(--ink) !important;
  text-shadow: none;
  background: transparent;
  font: normal 400 17px / 1.2 var(--font) !important;
  padding: 10px 16px !important;
  border-radius: var(--radius-sm);
  transition: background var(--transition), color var(--transition);
}

.dropdown-menu li > a:hover,
.dropdown-menu li > a:focus {
  background-color: var(--brand-soft) !important;
  color: var(--brand-dark) !important;
}

/* Logo */
@media (min-width: 768px) {
  .navbar-brand-logo {
    height: 100%;
  }
}

.navbar-brand-logo img {
  max-height: 100%;
  height: 80px;
  width: auto;
}

.navbar-form {
  margin-top: 30px;
}

/* --------------------------------------------------------------------------
   Forms & search
   -------------------------------------------------------------------------- */
.form-control {
  color: var(--ink);
  background-color: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  font: normal 400 15px / 1.4 var(--font) !important;
  text-shadow: none;
  padding: 8px 16px;
  height: auto;
  box-shadow: var(--shadow-sm);
  transition: border-color var(--transition), box-shadow var(--transition);
}

.form-control:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 4px rgba(225, 29, 46, .15);
  outline: 0;
}

.pull-md-right form button {
  color: var(--ink);
  background-color: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  font: normal 500 15px / 1.4 var(--font) !important;
  text-shadow: none;
  padding: 8px 18px;
  box-shadow: var(--shadow-sm);
  transition: background var(--transition), transform var(--transition);
}

.pull-md-right form button:hover,
.pull-md-right form button:focus,
.pull-md-right form button:hover:focus {
  background-color: var(--muted);
  transform: translateY(-1px);
}

/* --------------------------------------------------------------------------
   Images
   -------------------------------------------------------------------------- */
.homepage-image > img {
  border: 0;
  border-radius: var(--radius);
  padding: 0;
  box-shadow: var(--shadow);
}

.heading .thumbnail,
.cover-image,
.media-left {
  background-color: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 4px;
  box-shadow: var(--shadow-sm);
  transition: transform var(--transition), box-shadow var(--transition);
}

.cover-image:hover,
.media-left:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow);
}

/* --------------------------------------------------------------------------
   Typography & headings
   -------------------------------------------------------------------------- */
/* คำอธิบายวารสารหน้าแรก: ใส่การ์ดให้เหมือนหน้าฉบับ */
.journal-description {
  background-color: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 22px 28px;
  box-shadow: var(--shadow-sm);
  margin-bottom: 20px;
}

.journal-description > p {
  color: var(--ink);
  font: normal 400 18px / 1.8 var(--font) !important;
  text-shadow: none;
  margin: 0 0 14px;
}

.journal-description > p:last-child {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .journal-description {
    padding: 16px 18px;
  }

  .journal-description > p {
    font-size: 16px !important;
    line-height: 1.75 !important;
  }
}

.media .page-header h2,
.page-header h1,
.page-header h2,
.page-header,
h3,
small,
.page_about h3,
h2 small {
  color: var(--title);
  text-shadow: none;
}

.media .page-header h2,
.page-header h1,
.page-header h2,
.page-header,
h3,
h2 {
  font: normal 600 28px / 1.25 var(--font) !important;
}

.page-header {
  background-color: var(--brand-soft);
  border: 0;
  border-left: 5px solid var(--brand);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  padding: 8px 18px 8px 16px;
  margin: 40px 0 20px;
}

/* ให้แถบแดงสูงพอดีกับข้อความ และหัวข้อเด่นขึ้น */
.page-header h1,
.page-header h2,
.page-header h3 {
  margin: 0;
  padding: 0;
  color: var(--title);
  font: normal 600 26px / 1.4 var(--font) !important;
}

/* OJS ซ้อนชื่อหัวข้อไว้ใน <small> ทำให้ตัวเล็กและบาง ให้สืบทอดขนาดจากหัวข้อแทน */
.page-header h1 small,
.page-header h2 small,
.page-header h3 small,
.page-header small {
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}

/* วันที่เผยแพร่ */
.issue-toc .published,
.issue-details .published,
.issue-toc .published strong,
.issue-details .published strong {
  color: var(--ink-soft);
  font: normal 400 16px / 1.6 var(--font) !important;
}

.issue-toc .published strong,
.issue-details .published strong {
  font-weight: 600 !important;
  color: var(--ink);
}

/* --------------------------------------------------------------------------
   Links
   -------------------------------------------------------------------------- */
.media-heading a,
.issue a,
.page_about a,
.pkp_block a {
  color: var(--accent);
  font: normal 500 17px / 1.4 var(--font) !important;
  text-shadow: none;
  padding: 0;
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0 2px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: color var(--transition), background-size var(--transition);
}

.media-heading a:hover,
.issue a:hover,
.page_about a:hover,
.pkp_block a:hover,
.media-heading a:focus,
.issue a:focus,
.page_about a:focus,
.pkp_block a:focus {
  color: var(--accent-dark);
  background-size: 100% 2px;
}

/* การ์ดรายการบทความ: พื้นขาวให้หัวเรื่องเด่นขึ้น */
.media {
  background-color: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 16px 20px;
  margin-top: 14px;
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition), transform var(--transition);
}

.media:hover {
  box-shadow: var(--shadow);
  transform: translateY(-2px);
}

/* หัวเรื่องบทความ */
.media-heading a,
.media-heading a:visited {
  color: var(--title);
  font: normal 600 20px / 1.45 var(--font) !important;
  letter-spacing: .1px;
}

.media-heading a:hover,
.media-heading a:focus {
  color: var(--title-hover);
}

/* --------------------------------------------------------------------------
   Article / media list
   -------------------------------------------------------------------------- */
.media-body p,
.media-body .authors,
.media-body .lead {
  color: var(--ink-soft);
  font: normal 400 16px / 1.6 var(--font) !important;
  text-shadow: none;
  padding: 0;
  margin: 0;
}

.date,
.media-body .date {
  color: var(--ink-soft);
  text-shadow: none;
  padding: 0;
  font: normal 400 13px / 1.4 var(--font) !important;
  letter-spacing: .2px;
}

.current_issue .lead {
  color: var(--ink);
  font: normal 300 21px / 1.5 var(--font) !important;
  text-shadow: none;
  padding: 0;
  margin: 0;
}

/* คำอธิบายฉบับวารสาร (หน้า issue/view) */
/* ปก + คำอธิบาย + วันที่เผยแพร่ รวมอยู่ในการ์ดเดียว */
.issue-toc .heading.row {
  background-color: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  margin-left: 0;
  margin-right: 0;
  padding: 22px 12px;
}

.issue-toc .issue-details .description {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.issue-toc .heading.row .published {
  margin-top: 16px;
}

.issue-toc .issue-details .description p {
  color: var(--ink);
  font: normal 400 17.5px / 1.85 var(--font) !important;
  margin: 0 0 12px;
}

.issue-toc .issue-details .description p:last-child {
  margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */
.btn-group .btn-primary,
.current_issue .btn-primary,
.download .btn-primary {
  background: linear-gradient(135deg, #e11d2e, #f0434f);
  border: 0;
  border-radius: var(--radius-pill);
  padding: 10px 22px;
  color: #fff;
  font: normal 500 15px / 1.2 var(--font) !important;
  text-shadow: none;
  box-shadow: 0 4px 12px rgba(225, 29, 46, .3);
  transition: transform var(--transition), box-shadow var(--transition), filter var(--transition);
}

.btn-group .btn-primary:hover,
.current_issue .btn-primary:hover,
.download .btn-primary:hover,
.btn-group .btn-primary:focus,
.current_issue .btn-primary:focus,
.download .btn-primary:focus,
.btn-group .btn-primary:hover:focus,
.current_issue .btn-primary:hover:focus,
.download .btn-primary:hover:focus {
  background: linear-gradient(135deg, #e11d2e, #f0434f);
  color: #fff;
  filter: brightness(1.06);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(225, 29, 46, .35);
}

.btn-group .btn-primary:active,
.current_issue .btn-primary:active,
.download .btn-primary:active {
  transform: translateY(0);
}

/* ไอคอนเอกสารหน้าปุ่ม PDF */
.btn-primary.pdf::before,
.galley-link.pdf::before,
.obj_galley_link.pdf::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 18px;
  margin-right: 8px;
  vertical-align: -3px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cpath d='M8 13h8M8 17h5'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* --------------------------------------------------------------------------
   Sidebar blocks
   -------------------------------------------------------------------------- */
aside .pkp_block {
  background-color: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin: 0 0 16px;
  box-shadow: var(--shadow-sm);
  padding: 0 16px;
  overflow: hidden;
  transition: box-shadow var(--transition);
}

aside .pkp_block:hover {
  box-shadow: var(--shadow);
}

.pkp_block .content {
  padding: 0;
}

.pkp_block .content > .content,
.block_information .content {
  padding: 0 0 12px;
  border-radius: 0 0 var(--radius) var(--radius);
}

.pkp_block .title {
  background: linear-gradient(120deg, var(--brand-soft), #fff);
  color: var(--brand-dark);
  border-bottom: 1px solid var(--line);
  font: normal 600 18px / 1.3 var(--font) !important;
  text-shadow: none;
  padding: 12px 16px;
  border-radius: var(--radius) var(--radius) 0 0;
  margin: 0 -16px 10px;
}

.pkp_block ul li {
  background-color: transparent;
  border: 0;
  border-bottom: 1px solid var(--muted);
  padding: 6px 0;
}

.pkp_block ul li:last-child {
  border-bottom: 0;
}

/* สีตัวหนังสือ sidebar */
aside .pkp_block,
aside .pkp_block .content {
  color: var(--ink-soft);
}

aside .pkp_block .title {
  color: var(--title);
}

aside .pkp_block a,
aside .pkp_block a:visited {
  color: var(--title);
}

aside .pkp_block a:hover,
aside .pkp_block a:focus {
  color: var(--title-hover);
}

/* --------------------------------------------------------------------------
   Breadcrumb & panels
   -------------------------------------------------------------------------- */
.breadcrumb {
  background-color: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin: 0 0 20px;
  padding: 12px 22px;
  font-size: 17px;
  line-height: 1.6;
  box-shadow: var(--shadow-sm);
}

.breadcrumb .active {
  color: var(--ink-soft);
  font: normal 500 17px / 1.4 var(--font) !important;
  text-shadow: none;
}

.panel {
  background-color: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin: 0 0 16px;
  box-shadow: var(--shadow-sm);
  padding: 0;
  overflow: hidden;
}

.panel-default > .panel-heading {
  background-color: var(--muted);
  color: var(--ink);
  border-color: var(--line);
  border-radius: var(--radius) var(--radius) 0 0;
  font: normal 600 18px / 1.3 var(--font) !important;
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
footer[role="contentinfo"] {
  background-color: var(--ink);
  border: 0;
  border-top: 4px solid var(--brand);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  margin: 60px 0 0;
  padding: 32px 28px;
  color: #d5d9e2;
  font: normal 400 15px / 1.6 var(--font) !important;
  text-shadow: none;
}

footer[role="contentinfo"] a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* --------------------------------------------------------------------------
   Sidebar extras: เหรียญ TCI, ตัวนับผู้เข้าชม, รูปใน sidebar
   (ใช้ชื่อไฟล์รูปเป็น selector เพราะไม่ขึ้นกับชื่อคลาสของธีม)
   -------------------------------------------------------------------------- */
aside img {
  max-width: 100%;
  height: auto;
}

img[src*="tinfo.php"] {
  display: block;
  margin: 8px auto 16px;
  max-width: 230px;
  width: 100%;
  filter: drop-shadow(0 6px 14px rgba(20, 24, 40, .22));
  transition: transform var(--transition), filter var(--transition);
}

img[src*="tinfo.php"]:hover {
  transform: translateY(-3px) scale(1.02);
  filter: drop-shadow(0 10px 20px rgba(20, 24, 40, .28));
}

img[src*="flagcounter"] {
  display: block;
  margin: 6px auto 10px;
  border-radius: var(--radius-sm);
  background: #fff;
}

/* --------------------------------------------------------------------------
   ริบบิ้นดำ
   -------------------------------------------------------------------------- */
img[src*="black_ribbon"] {
  max-width: 64px;
  height: auto;
  opacity: .92;
  pointer-events: none;
}

/* --------------------------------------------------------------------------
   Footer (เพิ่มเติม)
   -------------------------------------------------------------------------- */
footer[role="contentinfo"] a:hover {
  color: #ffd2d6;
}

footer[role="contentinfo"] img {
  max-width: 100%;
  height: auto;
  background: transparent;
  padding: 0;
  margin: 6px 0;
}

/* --------------------------------------------------------------------------
   ชื่อวารสารสองภาษาใน navbar (แถบด้านบน)
   แก้ข้อความที่บรรทัด content ด้านล่างได้โดยตรง
   -------------------------------------------------------------------------- */
.navbar-default::before,
.navbar-default::after {
  position: absolute;
  left: 62px;
  right: 16px;
  z-index: 2;
  pointer-events: none;
  color: #fff;
  clear: none;
  display: block;
}

/* บรรทัดภาษาไทย */
.navbar-default::before {
  content: "วารสารมนุษยศาสตร์และสังคมศาสตร์ มหาวิทยาลัยราชภัฏอุบลราชธานี";
  top: 9px;
  font: normal 700 22px / 1.3 var(--font);
  letter-spacing: .1px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .18);
}

/* บรรทัดภาษาอังกฤษ */
.navbar-default::after {
  content: "Humanities and Social Sciences Journal, Ubon Ratchathani Rajabhat University";
  top: 37px;
  font: normal 400 13px / 1.3 var(--font);
  letter-spacing: .3px;
  opacity: .92;
}

@media (min-width: 768px) {
  .navbar-default {
    padding-top: 52px;
    min-height: 184px;
  }
}

@media (max-width: 767px) {
  .navbar-default {
    padding-top: 50px;
  }

  .navbar-default::before {
    top: 8px;
    left: 54px;
    font-size: 16px;
    line-height: 1.3;
  }

  /* มือถือซ่อนบรรทัดอังกฤษ ให้พอดีจอ */
  .navbar-default::after {
    display: none;
  }
}

/* --------------------------------------------------------------------------
   หน้าแรก: ชื่อวารสารเป็นหัวเรื่องเด่นในการ์ด
   (ย่อหน้าที่ 1 = ชื่อไทย, 2 = ชื่ออังกฤษ, 3-4 = ISSN)
   -------------------------------------------------------------------------- */
.journal-description > p:nth-child(1) {
  color: var(--title);
  font: normal 700 26px / 1.35 var(--font) !important;
  margin: 0 0 4px;
}

.journal-description > p:nth-child(2) {
  color: var(--ink-soft);
  font: normal 400 16px / 1.5 var(--font) !important;
  letter-spacing: .2px;
  margin: 0 0 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}

.journal-description > p:nth-child(3),
.journal-description > p:nth-child(4) {
  color: var(--ink-soft);
  font: normal 500 15px / 1.5 var(--font) !important;
  margin: 0 0 4px;
}

.journal-description > p:nth-child(4) {
  margin-bottom: 16px;
}

@media (max-width: 767px) {
  .journal-description > p:nth-child(1) {
    font-size: 21px !important;
  }

  .journal-description > p:nth-child(2) {
    font-size: 14px !important;
  }

  .journal-description > p:nth-child(3),
  .journal-description > p:nth-child(4) {
    font-size: 14px !important;
  }
}

/* --------------------------------------------------------------------------
   Mobile
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  body,
  .media-body p,
  .media-body .authors,
  .media-body .lead,
  .page_about p {
    font-size: 16px !important;
    line-height: 1.7 !important;
  }

  /* Navbar */
  .navbar-default {
    margin: 6px 6px 12px;
    border-radius: var(--radius);
  }

  .navbar-brand-logo img {
    height: 56px;
  }

  .navbar-default #main-navigation > li a {
    padding: 13px 16px;
  }

  .navbar-default .navbar-toggle {
    border: 1px solid rgba(255, 255, 255, .6);
    border-radius: var(--radius-sm);
    margin: 14px 12px 14px 0;
  }

  .navbar-default .navbar-toggle .icon-bar {
    background-color: #fff;
  }

  .navbar-default .navbar-toggle:hover,
  .navbar-default .navbar-toggle:focus {
    background: rgba(255, 255, 255, .2);
  }

  .navbar-default .navbar-collapse {
    border-top: 1px solid rgba(255, 255, 255, .25);
    box-shadow: none;
  }

  .navbar-form {
    margin: 10px 12px;
  }

  /* Dropdown ในเมนูมือถือ ใช้ตัวหนังสือสีขาวบนพื้นไล่สี */
  .navbar-default .navbar-nav .open .dropdown-menu {
    background: transparent;
    box-shadow: none;
    border: 0;
    padding: 0 0 0 12px;
    margin: 0;
  }

  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #fff !important;
    padding: 11px 16px !important;
  }

  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    background-color: rgba(255, 255, 255, .18) !important;
    color: #fff !important;
  }

  /* หัวข้อ */
  .page-header h1,
  .page-header h2,
  .page-header h3 {
    font-size: 22px !important;
  }

  .page-header {
    margin: 28px 0 14px;
    padding: 6px 14px 6px 12px;
  }

  /* รายการบทความ */
  .media {
    padding: 14px 16px;
    margin-top: 12px;
  }

  .media:hover {
    transform: none;
  }

  .media-heading a,
  .media-heading a:visited {
    font-size: 18px !important;
    line-height: 1.5 !important;
    overflow-wrap: anywhere;
  }

  /* คำอธิบายฉบับ */
  .issue-toc .heading.row {
    padding: 16px 6px;
  }

  .issue-toc .issue-details .description p {
    font-size: 16px !important;
    line-height: 1.8 !important;
  }

  .cover-image,
  .media-left,
  .heading .thumbnail {
    max-width: 220px;
    margin: 0 auto 14px;
  }

  /* Breadcrumb */
  .breadcrumb {
    padding: 10px 16px;
    font-size: 15px;
    border-radius: var(--radius-sm);
  }

  .breadcrumb .active {
    font-size: 15px !important;
  }

  /* ปุ่มกดง่ายด้วยนิ้ว */
  .btn-group .btn-primary,
  .current_issue .btn-primary,
  .download .btn-primary {
    min-height: 44px;
    padding: 11px 24px;
  }

  /* Sidebar */
  aside .pkp_block {
    margin-bottom: 12px;
  }

  img[src*="tinfo.php"] {
    max-width: 190px;
  }

  img[src*="black_ribbon"] {
    max-width: 42px;
  }

  /* Footer */
  footer[role="contentinfo"] {
    margin-top: 36px;
    padding: 26px 18px;
    text-align: center;
    border-radius: var(--radius) var(--radius) 0 0;
    font-size: 14px !important;
    line-height: 1.7 !important;
  }

  footer[role="contentinfo"] img {
    display: inline-block;
  }
}

/* --------------------------------------------------------------------------
   หน้าทั่วไป: ติดต่อ, การส่งบทความ, เกี่ยวกับวารสาร
   -------------------------------------------------------------------------- */

/* หัวเรื่องหน้า (h1) ที่ไม่มี page-header */
.page > h1,
.page_contact > h1 {
  color: var(--title);
  font: normal 600 30px / 1.3 var(--font) !important;
  margin: 8px 0 14px;
}

/* ข้อความในหน้าที่ผู้ดูแลใส่ขนาดเองมา ให้ขนาดสม่ำเสมอ */
.page_submissions p,
.page_submissions .list-group-item,
.page_contact p,
.page_announcements p {
  font-size: 17px !important;
  line-height: 1.75 !important;
}

/* กล่องแจ้งข้อมูล (เดิมสีม่วง ลิงก์สีน้ำเงินอ่านไม่ออก) */
.alert-info,
.page_submissions .alert {
  background-color: #eaf1fd !important;
  border: 1px solid #c9dbf7 !important;
  border-radius: var(--radius);
  color: var(--ink) !important;
  padding: 14px 20px;
  text-shadow: none;
  box-shadow: var(--shadow-sm);
}

.alert-info a,
.page_submissions .alert a {
  color: var(--title) !important;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ป้ายกำกับ เช่น "เบอร์โทร" (เดิมตัวขาวบนพื้นขาว มองไม่เห็น) */
.label {
  display: inline-block;
  background-color: var(--muted) !important;
  color: var(--ink-soft) !important;
  border-radius: var(--radius-pill);
  font: normal 500 14px / 1.4 var(--font) !important;
  padding: 2px 12px;
  margin-right: 6px;
}

/* รายการเช็กลิสต์ */
.list-group-item {
  border-color: var(--line);
}

.list-group-item:first-child {
  border-radius: var(--radius) var(--radius) 0 0;
}

.list-group-item:last-child {
  border-radius: 0 0 var(--radius) var(--radius);
}

/* ลิงก์ใน breadcrumb ให้สีเดียวกันทุกหน้า (ไม่เปลี่ยนเป็นม่วงหลังเคยเข้า) */
.breadcrumb a,
.breadcrumb a:visited {
  color: var(--accent);
  text-decoration: none;
}

.breadcrumb a:hover,
.breadcrumb a:focus {
  color: var(--title-hover);
}

/* โลโก้เป็นป้ายมุมโค้ง มีขอบขาวและเงา */
.navbar-brand-logo img {
  background: #fff;
  padding: 6px;
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(20, 24, 40, .22);
}

/* ขยับโลโก้ให้พ้นริบบิ้นดำ */
@media (min-width: 768px) {
  .navbar-brand-logo {
    margin-left: 44px;
  }
}

/* --------------------------------------------------------------------------
   การ์ดรายการ (ปก + ข้อความ) จัดด้วย flex ไม่ให้ปกยืดตามความสูงข้อความ
   -------------------------------------------------------------------------- */
/* ใช้ flex เฉพาะการ์ดที่มีปกอยู่ซ้าย (รายการฉบับ) ไม่แตะกล่องประกาศ/บทความ */
.media:has(> .media-left) {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.media > .media-left,
.media > .media-body {
  display: block;
  vertical-align: top;
}

.media > .media-body {
  width: auto;
}

.media > .media-left {
  flex: 0 0 auto;
  width: 130px;
  padding: 4px;
  margin: 0;
}

.media > .media-left img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}

.media > .media-body {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
}

/* --------------------------------------------------------------------------
   Mobile: เมนู โลโก้ และการ์ดรายการ
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  /* แถวโลโก้ + ปุ่มเมนู */
  .navbar-default .navbar-header {
    display: flex;
    align-items: center;
    padding: 6px 12px 12px;
  }

  .navbar-default .navbar-header::before,
  .navbar-default .navbar-header::after {
    display: none;
  }

  .navbar-default .navbar-brand-logo {
    float: none;
    height: auto;
    margin: 0;
    padding: 0;
    display: block;
    order: 1;
  }

  .navbar-default .navbar-brand-logo img {
    height: 56px;
    max-height: none;
    width: auto;
    padding: 4px;
    border-radius: 10px;
  }

  /* ปุ่มเมนู: ใหญ่ขึ้นและมีคำว่า "เมนู" กำกับ */
  .navbar-default .navbar-toggle {
    float: none;
    order: 2;
    margin: 0 0 0 auto;
    padding: 9px 14px 7px;
    min-width: 64px;
    background: rgba(255, 255, 255, .16);
  }

  .navbar-default .navbar-toggle::after {
    content: "เมนู";
    display: block;
    margin-top: 5px;
    color: #fff;
    font: normal 600 13px / 1 var(--font);
    text-align: center;
  }

  /* แถวภาษา / ลงทะเบียน / เข้าสู่ระบบ */
  .navbar-default #navigationUser > li a {
    font-size: 15px !important;
    padding: 8px 10px;
  }

  /* ชื่อฉบับในการ์ด */
  .media {
    gap: 12px;
  }

  .media > .media-left {
    width: 92px;
    padding: 3px;
  }

  .media .media-body h2,
  .media .media-body h3,
  .media .media-body h4,
  .media .media-body .media-heading,
  .media .media-body .media-heading a,
  .media .media-body a.title {
    font-size: 17px !important;
    line-height: 1.5 !important;
    margin: 0 0 4px;
  }
}

/* --------------------------------------------------------------------------
   เมื่อสลับเป็นภาษาอังกฤษ: ชื่อวารสารและป้ายเมนูเป็นอังกฤษ
   (ใช้ :lang(en) ซึ่ง OJS ตั้งไว้ที่แท็ก <html lang="en-US">)
   -------------------------------------------------------------------------- */
.navbar-default:lang(en)::before {
  content: "Humanities and Social Sciences Journal, Ubon Ratchathani Rajabhat University";
  top: 14px;
  font-size: 21px;
  font-weight: 700;
}

.navbar-default:lang(en)::after {
  display: none;
}

/* --------------------------------------------------------------------------
   ริบบิ้นดำให้อยู่ในกรอบ navbar
   -------------------------------------------------------------------------- */
img[src*="black_ribbon"] {
  max-width: 52px;
  margin: 10px 0 0 8px;
}

@media (max-width: 767px) {
  img[src*="black_ribbon"] {
    max-width: 32px;
    margin: 10px 0 0 10px;
  }

  /* แถวภาษา / ผู้ใช้ ให้เล็กลงเทียบกับชื่อวารสาร */
  .navbar-default #navigationUser > li > a,
  .navbar-default #navigationUser > li > a *,
  .navbar-default .navbar-right > li > a,
  .navbar-default .navbar-right > li > a * {
    font-size: 14px !important;
    line-height: 1.3 !important;
  }

  .navbar-default .navbar-right .badge {
    font-size: 11px !important;
    padding: 2px 7px;
  }

  .navbar-default .navbar-right > li > a {
    padding: 6px 8px !important;
  }

  /* ชื่ออังกฤษบนมือถือ */
  .navbar-default:lang(en)::before {
    top: 8px;
    font-size: 15px;
    line-height: 1.3;
  }
}

.navbar-default .navbar-toggle:lang(en)::after {
  content: "Menu";
}

/* --------------------------------------------------------------------------
   มือถือ: เมนูภาษา (dropdown) ให้เล็กและขนาดตัวอักษรคงที่ตอนเปิด
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  /* ตอนเปิดเมนู ตัวหนังสือต้องไม่ใหญ่ขึ้น */
  .navbar-default .navbar-nav.navbar-right > .open > a,
  .navbar-default .navbar-nav.navbar-right > .open > a * {
    font-size: 14px !important;
    line-height: 1.3 !important;
  }

  /* กล่องเมนูภาษาที่เปิดออกมา */
  .navbar-default .dropdown-menu {
    min-width: 130px;
    padding: 4px;
    margin-top: 4px;
  }

  .navbar-default .dropdown-menu > li > a {
    font-size: 15px !important;
    padding: 8px 14px !important;
  }
}

/* --------------------------------------------------------------------------
   มือถือ: แถวบนสุด (ภาษา / ลงทะเบียน / เข้าสู่ระบบ / ชื่อผู้ใช้) ให้ขนาดเท่ากันทั้งหมด
   จับทุกรายการในแถวบน ยกเว้นเมนูหลักและเมนูย่อย
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .navbar-default ul:not(#main-navigation):not(.dropdown-menu) > li > a,
  .navbar-default ul:not(#main-navigation):not(.dropdown-menu) > li > a *:not(.badge),
  .navbar-default ul:not(#main-navigation):not(.dropdown-menu) > .open > a,
  .navbar-default ul:not(#main-navigation):not(.dropdown-menu) > .open > a *:not(.badge) {
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
  }

  .navbar-default ul:not(#main-navigation):not(.dropdown-menu) > li > a {
    padding: 8px 10px !important;
  }

  /* ตรงตามโครงสร้างจริง: ul.nav-pills.tab-list.pull-right > li.dropdown > a.dropdown-toggle */
  .navbar-default ul.nav-pills.tab-list > li > a,
  .navbar-default ul.nav-pills.tab-list > li > a.dropdown-toggle,
  .navbar-default ul.nav-pills.tab-list > li.open > a,
  .navbar-default ul.nav-pills.tab-list > li > a .badge {
    font-size: 14px !important;
    line-height: 1.3 !important;
  }

  .navbar-default ul.nav-pills.tab-list > li > a .badge {
    font-size: 11px !important;
  }
}

/* --------------------------------------------------------------------------
   Accessibility
   -------------------------------------------------------------------------- */
a:focus-visible,
button:focus-visible,
.btn:focus-visible {
  outline: 3px solid rgba(76, 18, 255, .45);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
