/* =========================================================
   d20-premium.css
   Premium OJS content layer for Docentes20
   Scope: body.d20-premium
=========================================================*/
/* D20_FINGERPRINT: OJSTEST_ACTIVE 2026-02-27T16:41Z */
body.d20-premium {
  --d20-purple: #3f264d;
  --d20-purple-700: #2f1b39;
  --d20-gold: #c9a227;
  --d20-bg: #f4f6fb;
  --d20-card: #ffffff;
  --d20-text: #1a2438;
  --d20-muted: #5b6884;
  --d20-border: rgba(26, 36, 56, 0.12);
  --d20-radius: 16px;
  --d20-radius-sm: 11px;
  --d20-shadow: 0 10px 28px rgba(21, 34, 58, 0.09);
  --d20-shadow-hover: 0 14px 32px rgba(21, 34, 58, 0.12);
  --d20-gap-1: 8px;
  --d20-gap-2: 16px;
  --d20-gap-3: 24px;
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

/* --- Double scroll fix: global horizontal overflow guard --- */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

body.d20-premium .pkp_structure_page {
  background: var(--d20-bg);
  max-width: 100%;
}

body.d20-premium .pkp_structure_content.container {
  max-width: 1260px;
  width: 100%;
  padding: 18px 20px 28px;
  overflow-y: visible !important;
}

body.d20-premium .pkp_structure_main,
body.d20-premium .pkp_structure_sidebar {
  color: var(--d20-text);
  line-height: 1.65;
  max-width: 100%;
  min-width: 0;
}

body.d20-premium #sidebar {
  max-width: 100%;
  min-width: 0;
}

body.d20-premium img,
body.d20-premium video,
body.d20-premium iframe,
body.d20-premium table {
  max-width: 100%;
}

body.d20-premium pre,
body.d20-premium code {
  white-space: pre-wrap;
  word-break: break-word;
}

body.d20-premium .pkp_structure_main a,
body.d20-premium .pkp_structure_main p,
body.d20-premium .pkp_structure_main li {
  overflow-wrap: anywhere;
  word-break: break-word;
}

body.d20-premium .pkp_structure_main h1,
body.d20-premium .pkp_structure_main .page_title {
  color: #131b2f;
  font-size: clamp(1.95rem, 2.4vw, 2.35rem);
  line-height: 1.2;
  margin: 0 0 14px;
}

body.d20-premium .pkp_structure_main h2,
body.d20-premium .pkp_structure_main .page-header h2 {
  color: #1a2438;
  font-size: clamp(18px, 2.2vw, 26px);
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -0.2px;
  margin: 18px 0 10px;
}

body.d20-premium .pkp_structure_main h3 {
  color: #1e2942;
  font-size: clamp(1.1rem, 1.4vw, 1.3rem);
  line-height: 1.3;
}

body.d20-premium .pkp_structure_main p,
body.d20-premium .pkp_structure_main li,
body.d20-premium .pkp_structure_main dt,
body.d20-premium .pkp_structure_main dd {
  color: var(--d20-muted);
}

body.d20-premium .pkp_structure_main a {
  color: var(--d20-purple);
}

body.d20-premium .pkp_structure_main a:hover,
body.d20-premium .pkp_structure_main a:focus {
  color: var(--d20-gold);
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.d20-premium .pkp_structure_main>.page,
body.d20-premium .pkp_structure_main .issue-toc,
body.d20-premium .pkp_structure_main .issue-summary,
body.d20-premium .pkp_structure_main .obj_article_summary,
body.d20-premium .pkp_structure_main .article-summary,
body.d20-premium .pkp_structure_main .article-details,
body.d20-premium .pkp_structure_main .cmp_notification,
body.d20-premium .pkp_structure_main .search_results,
body.d20-premium .pkp_structure_sidebar .pkp_block {
  background: var(--d20-card);
  border: 1px solid var(--d20-border);
  border-radius: var(--d20-radius);
  box-shadow: var(--d20-shadow);
}

body.d20-premium .pkp_structure_main>.page,
body.d20-premium .pkp_structure_main .issue-toc,
body.d20-premium .pkp_structure_main .article-details,
body.d20-premium .pkp_structure_main .issue-summary {
  padding: 18px;
}

body.d20-premium .pkp_structure_main .issue-summary,
body.d20-premium .pkp_structure_main .obj_article_summary,
body.d20-premium .pkp_structure_main .article-summary {
  margin: 0 0 14px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

body.d20-premium .pkp_structure_main .issue-summary:hover,
body.d20-premium .pkp_structure_main .obj_article_summary:hover,
body.d20-premium .pkp_structure_main .article-summary:hover {
  transform: translateY(-2px);
  box-shadow: var(--d20-shadow-hover);
}

body.d20-premium .pkp_structure_sidebar .pkp_block {
  margin: 0 0 14px;
  overflow: hidden;
}

body.d20-premium .pkp_structure_sidebar .pkp_block .content {
  padding: 12px 14px;
}

body.d20-premium .pkp_structure_sidebar .pkp_block>.title,
body.d20-premium .pkp_structure_sidebar .pkp_block h2.title,
body.d20-premium .pkp_structure_sidebar .pkp_block .title.pkp_screen_reader {
  margin: 0;
  padding: 11px 12px;
  color: #2a3350;
  border-bottom: 1px solid rgba(63, 38, 77, 0.18);
  border-left: 4px solid var(--d20-purple);
  font-size: 1rem;
  font-weight: 800;
  background: #f8f9fc;
}

/* Sidebar title normalization */
body.d20-premium .pkp_block .title,
body.d20-premium .pkp_block h2.title {
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

/* Sidebar h2 readability fix (high-contrast + stronger weight) */
body.d20-premium .pkp_structure_sidebar .pkp_block h2.title,
body.d20-premium .pkp_structure_sidebar .pkp_block>h2.title {
  font-size: 1.12rem !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  color: #1b2540 !important;
  background: #f8f9fc !important;
  border-left: 4px solid var(--d20-purple) !important;
  border-bottom: 1px solid rgba(26, 36, 56, 0.14) !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

body.d20-premium .cmp_button,
body.d20-premium .pkp_button,
body.d20-premium a.cmp_button,
body.d20-premium .obj_galley_link,
body.d20-premium .btn {
  border-radius: var(--d20-radius-sm);
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: var(--d20-purple);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  padding: 10px 14px;
  transition: transform 0.18s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

body.d20-premium .cmp_button:hover,
body.d20-premium .pkp_button:hover,
body.d20-premium a.cmp_button:hover,
body.d20-premium .obj_galley_link:hover,
body.d20-premium .btn:hover {
  background: var(--d20-purple-700);
  color: #fff;
  box-shadow: 0 8px 18px rgba(63, 38, 77, 0.25);
  transform: translateY(-1px);
}

body.d20-premium .cmp_button:focus-visible,
body.d20-premium .pkp_button:focus-visible,
body.d20-premium a.cmp_button:focus-visible,
body.d20-premium .obj_galley_link:focus-visible,
body.d20-premium .btn:focus-visible {
  outline: 2px solid var(--d20-gold);
  outline-offset: 2px;
}

body.d20-premium input,
body.d20-premium select,
body.d20-premium textarea {
  border-radius: var(--d20-radius-sm);
  border: 1px solid rgba(26, 36, 56, 0.2);
  padding: 10px 12px;
  color: var(--d20-text);
  background: #fff;
}

body.d20-premium input:focus,
body.d20-premium select:focus,
body.d20-premium textarea:focus {
  border-color: rgba(63, 38, 77, 0.5);
  box-shadow: 0 0 0 3px rgba(63, 38, 77, 0.12);
  outline: 0;
}

/* Issue archive: ensure cover thumbnails are visible and aligned */
/* Issue archive: ensure cover thumbnails are visible and aligned */
body.d20-premium .page_issue_archive .issues .issue-summary {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 14px;
}

body.d20-premium .page_issue_archive .issue-summary .media-left,
body.d20-premium .page_issue_archive .issue-summary .cover {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex: 0 0 86px;
  width: 86px;
  max-width: 86px;
  margin: 0;
}

body.d20-premium .page_issue_archive .issue-summary .cover img,
body.d20-premium .page_issue_archive .issue-summary .media-object {
  display: block !important;
  width: 120px !important;
  height: auto !important;
  max-height: 118px;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid rgba(26, 36, 56, 0.14);
  box-shadow: 0 6px 16px rgba(21, 34, 58, 0.12);
}

body.d20-premium .page_issue_archive .issue-summary .media-body {
  min-width: 0;
  flex: 1 1 auto;
}

/* Current issue TOC cleanup: headers and full issue formats row */
body.d20-premium .page_issue .issue-toc .heading {
  margin-bottom: 14px;
}

body.d20-premium .page_issue .issue-toc .heading h1,
body.d20-premium .page_issue .issue-toc .heading h2,
body.d20-premium .page_issue .issue-toc .heading .title,
body.d20-premium .page_issue .issue-toc>.galleys .page-header h2,
body.d20-premium .page_issue .issue-toc>.galleys .page-header h2 small,
body.d20-premium .page_issue .issue-toc .section .page-header h2,
body.d20-premium .page_issue .issue-toc .section .page-header h2 small {
  color: #1a2438;
  font-size: clamp(1.375rem, 1.95vw, 1.5rem);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: 0.01em;
  margin-bottom: 14px;
}

/* Restore premium hierarchy for top-level section h2 (without affecting article h3 titles) */
body.d20-premium .page_issue .issue-toc .section>.page-header h2,
body.d20-premium .page_issue_archive .issue-summary .media-heading,
body.d20-premium .pkp_page_index .pkp_structure_main>.page>h2 {
  font-size: clamp(1.375rem, 1.9vw, 1.5rem);
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1.28;
  color: #232f4d;
}

/* Restore issue/archive card layout with left thumbnail */
body.d20-premium .page_issue .article-summary.media,
body.d20-premium .page_issue_archive .issue-summary.media,
body.d20-premium .page_issue .issue-summary.media {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  background: #fff;
  border: 1px solid var(--d20-border);
  border-radius: 16px;
  box-shadow: var(--d20-shadow);
  padding: 20px 22px;
  margin: 0 0 22px;
}

body.d20-premium .page_issue .article-summary.media .media-left,
body.d20-premium .page_issue .article-summary.media .cover,
body.d20-premium .page_issue_archive .issue-summary.media .media-left,
body.d20-premium .page_issue_archive .issue-summary.media .cover,
body.d20-premium .page_issue .issue-summary.media .media-left,
body.d20-premium .page_issue .issue-summary.media .cover {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex: 0 0 128px;
  width: 128px;
  max-width: 128px;
  margin: 0;
}

body.d20-premium .page_issue .article-summary.media .cover img,
body.d20-premium .page_issue .article-summary.media .media-object,
body.d20-premium .page_issue_archive .issue-summary.media .cover img,
body.d20-premium .page_issue_archive .issue-summary.media .media-object,
body.d20-premium .page_issue .issue-summary.media .cover img,
body.d20-premium .page_issue .issue-summary.media .media-object {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 180px;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid rgba(26, 36, 56, 0.14);
  box-shadow: 0 6px 16px rgba(21, 34, 58, 0.12);
}

body.d20-premium .page_issue .article-summary.media .media-body,
body.d20-premium .page_issue_archive .issue-summary.media .media-body,
body.d20-premium .page_issue .issue-summary.media .media-body {
  min-width: 0;
  flex: 1 1 auto;
}

body.d20-premium .page_issue .issue-toc>.galleys {
  margin: 0 0 18px;
  padding: 14px;
  border: 1px solid rgba(63, 38, 77, 0.16);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(63, 38, 77, 0.04), rgba(63, 38, 77, 0.01));
}

body.d20-premium .page_issue .issue-toc>.galleys .page-header {
  margin: 0 0 10px;
  padding: 0;
  border: 0;
}

body.d20-premium .page_issue .issue-toc>.galleys .btn-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

body.d20-premium .page_issue .issue-toc>.galleys .btn-group::before {
  content: "Formato:";
  color: #3e4a68;
  font-weight: 700;
  margin-right: 2px;
}

body.d20-premium .page_issue .issue-toc>.galleys .btn-group .galley-link {
  margin: 0;
}

body.d20-premium .page_issue .current_issue>a.read-more,
body.d20-premium .page_issue .current_issue>a.d20-btn--all-issues,
body.d20-premium .page_issue .current_issue>a.read-more.d20-btn--all-issues {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: max-content;
  margin: 16px 0 8px auto;
  border-radius: var(--d20-radius-sm);
  padding: 10px 14px;
  border: 1px solid rgba(63, 38, 77, 0.2);
  background: #fff;
  color: var(--d20-purple);
  font-weight: 700;
  text-decoration: none;
}

body.d20-premium .page_issue .current_issue>a.read-more:hover,
body.d20-premium .page_issue .current_issue>a.d20-btn--all-issues:hover,
body.d20-premium .page_issue .current_issue>a.read-more.d20-btn--all-issues:hover {
  background: rgba(63, 38, 77, 0.07);
  color: var(--d20-purple-700);
}

/* TOP12 card spacing normalization */
body.d20-premium .most-viewed {
  padding: 16px !important;
}

body.d20-premium .most-viewed .most-viewed-content {
  padding: 12px 4px !important;
  border-bottom: 1px solid rgba(26, 36, 56, 0.12) !important;
}

body.d20-premium .most-viewed .most-viewed-headline {
  border-radius: 12px 12px 0 0;
}

/* Indexaciones normalization */
body.d20-premium #indexaciones,
body.d20-premium [id*="indexaciones" i],
body.d20-premium #customblock-indexaciones,
body.d20-premium .d20-section--indexaciones {
  background: var(--d20-card);
  border: 1px solid var(--d20-border);
  border-radius: var(--d20-radius);
  box-shadow: var(--d20-shadow);
  padding: 16px;
  margin: 14px 0;
}

body.d20-premium #indexaciones img,
body.d20-premium [id*="indexaciones" i] img,
body.d20-premium #customblock-indexaciones img,
body.d20-premium .d20-section--indexaciones img {
  max-height: 66px;
  width: auto;
  object-fit: contain;
  filter: grayscale(22%);
  opacity: 0.92;
}

body.d20-premium #indexaciones img:hover,
body.d20-premium [id*="indexaciones" i] img:hover,
body.d20-premium #customblock-indexaciones img:hover,
body.d20-premium .d20-section--indexaciones img:hover {
  filter: grayscale(0%);
  opacity: 1;
}

/* Header link recovery: keep navbar links white + premium hover */
body.d20-premium .d20-shell--header .d20-navbar a,
body.d20-premium .d20-shell--header .d20-navbar a:visited {
  color: #fff !important;
}

body.d20-premium .d20-shell--header .d20-navbar a:hover,
body.d20-premium .d20-shell--header .d20-navbar a:focus {
  color: var(--d20-gold) !important;
}

body.d20-premium .d20-shell--header .d20-user-menu>.d20-user-menu-item>a {
  color: #fff !important;
}

body.d20-premium .d20-shell--header .d20-user-menu>.d20-user-menu-item.login>a,
body.d20-premium .d20-shell--header .d20-user-menu>.d20-user-menu-item.register>a {
  color: #fff !important;
}

/* OJS user menu output may omit .login/.register classes; style by target URLs */
body.d20-premium .d20-shell--header .d20-user-menu>li>a[href*="/user/register"] {
  background: var(--d20-gold) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: #111 !important;
  font-weight: 800 !important;
}

body.d20-premium .d20-shell--header .d20-user-menu>li>a[href*="/login"] {
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.32) !important;
  color: #fff !important;
  font-weight: 700 !important;
}

body.d20-premium .d20-shell--header .d20-user-menu>li>a[href*="/user/register"]:hover,
body.d20-premium .d20-shell--header .d20-user-menu>li>a[href*="/user/register"]:focus {
  background: #d7b54a !important;
  color: #111 !important;
}

body.d20-premium .d20-shell--header .d20-user-menu>li>a[href*="/login"]:hover,
body.d20-premium .d20-shell--header .d20-user-menu>li>a[href*="/login"]:focus {
  background: rgba(255, 255, 255, 0.22) !important;
  color: #fff !important;
}

body.d20-premium .d20-shell--header .d20-btn-cta {
  color: #101010 !important;
}

body.d20-premium .d20-shell--header .d20-btn-cta--ghost {
  color: #fff !important;
}

@media (max-width: 992px) {
  body.d20-premium .pkp_structure_content.container {
    padding-left: 14px;
    padding-right: 14px;
  }

  body.d20-premium .page_issue_archive .issues .issue-summary {
    gap: 12px;
  }

  body.d20-premium .page_issue .issue-toc>.galleys .btn-group {
    align-items: flex-start;
  }
}

@media (max-width: 640px) {
  body.d20-premium .page_issue_archive .issues .issue-summary {
    flex-direction: column;
  }

  body.d20-premium .page_issue_archive .issue-summary .media-left,
  body.d20-premium .page_issue_archive .issue-summary .cover {
    width: 94px;
    max-width: 94px;
    flex-basis: 94px;
  }

  body.d20-premium .page_issue .article-summary.media,
  body.d20-premium .page_issue_archive .issue-summary.media,
  body.d20-premium .page_issue .issue-summary.media {
    flex-direction: column;
    gap: 12px;
    padding: 16px;
  }

  body.d20-premium .page_issue .article-summary.media .media-left,
  body.d20-premium .page_issue .article-summary.media .cover,
  body.d20-premium .page_issue_archive .issue-summary.media .media-left,
  body.d20-premium .page_issue_archive .issue-summary.media .cover,
  body.d20-premium .page_issue .issue-summary.media .media-left,
  body.d20-premium .page_issue .issue-summary.media .cover {
    width: min(42vw, 140px);
    max-width: min(42vw, 140px);
    flex-basis: auto;
  }

  body.d20-premium .page_issue .issue-toc>.galleys .btn-group::before {
    width: 100%;
    margin: 0 0 2px;
  }
}

@media (max-width: 480px) {

  body.d20-premium .page_issue .current_issue>a.read-more,
  body.d20-premium .page_issue .current_issue>a.d20-btn--all-issues,
  body.d20-premium .page_issue .current_issue>a.read-more.d20-btn--all-issues {
    display: flex;
    width: 100%;
    margin: 16px 0 8px;
    justify-content: center;
  }
}

/* =========================================================
   D20 v20260226-38 - issue cards, headings, links, CTA polish
   ========================================================= */
body.d20-premium .page_issue .pkp_structure_main {
  padding-top: 10px;
}

body.d20-premium .page_issue .issue-toc {
  margin-top: 10px;
}

body.d20-premium .page_issue .issue-toc .media-left,
body.d20-premium .page_issue_archive .issue-summary .media-left {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex: 0 0 120px;
  width: 120px;
  max-width: 120px;
}

body.d20-premium .page_issue .issue-toc .media-left img,
body.d20-premium .page_issue_archive .issue-summary .cover img,
body.d20-premium .page_issue_archive .issue-summary .media-left img {
  display: block !important;
  width: 120px !important;
  max-width: 120px !important;
  height: auto !important;
  border-radius: 12px;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.12);
}

body.d20-premium .page_issue .issue-toc .media,
body.d20-premium .page_issue_archive .issue-summary {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

body.d20-premium .pkp_structure_main a.d20-btn--all-issues,
body.d20-premium .pkp_structure_main a.read-more.d20-btn--all-issues {
  margin-left: auto;
}

/* =========================================================
   D20 v20260227-01 - premium content stabilization
   ========================================================= */
body.d20-premium .d20-shell--header .d20-nav-menu a {
  color: #fff !important;
  opacity: 1;
}

body.d20-premium .d20-shell--header .d20-nav-menu a:hover,
body.d20-premium .d20-shell--header .d20-nav-menu a:focus {
  color: var(--d20-gold) !important;
  text-decoration: none;
}

body.d20-premium .d20-shell--header a:focus-visible {
  outline: 2px solid var(--d20-gold);
  outline-offset: 3px;
}

body.d20-premium .pkp_structure_main a {
  color: var(--d20-purple);
  text-decoration: none;
}

body.d20-premium .pkp_structure_main a:hover {
  color: var(--d20-gold);
  text-decoration: underline;
}

body.d20-premium .pkp_structure_main a:visited {
  color: #4b2d5b;
}

body.d20-premium .pkp_structure_sidebar .pkp_block a {
  color: var(--d20-purple);
}

body.d20-premium .pkp_structure_sidebar .pkp_block a:hover {
  color: var(--d20-gold);
}

body.d20-premium .pkp_structure_main .btn,
body.d20-premium .pkp_structure_main .btn a {
  color: #fff !important;
}

body.d20-premium .pkp_structure_main .btn:hover {
  filter: brightness(1.03);
}

body.d20-premium .pkp_structure_main h2 {
  font-size: 22px !important;
  font-weight: 800 !important;
  margin: 18px 0 12px !important;
  letter-spacing: 0.2px !important;
}

body.d20-premium .pkp_structure_main h3 {
  font-size: 18px !important;
  font-weight: 800 !important;
  margin: 16px 0 10px !important;
}

body.d20-premium .page_issue .issue-toc {
  padding-top: 12px;
}

body.d20-premium .page_issue_archive .issue-summary .media-left,
body.d20-premium .page_issue_archive .issue-summary .cover {
  display: block !important;
}

body.d20-premium .page_issue_archive .issue-summary .media-left img,
body.d20-premium .page_issue_archive .issue-summary .cover img {
  width: 120px;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.10);
}

body.d20-premium .page_issue_archive .issue-summary {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

body.d20-premium .page_issue_archive .issue-summary .media-body {
  flex: 1;
  min-width: 0;
}

body.d20-premium .obj_article_summary {
  border-radius: 16px;
  padding: 18px 18px;
  margin: 14px 0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
  overflow-wrap: anywhere;
}

/* Galley button overrides consolidated into base (L200) + B2 FIX (L916) */

body.d20-premium a.read-more,
body.d20-premium .read-more,
body.d20-premium .d20-btn--all-issues {
  display: inline-flex;
  margin-top: 18px;
}

body.d20-premium .pkp_structure_main .issue-to-archive,
body.d20-premium .pkp_structure_main .all-issues-wrap {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
}

body.d20-premium .page_issue .issue-toc .section>.page-header h2,
body.d20-premium .page_issue .issue-toc>.galleys .page-header h2,
body.d20-premium .page_issue_archive .issue-summary .media-heading,
body.d20-premium .pkp_page_index .pkp_structure_main>.page>h2,
body.d20-premium .pkp_structure_main .page-header h2 {
  font-size: 22px !important;
  font-weight: 800 !important;
  margin: 18px 0 12px !important;
  letter-spacing: 0.2px !important;
}

/* =========================================================
   D20 FIX: HOMEPAGE HARD RESET — CURRENT ISSUE
   Strategy: Block display + Flex heading row + 280px cover
   ========================================================= */

/* 1) Force homepage current_issue to block layout */
body.d20-premium.pkp_page_index section.current_issue {
  display: block !important;
  position: relative;
  width: 100% !important;
  margin: 30px 0;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

/* 2) Ensure heading row behaves as Bootstrap row */
body.d20-premium.pkp_page_index section.current_issue .issue-toc>.heading.row {
  display: flex;
  flex-wrap: wrap;
  margin-left: 0;
  margin-right: 0;
  background: #fff;
  border-radius: 18px;
  padding: 24px;
  border: 1px solid rgba(0, 0, 0, 0.05);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}

/* 3) Fix cover + content column sizing */
body.d20-premium.pkp_page_index section.current_issue .thumbnail {
  flex: 0 0 280px;
  max-width: 280px;
  padding-left: 0;
}

body.d20-premium.pkp_page_index section.current_issue .thumbnail img {
  width: 100%;
  height: auto;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

body.d20-premium.pkp_page_index section.current_issue .issue-details {
  flex: 1 1 auto;
  min-width: 300px;
  padding-left: 30px;
}

/* 4) Kill vertical purple rail and label */
body.d20-premium.pkp_page_index section.current_issue::before,
body.d20-premium.pkp_page_index section.current_issue::after {
  display: none !important;
}

body.d20-premium.pkp_page_index .current_issue .page-header {
  position: static !important;
  writing-mode: horizontal-tb !important;
  margin-bottom: 12px;
}

body.d20-premium.pkp_page_index .current_issue .page-header h1,
body.d20-premium.pkp_page_index .current_issue .page-header h2 {
  position: static !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 5) Fix CTA button */
body.d20-premium.pkp_page_index section.current_issue>a.read-more,
body.d20-premium.pkp_page_index section.current_issue a[href*="/issue/archive"] {
  display: inline-flex !important;
  height: auto !important;
  width: auto !important;
  margin-top: 18px;
  float: none !important;
  clear: both;
}

/* Responsive Reset */
@media (max-width: 991px) {
  body.d20-premium.pkp_page_index section.current_issue .thumbnail {
    flex: 0 0 240px;
    max-width: 240px;
  }
}

@media (max-width: 768px) {
  body.d20-premium.pkp_page_index section.current_issue .issue-toc>.heading.row {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 20px;
  }

  body.d20-premium.pkp_page_index section.current_issue .thumbnail {
    flex: 0 0 auto;
    max-width: 200px;
    margin-bottom: 20px;
  }

  body.d20-premium.pkp_page_index section.current_issue .issue-details {
    padding-left: 0;
    width: 100%;
  }

  body.d20-premium.pkp_page_index section.current_issue>a.read-more,
  body.d20-premium.pkp_page_index section.current_issue a[href*="/issue/archive"] {
    justify-content: center;
    width: 100% !important;
  }
}

/* =========================================================
   D20 FIX: B1 — Issue TOC section headings larger + top spacing
   Scoped to index and issue pages only
   ========================================================= */
body.d20-premium.pkp_page_index .issue-toc h2,
body.d20-premium.pkp_page_index .issue-toc .tocSectionTitle,
body.d20-premium.pkp_page_issue .issue-toc h2,
body.d20-premium.pkp_page_issue .issue-toc .tocSectionTitle {
  font-size: 24px !important;
  font-weight: 800 !important;
  margin-top: 24px !important;
  margin-bottom: 12px !important;
  line-height: 1.22 !important;
  color: var(--d20-purple) !important;
  letter-spacing: 0.2px;
}

@media (max-width: 640px) {

  body.d20-premium.pkp_page_index .issue-toc h2,
  body.d20-premium.pkp_page_index .issue-toc .tocSectionTitle,
  body.d20-premium.pkp_page_issue .issue-toc h2,
  body.d20-premium.pkp_page_issue .issue-toc .tocSectionTitle {
    font-size: 19px !important;
    margin-top: 20px !important;
  }
}

/* =========================================================
   D20 FIX: B2 — Galley buttons as one segmented pill control
   Container overflow:hidden + border-radius handles corners.
   NO first/last child rounding — all flat inside.
   ========================================================= */
body.d20-premium .obj_article_summary .galleys,
body.d20-premium .obj_article_summary .item.galleys {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  gap: 0 !important;
  margin-left: 14px !important;
  margin-top: 8px !important;
  list-style: none !important;
}

body.d20-premium .obj_article_summary .galleys .btn,
body.d20-premium .obj_article_summary .galleys a.btn,
body.d20-premium .obj_article_summary .galleys .obj_galley_link,
body.d20-premium .obj_article_summary .galleys a.obj_galley_link {
  border-radius: 0 !important;
  margin: 0 !important;
  border-right: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: #fff !important;
  background: var(--d20-purple) !important;
  padding: 10px 16px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-decoration: none !important;
  transition: background 0.18s ease;
}

/* Last child: no right border */
body.d20-premium .obj_article_summary .galleys> :last-child,
body.d20-premium .obj_article_summary .galleys> :last-child>a {
  border-right: none !important;
  border-radius: 0 !important;
}

/* First child: also flat */
body.d20-premium .obj_article_summary .galleys> :first-child,
body.d20-premium .obj_article_summary .galleys> :first-child>a {
  border-radius: 0 !important;
}

/* Single galley button — container radius handles it */
body.d20-premium .obj_article_summary .galleys> :only-child,
body.d20-premium .obj_article_summary .galleys> :only-child>a {
  border-radius: 0 !important;
  border-right: none !important;
}

body.d20-premium .obj_article_summary .galleys .btn:hover,
body.d20-premium .obj_article_summary .galleys a.btn:hover,
body.d20-premium .obj_article_summary .galleys a.obj_galley_link:hover {
  background: var(--d20-purple-700) !important;
  color: #fff !important;
}

body.d20-premium .obj_article_summary .galleys .btn:focus-visible,
body.d20-premium .obj_article_summary .galleys a.obj_galley_link:focus-visible {
  outline: 2px solid var(--d20-gold);
  outline-offset: -2px;
}

/* =========================================================
   D20 FIX: B3 — Article card text right padding
   ========================================================= */
body.d20-premium .obj_article_summary .media-body,
body.d20-premium .obj_article_summary .summary,
body.d20-premium .obj_article_summary .title,
body.d20-premium .obj_article_summary .meta {
  padding-right: 20px;
}

@media (max-width: 640px) {

  body.d20-premium .obj_article_summary .media-body,
  body.d20-premium .obj_article_summary .summary,
  body.d20-premium .obj_article_summary .title,
  body.d20-premium .obj_article_summary .meta {
    padding-right: 14px;
    padding-left: 6px;
  }
}

/* =========================================================
   D20 FIX: Phase 4 — Counter card styling
   ========================================================= */
body.d20-premium .d20-counter-card {
  text-align: center;
  padding: 0;
}

body.d20-premium .d20-counter-title {
  margin: 0;
  padding: 11px 12px;
  color: #2a3350;
  border-bottom: 1px solid rgba(63, 38, 77, 0.18);
  border-left: 4px solid var(--d20-purple);
  font-size: 1rem;
  font-weight: 800;
  background: #f8f9fc;
  text-align: left;
}

body.d20-premium .d20-counter-body {
  padding: 14px;
}

body.d20-premium .d20-counter-body img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* =========================================================
   D20 FIX: Phase 5A — Resumen padding on article detail
   ========================================================= */
body.d20-premium.pkp_page_article .article-summary,
body.d20-premium.pkp_page_article .article-abstract {
  padding: 16px 20px;
}

body.d20-premium.pkp_page_article .article-summary h2 {
  margin-top: 0;
}

/* =========================================================
   D20 FIX: Phase 5B — Metricas panel styling
   ========================================================= */
body.d20-premium.pkp_page_article .article-more-details .panel {
  border: 1px solid var(--d20-border);
  border-radius: var(--d20-radius);
  box-shadow: var(--d20-shadow);
  overflow: hidden;
  margin-bottom: 16px;
}

body.d20-premium.pkp_page_article .article-more-details .panel-heading {
  background: var(--d20-purple) !important;
  color: #fff !important;
  font-weight: 800;
  font-size: 15px;
  padding: 12px 16px;
  border-bottom: none;
  margin: 0;
}

body.d20-premium.pkp_page_article .article-more-details .panel-body {
  padding: 14px 16px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--d20-text);
}

body.d20-premium.pkp_page_article .article-more-details .panel-body strong {
  color: #1a2438;
  font-weight: 700;
}

body.d20-premium.pkp_page_article .article-more-details .how-to-cite .panel-heading {
  background: var(--d20-purple) !important;
  color: #fff !important;
}

body.d20-premium.pkp_page_article .article-more-details .how-to-cite .panel-body {
  background: #fafbfe;
}

/* Article detail — inline section headers with purple bg */
body.d20-premium.pkp_page_article .article-more-details h2[style*="background-color"],
body.d20-premium.pkp_page_article .article-references h2[style*="background-color"] {
  border-radius: var(--d20-radius-sm) var(--d20-radius-sm) 0 0;
  font-size: 16px !important;
  font-weight: 800;
  padding: 12px 16px !important;
}

/* =========================================================
   D20 FIX: Phase 5C — Community CTA card (Telegram/WhatsApp)
   ========================================================= */
body.d20-premium .d20-community-cta {
  clear: both;
  margin: 48px 24px 32px;
  border-radius: var(--d20-radius);
  background: #f8f7fb;
  box-shadow: 0 2px 10px rgba(63, 38, 77, 0.06);
  overflow: hidden;
  border: 1px solid #e4dfe9;
}

body.d20-premium .d20-community-cta__body {
  padding: 36px 32px;
  text-align: center;
}

body.d20-premium .d20-community-cta__icon {
  font-size: 28px;
  margin-bottom: 8px;
  display: block;
}

body.d20-premium .d20-community-cta__title,
body.d20-premium .d20-community-cta .d20-community-cta__title,
body.d20-premium h3.d20-community-cta__title {
  color: #111827 !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  margin: 0 0 6px !important;
  line-height: 1.3 !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #111827 !important;
}

body.d20-premium .d20-community-cta__text {
  color: #5b6884 !important;
  font-size: 14px;
  line-height: 1.55;
  margin: 0 0 20px;
}

body.d20-premium .d20-community-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 28px;
  border-radius: 999px;
  background: var(--d20-gold);
  color: #101010 !important;
  font-weight: 800;
  font-size: 14px;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  transition: filter 0.2s, transform 0.2s;
  border: 2px solid var(--d20-gold);
}

body.d20-premium .d20-community-cta__btn:hover {
  filter: brightness(1.1);
  transform: translateY(-1px);
  color: #101010 !important;
  text-decoration: none !important;
}

body.d20-premium .d20-community-cta__btn:focus-visible {
  outline: 2px solid var(--d20-purple);
  outline-offset: 2px;
}

/* Channel buttons row */
body.d20-premium .d20-community-cta__channels {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}
body.d20-premium .d20-community-cta__btn--whatsapp {
  background: #25D366;
  border-color: #25D366;
  color: #fff !important;
}
body.d20-premium .d20-community-cta__btn--whatsapp:hover {
  color: #fff !important;
  filter: brightness(1.1);
  transform: translateY(-1px);
}
body.d20-premium .d20-community-cta__btn--telegram {
  background: #0088cc;
  border-color: #0088cc;
  color: #fff !important;
}
body.d20-premium .d20-community-cta__btn--telegram:hover {
  color: #fff !important;
  filter: brightness(1.1);
  transform: translateY(-1px);
}
body.d20-premium .d20-community-cta__btn .fa {
  font-size: 18px;
}

@media (max-width: 640px) {
  body.d20-premium .d20-community-cta__body {
    padding: 22px 18px;
  }

  body.d20-premium .d20-community-cta__title {
    font-size: 18px;
  }

  body.d20-premium .d20-community-cta__channels {
    flex-direction: column;
    align-items: center;
  }
}

/* =====================================================
   D20 · CURRENT ISSUE · INSTITUTIONAL PREMIUM
   ===================================================== */

.d20-issue-premium {
  background: #ffffff;
  border-radius: 20px;
  padding: 36px 42px;
  margin: 30px 0;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(0, 0, 0, 0.05);
}

/* ===========================
   HEADER
=========================== */

.d20-issue-header {
  margin-bottom: 30px;
  padding-bottom: 18px;
  border-bottom: 2px solid #ffcc00;
}

.d20-issue-header h2 {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--d20-purple);
}

.d20-issue-header h1 {
  margin: 6px 0 8px 0;
  font-size: 26px;
  font-weight: 800;
  color: #1f2937;
}

.d20-issue-subtitle {
  margin: 0;
  font-size: 13px;
  color: #6b7280;
  font-weight: 500;
}

/* ===========================
   GRID LAYOUT
=========================== */

.d20-issue-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

@media (max-width: 900px) {
  .d20-issue-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

/* ===========================
   BOX STYLE
=========================== */

.d20-box {
  background: #fafafa;
  border-radius: 16px;
  padding: 22px 24px;
  border-left: 6px solid var(--d20-purple);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
}

.d20-box h3 {
  margin: 0 0 18px 0;
  font-size: 16px;
  font-weight: 800;
  color: #2c2f36;
  letter-spacing: 0.3px;
}

/* ===========================
   META LIST
=========================== */

.d20-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.d20-list li {
  display: grid;
  grid-template-columns: 190px 1fr;
  column-gap: 18px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  font-size: 14px;
}

.d20-list li:last-child {
  border-bottom: none;
}

/* CATEGORY BOLD */
.d20-list li span {
  font-weight: 700;
  color: #1f2937;
}

/* VALUE LIGHTER */
.d20-list li strong {
  font-weight: 500;
  color: #4b5563;
  word-break: break-word;
}

/* ===========================
   FOOTER META
=========================== */

.d20-issue-footer {
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  font-size: 13px;
  color: #6b7280;
}

.d20-issue-footer p {
  margin: 0;
}

/* =========================================================
   D20: Article file buttons (PDF/HTML/XML/EPUB)
   AUTHORITATIVE — placed last to override Bootstrap .btn-primary
   Scoped to body.d20-premium only
   ========================================================= */

/* Container: segmented pill group */
body.d20-premium .obj_article_summary .galleys_links,
body.d20-premium .obj_article_summary .galleys,
body.d20-premium .obj_article_summary .item.galleys,
body.d20-premium .issue-toc .galleys_links,
body.d20-premium .issue-toc .galleys,
body.d20-premium .article-summary-galleys {
  display: inline-flex !important;
  flex-wrap: wrap;
  overflow: hidden;
  border-radius: 14px;
  gap: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Individual button — purple override */
body.d20-premium .obj_article_summary .galleys_links a,
body.d20-premium .obj_article_summary .galleys a,
body.d20-premium .obj_article_summary .galleys .btn,
body.d20-premium .obj_article_summary .galleys a.btn,
body.d20-premium .obj_article_summary .galleys .obj_galley_link,
body.d20-premium .obj_article_summary .galleys a.obj_galley_link,
body.d20-premium .obj_article_summary .galleys_links .obj_galley_link,
body.d20-premium .issue-toc .galleys_links a,
body.d20-premium .issue-toc .galleys a,
body.d20-premium .issue-toc .galleys .btn,
body.d20-premium .issue-toc .galleys a.btn,
body.d20-premium .issue-toc .galleys .obj_galley_link,
body.d20-premium .issue-toc .galleys a.obj_galley_link,
body.d20-premium .issue-toc .galleys_links .obj_galley_link,
body.d20-premium .article-summary-galleys a {
  border-radius: 0 !important;
  margin: 0 !important;
  border-right: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: #fff !important;
  background: #3f264d !important;
  background-color: #3f264d !important;
  padding: 8px 14px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-decoration: none !important;
  transition: background 0.18s ease !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  border-style: solid !important;
  border-width: 0 1px 0 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1.4 !important;
}

/* First child — flat (container handles corners) */
body.d20-premium .obj_article_summary .galleys_links> :first-child,
body.d20-premium .obj_article_summary .galleys_links> :first-child>a,
body.d20-premium .obj_article_summary .galleys> :first-child,
body.d20-premium .issue-toc .galleys_links> :first-child,
body.d20-premium .issue-toc .galleys_links> :first-child>a,
body.d20-premium .issue-toc .galleys> :first-child {
  border-radius: 0 !important;
}

/* Last child — flat, no right border */
body.d20-premium .obj_article_summary .galleys_links> :last-child,
body.d20-premium .obj_article_summary .galleys_links> :last-child>a,
body.d20-premium .obj_article_summary .galleys> :last-child,
body.d20-premium .issue-toc .galleys_links> :last-child,
body.d20-premium .issue-toc .galleys_links> :last-child>a,
body.d20-premium .issue-toc .galleys> :last-child {
  border-radius: 0 !important;
  border-right: none !important;
}

/* Single galley — flat (container handles pill shape) */
body.d20-premium .obj_article_summary .galleys_links> :only-child,
body.d20-premium .obj_article_summary .galleys_links> :only-child>a,
body.d20-premium .obj_article_summary .galleys> :only-child,
body.d20-premium .issue-toc .galleys_links> :only-child,
body.d20-premium .issue-toc .galleys_links> :only-child>a,
body.d20-premium .issue-toc .galleys> :only-child {
  border-radius: 0 !important;
  border-right: none !important;
}

/* Hover state */
body.d20-premium .obj_article_summary .galleys_links a:hover,
body.d20-premium .obj_article_summary .galleys a:hover,
body.d20-premium .obj_article_summary .galleys .btn:hover,
body.d20-premium .obj_article_summary .galleys a.obj_galley_link:hover,
body.d20-premium .issue-toc .galleys_links a:hover,
body.d20-premium .issue-toc .galleys a:hover,
body.d20-premium .issue-toc .galleys .btn:hover,
body.d20-premium .issue-toc .galleys a.obj_galley_link:hover {
  background: #2f1b39 !important;
  background-color: #2f1b39 !important;
  color: #fff !important;
}

/* Focus visible */
body.d20-premium .obj_article_summary .galleys a:focus-visible,
body.d20-premium .obj_article_summary .galleys_links a:focus-visible,
body.d20-premium .issue-toc .galleys a:focus-visible,
body.d20-premium .issue-toc .galleys_links a:focus-visible {
  outline: 2px solid #FFC107 !important;
  outline-offset: -2px !important;
}

/* Kill Bootstrap .btn-primary completely inside galley containers */
body.d20-premium .galleys .btn-primary,
body.d20-premium .galleys_links .btn-primary,
body.d20-premium .galleys .btn-default,
body.d20-premium .galleys_links .btn-default {
  background: #3f264d !important;
  background-color: #3f264d !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  color: #fff !important;
}

body.d20-premium .galleys .btn-primary:hover,
body.d20-premium .galleys_links .btn-primary:hover,
body.d20-premium .galleys .btn-default:hover,
body.d20-premium .galleys_links .btn-default:hover {
  background: #2f1b39 !important;
  background-color: #2f1b39 !important;
  color: #fff !important;
}

/* ─── Old header/search rules removed — consolidated in regression block below ─── */


/* =========================================================
   D20 REGRESSION FIX BLOCK — 2026-02-27  v20260227-08
   Consolidated phases A–F: appended at bottom for cascade safety
   ========================================================= */

/* ─────────────────────────────────────────────────────────
   FIX-A: CURRENT ISSUE on homepage — thumbnail + details flex
   ───────────────────────────────────────────────────────── */
body.d20-premium.pkp_page_index .current_issue {
  display: block !important;
  width: 100% !important;
}

body.d20-premium.pkp_page_index .current_issue .issue-toc>.heading.row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 18px !important;
  align-items: flex-start !important;
}

body.d20-premium.pkp_page_index .current_issue .thumbnail {
  flex: 0 0 220px !important;
  max-width: 220px !important;
}

body.d20-premium.pkp_page_index .current_issue .thumbnail img {
  width: 100% !important;
  height: auto !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .12) !important;
}

body.d20-premium.pkp_page_index .current_issue .issue-details {
  flex: 1 1 420px !important;
  min-width: 280px !important;
}

/* Issue meta block */
body.d20-premium .d20-issue-meta {
  margin-top: 10px;
}

/* Language visibility */
html[lang^="es"] .d20-lang-en {
  display: none !important;
}

html[lang^="en"] .d20-lang-es {
  display: none !important;
}

/* FIX-A responsive */
@media (max-width: 768px) {
  body.d20-premium.pkp_page_index .current_issue .issue-toc>.heading.row {
    flex-direction: column !important;
    align-items: center !important;
  }

  body.d20-premium.pkp_page_index .current_issue .thumbnail {
    flex: 0 0 auto !important;
    max-width: 200px !important;
    margin-bottom: 16px !important;
  }

  body.d20-premium.pkp_page_index .current_issue .issue-details {
    min-width: 0 !important;
    width: 100% !important;
  }
}

/* ─────────────────────────────────────────────────────────
   FIX-B: "Número completo" + PDF galley placement
   ───────────────────────────────────────────────────────── */
body.d20-premium .current_issue .galleys,
body.d20-premium .issue-toc>.galleys {
  display: block !important;
  clear: both !important;
  margin-top: 12px !important;
  text-align: left !important;
  padding-left: 14px !important;
  padding-bottom: 18px !important;
}

body.d20-premium .current_issue .galleys .page-header,
body.d20-premium .issue-toc>.galleys .page-header {
  margin: 18px 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
}

body.d20-premium .current_issue .galleys .btn-group,
body.d20-premium .issue-toc>.galleys .btn-group {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .08) !important;
  margin-top: 8px !important;
}

/* ─────────────────────────────────────────────────────────
   FIX-C: Segmented galley buttons (PDF/HTML/XML/EPUB)
   Theme purple · first rounded-left · last rounded-right
   ───────────────────────────────────────────────────────── */
body.d20-premium .obj_galley_link,
body.d20-premium .galleys_links a,
body.d20-premium .btn-group .btn,
body.d20-premium .current_issue .galleys .btn,
body.d20-premium .issue-toc>.galleys .btn {
  background: var(--d20-purple) !important;
  border-color: var(--d20-purple) !important;
  color: #fff !important;
  font-weight: 700 !important;
}

/* Segmented shape — inner buttons straight, outer rounded */
body.d20-premium .current_issue .galleys .btn,
body.d20-premium .issue-toc>.galleys .btn,
body.d20-premium .obj_article_summary .galleys .btn,
body.d20-premium .obj_article_summary .galleys a.btn,
body.d20-premium .obj_article_summary .galleys .obj_galley_link,
body.d20-premium .obj_article_summary .galleys a.obj_galley_link {
  float: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 10px 16px !important;
  line-height: 1.1 !important;
}

body.d20-premium .current_issue .galleys .btn:first-child,
body.d20-premium .issue-toc>.galleys .btn:first-child {
  border-top-left-radius: 12px !important;
  border-bottom-left-radius: 12px !important;
}

body.d20-premium .current_issue .galleys .btn:last-child,
body.d20-premium .issue-toc>.galleys .btn:last-child {
  border-top-right-radius: 12px !important;
  border-bottom-right-radius: 12px !important;
}

/* Hover / focus */
body.d20-premium .obj_galley_link:hover,
body.d20-premium .galleys_links a:hover,
body.d20-premium .btn-group .btn:hover,
body.d20-premium .current_issue .galleys .btn:hover,
body.d20-premium .issue-toc>.galleys .btn:hover {
  background: var(--d20-purple-700) !important;
  border-color: var(--d20-purple-700) !important;
  color: #fff !important;
}

body.d20-premium .current_issue .galleys .btn:focus,
body.d20-premium .issue-toc>.galleys .btn:focus,
body.d20-premium .btn-group .btn:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(255, 191, 0, .25) !important;
}

/* Kill Bootstrap .btn-primary / .btn-default inside galleys */
body.d20-premium .galleys .btn-primary,
body.d20-premium .galleys_links .btn-primary,
body.d20-premium .galleys .btn-default,
body.d20-premium .galleys_links .btn-default {
  background: var(--d20-purple) !important;
  border-color: var(--d20-purple) !important;
  color: #fff !important;
}

/* ─────────────────────────────────────────────────────────
   FIX-D: Body width — 1180px default, 1320px at ≥1400px
   ───────────────────────────────────────────────────────── */
body.d20-premium .pkp_structure_content.container,
body.d20-premium .pkp_structure_content .container,
body.d20-premium .pkp_structure_main .container,
body.d20-premium .pkp_structure_main .pkp_structure_content {
  max-width: 1180px !important;
  width: min(1180px, calc(100% - 48px)) !important;
}

@media (min-width: 1400px) {

  body.d20-premium .pkp_structure_content.container,
  body.d20-premium .pkp_structure_content .container,
  body.d20-premium .pkp_structure_main .container,
  body.d20-premium .pkp_structure_main .pkp_structure_content {
    max-width: 1320px !important;
    width: min(1320px, calc(100% - 48px)) !important;
  }
}

@media (max-width: 768px) {

  body.d20-premium .pkp_structure_content.container,
  body.d20-premium .pkp_structure_content .container {
    width: calc(100% - 24px) !important;
  }
}

/* Article summary right padding */
body.d20-premium .obj_article_summary .summary {
  padding-right: 18px !important;
}

@media (max-width: 768px) {
  body.d20-premium .obj_article_summary .summary {
    padding-right: 14px !important;
  }
}

/* ─────────────────────────────────────────────────────────
   FIX-E: Header — search width + glass/gradient + nowrap
   ───────────────────────────────────────────────────────── */

/* Search width cap (d20 corporate header) */
body.d20-premium .d20-search-form {
  max-width: 320px !important;
  width: 100% !important;
  flex-shrink: 1 !important;
}

body.d20-premium .d20-search-form input[type="text"] {
  max-width: 280px !important;
  width: 100% !important;
  font-size: 13px !important;
  padding: 6px 10px !important;
}

/* Prevent header wrapping */
body.d20-premium #headerNavigationContainer .navbar,
body.d20-premium .d20-navbar .d20-container {
  flex-wrap: nowrap !important;
}

body.d20-premium #headerNavigationContainer .navbar-nav,
body.d20-premium .d20-nav-menu {
  flex-wrap: nowrap !important;
  gap: 18px !important;
}

/* Navbar transition base — smooth 0.45s for premium feel */
body.d20-premium .d20-navbar {
  transition: background 0.45s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.45s cubic-bezier(0.4, 0, 0.2, 1),
    padding 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Glass at top (not scrolled) — transparent dark with blur */
body.d20-premium .d20-navbar:not(.d20-scrolled) {
  background: rgba(10, 8, 12, 0.28) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  box-shadow: none !important;
}

/* Scrolled: solid dark matching footer (#0a0009) */
body.d20-premium .d20-navbar.d20-scrolled {
  background: #0a0009 !important;
  backdrop-filter: none !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}

/* Hero-at-top: ~2× taller header + ~2× logo with smooth transition */
body.d20-at-top .d20-navbar .d20-container {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
  transition: padding 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

body.d20-premium:not(.d20-at-top) .d20-navbar .d20-container {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  transition: padding 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

body.d20-at-top .d20-brand-logo img {
  max-height: 90px !important;
  transition: max-height 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

body.d20-premium:not(.d20-at-top) .d20-brand-logo img {
  max-height: 46px !important;
  transition: max-height 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Nav link spacing at top */
body.d20-at-top .d20-nav-menu>li>a {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  transition: padding 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

body.d20-premium:not(.d20-at-top) .d20-nav-menu>li>a {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  transition: padding 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Search + user actions also transition smoothly */
body.d20-at-top .d20-search-form button,
body.d20-at-top .d20-user-actions {
  transition: all 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Mobile: disable hero scaling — keep compact */
@media (max-width: 991px) {
  body.d20-at-top .d20-brand-logo img {
    max-height: 40px !important;
  }

  body.d20-at-top .d20-navbar .d20-container {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  body.d20-at-top .d20-nav-menu>li>a {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  body.d20-premium .d20-search-form {
    max-width: 100% !important;
  }

  body.d20-premium .d20-search-form input[type="text"] {
    max-width: 100% !important;
  }
}

/* Extra coverage for OJS default nav (pkp_site_nav_menu / header.navbar) */
body.d20-premium .pkp_site_nav_menu,
body.d20-premium header.navbar {
  background: #0a0009 !important;
  backdrop-filter: none !important;
}

body.d20-premium:not(.d20-scrolled):not(.is-scrolled):not(.header-scrolled) .pkp_site_nav_menu,
body.d20-premium:not(.d20-scrolled):not(.is-scrolled):not(.header-scrolled) header.navbar {
  background: rgba(10, 8, 12, 0.28) !important;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

body.d20-premium:not(.d20-scrolled):not(.is-scrolled):not(.header-scrolled) .pkp_site_name,
body.d20-premium:not(.d20-scrolled):not(.is-scrolled):not(.header-scrolled) .navbar-brand {
  transform: scale(1.15) !important;
  transform-origin: left center !important;
}

body.d20-premium .pkp_site_nav_menu .search,
body.d20-premium header.navbar .search {
  max-width: 320px !important;
}

body.d20-premium .pkp_site_nav_menu input[type="search"],
body.d20-premium header.navbar input[type="search"],
body.d20-premium .pkp_site_nav_menu input[name="query"],
body.d20-premium header.navbar input[name="query"] {
  width: 100% !important;
  max-width: 320px !important;
}

@media (max-width: 1200px) {

  body.d20-premium .pkp_site_nav_menu .search,
  body.d20-premium header.navbar .search {
    max-width: 240px !important;
  }

  body.d20-premium .pkp_site_nav_menu input[name="query"],
  body.d20-premium header.navbar input[name="query"] {
    max-width: 240px !important;
  }
}

/* ─────────────────────────────────────────────────────────
   FIX-G: Article summary galley buttons — big segmented button
   Container overflow:hidden handles corners; force children flat
   ───────────────────────────────────────────────────────── */
body.d20-premium .obj_article_summary .galleys,
body.d20-premium .obj_article_summary .item.galleys,
body.d20-premium .obj_article_summary .galleys_links {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  gap: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.d20-premium .obj_article_summary .galleys a,
body.d20-premium .obj_article_summary .galleys .btn,
body.d20-premium .obj_article_summary .galleys a.btn,
body.d20-premium .obj_article_summary .galleys .obj_galley_link,
body.d20-premium .obj_article_summary .galleys a.obj_galley_link,
body.d20-premium .obj_article_summary .galleys_links a {
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 10px 16px !important;
  border-right: 1px solid rgba(255, 255, 255, 0.18) !important;
  background: var(--d20-purple) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-decoration: none !important;
}

body.d20-premium .obj_article_summary .galleys> :last-child,
body.d20-premium .obj_article_summary .galleys> :last-child>a,
body.d20-premium .obj_article_summary .galleys_links> :last-child,
body.d20-premium .obj_article_summary .galleys_links> :last-child>a {
  border-right: none !important;
}

/* ─────────────────────────────────────────────────────────
   FIX-H: Banner/Index carousels — prevent height-doubling flash
   during Bootstrap 3 slide transitions
   ───────────────────────────────────────────────────────── */
body.d20-premium #myCarousel .carousel-inner,
body.d20-premium #indexCarousel .carousel-inner {
  position: relative !important;
  overflow: hidden !important;
}

body.d20-premium #myCarousel .carousel-inner>.item.next,
body.d20-premium #myCarousel .carousel-inner>.item.prev,
body.d20-premium #indexCarousel .carousel-inner>.item.next,
body.d20-premium #indexCarousel .carousel-inner>.item.prev {
  position: absolute !important;
  top: 0 !important;
  width: 100% !important;
}

/* ─────────────────────────────────────────────────────────
   FIX-F: Back-to-top button — centered bottom, premium
   ───────────────────────────────────────────────────────── */
body.d20-premium .d20-back-top,
body.d20-premium a.back-to-top,
body.d20-premium .back-to-top,
body.d20-premium #scrollTopBtn,
body.d20-premium .scroll-to-top {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: 22px !important;
  transform: translateX(-50%) !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 999px !important;
  background: rgba(0, 0, 0, .65) !important;
  color: #fff !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .25) !important;
  display: grid !important;
  place-items: center !important;
  z-index: 9999 !important;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease !important;
}

body.d20-premium .d20-back-top:hover,
body.d20-premium a.back-to-top:hover,
body.d20-premium .back-to-top:hover,
body.d20-premium #scrollTopBtn:hover,
body.d20-premium .scroll-to-top:hover {
  background: #ffbf00 !important;
  color: #1a1a1a !important;
  transform: translateX(-50%) translateY(-2px) !important;
  box-shadow: 0 18px 34px rgba(0, 0, 0, .28) !important;
}

/* Keep distance from WhatsApp bubble */
body.d20-premium .whatsapp-float,
body.d20-premium .wa__btn_popup,
body.d20-premium .floating-whatsapp {
  bottom: 90px !important;
}

/* ============================================================
   D20 FIX: Galley buttons unified (PDF/HTML/XML/EPUB)
   Actual OJS markup: div.btn-group > a.galley-link.btn.btn-primary
   - purple premium style
   - pill shape: first-child left rounding, last-child right rounding
   ============================================================ */

/* --- btn-group container --- */
body.d20-premium .btn-group,
body.d20-premium .article-summary .btn-group,
body.d20-premium .issue-toc .btn-group,
body.d20-premium .galleys .btn-group,
body.d20-premium .galleys_links .btn-group {
  display: inline-flex !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
  border-radius: 14px !important;
  overflow: visible !important;
  gap: 0 !important;
}

/* --- ALL galley links: purple + straight edges (base) --- */
body.d20-premium .btn-group>a,
body.d20-premium .btn-group>a.btn,
body.d20-premium .btn-group>a.btn-primary,
body.d20-premium .btn-group>a.btn-secondary,
body.d20-premium .btn-group>a.btn-default,
body.d20-premium .btn-group>a.galley-link,
body.d20-premium a.galley-link,
body.d20-premium a.obj_galley_link,
body.d20-premium .galleys_links a,
body.d20-premium ul.galleys_links a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #3b2352 !important;
  color: #ffffff !important;
  border: 1px solid #3b2352 !important;
  border-radius: 0 !important;
  padding: 10px 18px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  margin: 0 !important;
  font-weight: 700 !important;
}

/* inner border collapse (avoid double borders) */
body.d20-premium .btn-group>a+a,
body.d20-premium .btn-group>a.galley-link+a.galley-link {
  border-left-width: 0 !important;
}

/* --- PILL: left rounding on FIRST child (PDF) --- */
body.d20-premium .btn-group>a:first-child,
body.d20-premium .btn-group>a.galley-link:first-child {
  border-top-left-radius: 14px !important;
  border-bottom-left-radius: 14px !important;
}

/* --- PILL: right rounding on LAST child (EPUB) --- */
body.d20-premium .btn-group>a:last-child,
body.d20-premium .btn-group>a.galley-link:last-child {
  border-top-right-radius: 14px !important;
  border-bottom-right-radius: 14px !important;
}

/* --- hover --- */
body.d20-premium .btn-group>a:hover,
body.d20-premium a.galley-link:hover,
body.d20-premium a.obj_galley_link:hover,
body.d20-premium .galleys_links a:hover {
  filter: brightness(1.12) !important;
  color: #fff !important;
}

/* --- ul.galleys_links fallback (if OJS uses list markup) --- */
body.d20-premium ul.galleys_links {
  list-style: none !important;
  padding: 0 !important;
  margin: 10px 0 0 0 !important;
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  border-radius: 14px !important;
  overflow: visible !important;
}

body.d20-premium ul.galleys_links>li {
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
}

body.d20-premium ul.galleys_links>li>a+a,
body.d20-premium ul.galleys_links>li+li>a {
  border-left-width: 0 !important;
}

body.d20-premium ul.galleys_links>li:first-child>a {
  border-top-left-radius: 14px !important;
  border-bottom-left-radius: 14px !important;
}

body.d20-premium ul.galleys_links>li:last-child>a {
  border-top-right-radius: 14px !important;
  border-bottom-right-radius: 14px !important;
}

/* ============================================================
   D20 FIX: Index-only RIGHT padding for article cards
   Actual markup: div.article-summary.media > div.media-body
   (NOT .obj_article_summary)
   Scoped to body.d20-premium.pkp_page_index only.
   ============================================================ */

/* Box-sizing safety net */
body.d20-premium.pkp_page_index .article-summary,
body.d20-premium.pkp_page_index .article-summary .media-body,
body.d20-premium.pkp_page_index .article-summary .btn-group,
body.d20-premium.pkp_page_index .article-summary .meta,
body.d20-premium.pkp_page_index .obj_article_summary,
body.d20-premium.pkp_page_index .obj_article_summary .media-body {
  box-sizing: border-box !important;
}

/* Breathing room on right side of the card */
body.d20-premium.pkp_page_index .article-summary,
body.d20-premium.pkp_page_index .obj_article_summary {
  padding-right: 22px !important;
}

/* Breathing room on the media-body (text area) */
body.d20-premium.pkp_page_index .article-summary .media-body,
body.d20-premium.pkp_page_index .obj_article_summary .media-body {
  padding-right: 14px !important;
}

/* Prevent clipping */
body.d20-premium.pkp_page_index .article-summary,
body.d20-premium.pkp_page_index .article-summary .media-body,
body.d20-premium.pkp_page_index .article-summary .btn-group,
body.d20-premium.pkp_page_index .obj_article_summary,
body.d20-premium.pkp_page_index .obj_article_summary .media-body {
  overflow: visible !important;
}

/* =========================================================
   D20 FIX: index article galleys overflow (buttons row)
   Objetivo: evitar que los botones se salgan del card
   Alcance: SOLO index (homepage issue TOC listing)
   ========================================================= */

/* =========================================================
   D20 FIX: index galleys overflow — FORCE FLEX (v2)
   Reason A didn't flex: your markup is NOT using .btn-group
   or the theme sets floats/inline-block on li/a.
   Scope: ONLY homepage index
   ========================================================= */

/* 1) Hit ALL common OJS galleys containers (btn-group OR ul/li variants) */
body.d20-premium.pkp_page_index .issue-toc .galleys .btn-group,
body.d20-premium.pkp_page_index .issue-toc .galleys .galleys_links,
body.d20-premium.pkp_page_index .issue-toc .galleys .galleys,
body.d20-premium.pkp_page_index .issue-toc .galleys ul,
body.d20-premium.pkp_page_index .issue-toc .galleys ol {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  margin: 10px 0 0 !important;
  list-style: none !important;
  overflow: hidden !important;
}

/* 2) Neutralize float/inline-block rules that prevent wrapping */
body.d20-premium.pkp_page_index .issue-toc .galleys li,
body.d20-premium.pkp_page_index .issue-toc .galleys_links li {
  float: none !important;
  display: contents !important;
  /* lets the anchor behave as the flex item */
}

/* 3) Make anchors behave like “buttons” and wrap correctly */
body.d20-premium.pkp_page_index .issue-toc .galleys a,
body.d20-premium.pkp_page_index .issue-toc .galleys_links a,
body.d20-premium.pkp_page_index .issue-toc .galleys .btn-group a,
body.d20-premium.pkp_page_index .issue-toc .galleys .btn-group .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  flex: 1 1 220px !important;
  /* desktop: 2-ish per row */
  min-width: 160px !important;
  max-width: 100% !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;

  box-sizing: border-box !important;
}

/* 4) Mobile: stack */
@media (max-width: 640px) {

  body.d20-premium.pkp_page_index .issue-toc .galleys a,
  body.d20-premium.pkp_page_index .issue-toc .galleys_links a,
  body.d20-premium.pkp_page_index .issue-toc .galleys .btn-group a,
  body.d20-premium.pkp_page_index .issue-toc .galleys .btn-group .btn {
    flex-basis: 100% !important;
    min-width: 0 !important;
  }
}

/* ═══════════════════════════════════════════════════════
   END D20 REGRESSION FIX BLOCK — 2026-02-27  v20260227-18
   ═══════════════════════════════════════════════════════ */

/* =========================================================================
   SCOPED REDESIGN: About the Journal Page (Homepage Block HERO CARD)
   Applies only within .rtd-about-wrap on the homepage index
   ========================================================================= */
body.d20-premium.pkp_page_index .rtd-about-wrap {
  --rtd-primary: var(--d20-purple, #3f264d);
  --rtd-primary-gradient: linear-gradient(135deg, #3f264d 0%, #2f1b39 100%);
  --rtd-bg-color: #ffffff;
  --rtd-border-color: rgba(63, 38, 77, 0.08);
  --rtd-shadow: 0 12px 30px rgba(31, 18, 41, 0.08), 0 4px 10px rgba(0, 0, 0, 0.03);
  --rtd-shadow-hover: 0 16px 40px rgba(31, 18, 41, 0.12), 0 6px 14px rgba(0, 0, 0, 0.05);
  --rtd-text-main: #343a40;
  --rtd-text-muted: #6c757d;
  --rtd-accent: var(--d20-gold, #c9a227);
  --rtd-callout-bg: #fdfbf7;
  --rtd-callout-border: var(--d20-gold, #c9a227);
  --rtd-callout-text: #594d23;

  font-family: inherit;
  margin: 2.5rem 0;
  max-width: 100%;
  line-height: 1.7;
}

body.d20-premium.pkp_page_index .rtd-about-wrap .rtd-about-card {
  background-color: var(--rtd-bg-color);
  border: 1px solid var(--rtd-border-color);
  border-radius: 16px;
  box-shadow: var(--rtd-shadow);
  overflow: hidden;
  transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s ease;
}

body.d20-premium.pkp_page_index .rtd-about-wrap .rtd-about-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--rtd-shadow-hover);
}

/* Hero Header Band */
body.d20-premium.pkp_page_index .rtd-about-wrap .rtd-about-header {
  background: var(--rtd-primary-gradient);
  padding: 1.8rem 2.5rem;
  border-bottom: 4px solid var(--rtd-accent);
}

body.d20-premium.pkp_page_index .rtd-about-wrap .rtd-about-title {
  font-size: clamp(1.8rem, 2.5vw, 2.2rem) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  letter-spacing: -0.3px !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

body.d20-premium.pkp_page_index .rtd-about-wrap .rtd-title-icon {
  margin-right: 12px;
  font-size: 1.2em;
  line-height: 1;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.3));
}

body.d20-premium.pkp_page_index .rtd-about-wrap .rtd-divider {
  flex-grow: 1;
  height: 2px;
  background-color: rgba(255, 255, 255, 0.2);
  margin-left: 1.5rem;
  border-radius: 2px;
}

/* Rich Text Content Area */
body.d20-premium.pkp_page_index .rtd-about-wrap .rtd-about-content {
  padding: 2.5rem;
  color: var(--rtd-text-main);
  font-size: 1.1rem;
}

body.d20-premium.pkp_page_index .rtd-about-wrap .rtd-about-content p {
  margin-bottom: 1.25rem;
  color: inherit;
  line-height: 1.7;
}

body.d20-premium.pkp_page_index .rtd-about-wrap .rtd-about-content p:last-child {
  margin-bottom: 0;
}

/* Styled Callout Box within content */
body.d20-premium.pkp_page_index .rtd-about-wrap .rtd-callout,
body.d20-premium.pkp_page_index .rtd-about-wrap .rtd-about-content blockquote {
  background-color: var(--rtd-callout-bg);
  border-left: 6px solid var(--rtd-callout-border);
  color: var(--rtd-callout-text);
  padding: 1.5rem 1.8rem;
  border-radius: 0 10px 10px 0;
  margin: 2rem 0;
  font-size: 1.05rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
  font-style: normal;
}

/* Styling native lists in the editor as nice checklists */
body.d20-premium.pkp_page_index .rtd-about-wrap .rtd-about-content ul {
  list-style: none;
  padding-left: 0;
  margin: 1.8rem 0;
}

body.d20-premium.pkp_page_index .rtd-about-wrap .rtd-about-content ul li {
  position: relative;
  padding-left: 32px;
  margin-bottom: 1rem;
  color: inherit;
}

body.d20-premium.pkp_page_index .rtd-about-wrap .rtd-about-content ul li::before {
  content: "✔";
  /* Unicode Default Checkmark */
  position: absolute;
  left: 0;
  top: 2px;
  color: #28a745;
  font-size: 1.1rem;
  font-weight: bold;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
  body.d20-premium.pkp_page_index .rtd-about-wrap .rtd-about-header {
    padding: 1.5rem;
  }

  body.d20-premium.pkp_page_index .rtd-about-wrap .rtd-about-content {
    padding: 1.5rem;
  }

  body.d20-premium.pkp_page_index .rtd-about-wrap .rtd-divider {
    display: none;
    /* Hide line on small screens to save space */
  }
}

/* =========================================================
   DESIGN PASS 2 — Visual Bug Fixes  2026-03-10
   ========================================================= */

/* ─── FIX P2-A: Article detail galley buttons (.download) ─── */
body.d20-premium .article-sidebar .download {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-top: 12px !important;
  margin-bottom: 16px !important;
}

body.d20-premium .article-sidebar .download .galley-link {
  flex: 1 1 calc(50% - 3px) !important;
  min-width: 80px !important;
  border-radius: var(--d20-radius-sm, 8px) !important;
  background: var(--d20-purple, #3f264d) !important;
  color: #fff !important;
  text-align: center !important;
  padding: 10px 14px !important;
  font-weight: 700 !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  text-decoration: none !important;
  transition: transform 0.18s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}

body.d20-premium .article-sidebar .download .galley-link:hover {
  background: var(--d20-purple-700, #2f1b39) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 18px rgba(63, 38, 77, 0.25) !important;
}

/* ─── FIX P2-B: Sidebar "Enviar un artículo" contrast ─── */
body.d20-premium .pkp_block .btn,
body.d20-premium .pkp_block .btn-default,
body.d20-premium .pkp_block a.btn,
body.d20-premium .pkp_block a.btn-default,
body.d20-premium .sidebar .btn,
body.d20-premium .sidebar .btn-default {
  background: var(--d20-purple, #3f264d) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: var(--d20-radius-sm, 8px) !important;
  font-weight: 700 !important;
  padding: 12px 18px !important;
  text-decoration: none !important;
  display: block !important;
  text-align: center !important;
}

body.d20-premium .pkp_block .btn:hover,
body.d20-premium .pkp_block .btn-default:hover,
body.d20-premium .sidebar .btn:hover,
body.d20-premium .sidebar .btn-default:hover {
  background: var(--d20-purple-700, #2f1b39) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(63, 38, 77, 0.25) !important;
}

/* ─── FIX P2-C: Sidebar section headers — force white text ─── */
body.d20-premium .pkp_block .d20-section-header,
body.d20-premium .sidebar .d20-section-header,
body.d20-premium .pkp_block h3,
body.d20-premium .sidebar h3 {
  color: var(--d20-text, #1e1e2f) !important;
}

/* Headings that use a purple BG must have white text */
body.d20-premium .pkp_block [style*="background"],
body.d20-premium .sidebar [style*="background"] {
  color: #fff !important;
}

body.d20-premium .d20-section-header,
body.d20-premium .d20-section-header--index {
  color: #fff !important;
}

/* ─── FIX P2-D: Author detail icons — unified purple ─── */
body.d20-premium .d20-author-icon {
  color: var(--d20-purple, #3f264d);
}

/* =========================================================
   MIGRATED FROM legacy styleSheet.css (OJS custom upload)
   These styles support custom HTML content in OJS pages
   (Editorial Team, About, Issue TOC, sidebar blocks).
   Safe to keep — they are scoped and don't conflict.
   ========================================================= */

/* ─── Editorial Team / Committees ─── */
.ojs-committees{max-width:1100px;margin:20px auto;padding:0 10px;font-family:"Inter","Segoe UI","Helvetica Neue",Arial,sans-serif;}
.ojs-committees .committee{margin:0 0 18px 0;}
.ojs-committees .committee-title{
  background:#5e4862;color:#fff;font-weight:700;
  padding:14px 18px;border-radius:6px;
  box-shadow:0 2px 0 rgba(0,0,0,.06);
}
.ojs-committees .committee-body{
  background:#fff;border:1px solid #e6e0ea;border-top:0;
  border-radius:0 0 6px 6px;padding:16px;
}
.ojs-committees .person-card{
  border:1px solid #ece7f0;border-left:4px solid #C9A227;
  border-radius:6px;background:#fff;
  margin:0 0 14px 0;overflow:hidden;
  padding:20px 20px 10px 20px;
}
.ojs-committees .person-header{margin-bottom:15px;}
.ojs-committees .person-left{text-align:center;padding-bottom:15px;}
.ojs-committees .person-avatar{
  width:110px;height:110px;border-radius:50%;
  display:inline-block;border:4px solid #fff;
  box-shadow:0 2px 10px rgba(0,0,0,.10);
  object-fit:cover;
}
@media (min-width:768px){
  .ojs-committees .person-left{text-align:left;padding-bottom:0;}
  .ojs-committees .person-right{padding-left:15px;}
}
.ojs-committees .person-name{font-size:18px;font-weight:800;color:#3b2f3f;margin:0 0 4px 0;line-height:1.2;}
.ojs-committees .person-role{font-weight:700;color:#5e4862;margin-bottom:8px;text-transform:uppercase;font-size:12px;}
.ojs-committees .person-affiliation{margin-bottom:8px;}
.ojs-committees .person-institution{font-weight:600;color:#3b2f3f;}
.ojs-committees .person-location{color:#6b6b6b;font-size:13px;margin-top:2px;}
.ojs-committees .ror-link{display:inline-block;margin-left:6px;vertical-align:middle;}
.ojs-committees .ror-icon{width:16px;height:16px;opacity:.85;vertical-align:middle;}
.ojs-committees .person-contact{font-size:14px;margin-bottom:12px;color:#3b2f3f;}
.ojs-committees .person-contact a{color:#5e4862;text-decoration:none;font-weight:600;}
.ojs-committees .person-contact a:hover{text-decoration:underline;color:#C9A227;}
.ojs-committees .person-chips{margin-bottom:10px;}
.ojs-committees .chip{
  display:inline-block;background:#f4f1f8;border:1px solid #e6e0ea;
  color:#5e4862;border-radius:18px;
  padding:6px 10px;margin:0 8px 8px 0;
  text-decoration:none;font-weight:600;font-size:12px;
}
.ojs-committees .chip:hover{border-color:#C9A227;color:#3b2f3f;}
.ojs-committees .person-bio{line-height:1.65;color:#2b2b2b;border-top:1px solid #eee;padding-top:15px;}
.ojs-committees .person-bio p{margin:0 0 10px 0;}
.ojs-committees .person-bio p:last-child{margin-bottom:0;}
.ojs-committees .person-meta-block{
  background:#f4f1f8;border:1px solid #e6e0ea;border-left:4px solid #C9A227;
  border-radius:6px;padding:10px 12px;margin:12px 0 14px 0;
}
.ojs-committees .person-meta-block .meta-title{
  font-weight:800;color:#3b2f3f;text-transform:uppercase;font-size:11px;letter-spacing:.02em;
  margin:0 0 6px 0;
}
.ojs-committees .person-meta-block p{margin:0;color:#2b2b2b;line-height:1.55;}
.ojs-committees .bio-details{margin-top:10px;}
.ojs-committees .bio-details > summary{
  cursor:pointer;user-select:none;
  display:inline-block;padding:6px 10px;border-radius:16px;
  background:#f4f1f8;border:1px solid #e6e0ea;color:#5e4862;
  font-weight:700;font-size:12px;
}
.ojs-committees .bio-details[open] > summary{border-color:#C9A227;color:#3b2f3f;}
.ojs-committees .bio-details > summary::-webkit-details-marker{display:none;}
.ojs-committees .bio-details .person-bio-inner{margin-top:10px;}

/* ─── Issue Metadata Table ─── */
.rtd-meta{
  max-width:1100px;margin:18px 0;padding:18px;
  background:#fbf7f1;border-radius:14px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}
.rtd-meta__grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;}
.rtd-box{background:#fff;border:1px solid rgba(35,20,40,.12);border-radius:12px;padding:16px 16px 8px;}
.rtd-title{margin:0 0 10px 0;font-weight:800;color:#4f2f5a;font-size:18px;letter-spacing:.2px;}
.rtd-row{display:grid;grid-template-columns:220px 1fr;gap:14px;padding:10px 0;border-bottom:1px solid rgba(35,20,40,.10);}
.rtd-row:last-child{border-bottom:none;}
.rtd-k{font-weight:800;color:#222;}
.rtd-v{color:rgba(31,31,31,.85);word-break:break-word;}
@media (max-width:900px){
  .rtd-meta__grid{grid-template-columns:1fr;}
  .rtd-row{grid-template-columns:1fr;}
}

/* ─── Donut Chart (About page) ─── */
.rted-donut-chart{
  width:250px;height:250px;border-radius:50%;
  position:relative;display:flex;align-items:center;justify-content:center;
  background:conic-gradient(
    #e67e22 0% 30%,#5a466a 30% 50%,#7f8c8d 50% 65%,
    #2c3e50 65% 79%,#ffcc00 79% 89%,#bdc3c7 89% 100%
  );
  box-shadow:0 4px 10px rgba(0,0,0,0.1);margin:20px auto;
}
.rted-donut-chart::before{
  content:"RTED";position:absolute;width:150px;height:150px;
  background-color:white;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-weight:bold;color:#5a466a;font-size:1.6em;z-index:5;
}
.pct-label{position:absolute;font-weight:bold;font-size:14px;color:white;z-index:10;}
.p30{top:65px;right:45px;}.p20{bottom:55px;right:55px;}
.p15{bottom:45px;left:80px;}.p14{top:110px;left:25px;}
.p10{top:45px;left:95px;color:#5a466a;}
.legend-container{width:100%;margin-top:20px;}
.legend-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.legend-text{display:flex;align-items:center;text-align:left !important;}
.dot{font-size:20px;margin-right:8px;line-height:1;}

/* ─── ORCID Icon ─── */
.orcid_icon{width:16px;height:16px;}

/* =========================================================
   Article Metrics Widget (main content — Citations / Views / Altmetric)
   ========================================================= */
.d20-metrics-section {
  margin-top: 24px;
}
.d20-metrics-widget {
  background: #fff;
  border: 1px solid #e6e0ea;
  border-radius: 10px;
  padding: 28px 24px 20px;
  margin: 16px 0 24px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0,0,0,.05);
}
.d20-metrics-row {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center;
  align-items: flex-start;
  gap: 40px;
  flex-wrap: nowrap;
}
.d20-metric-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 0 0 auto;
  min-width: 100px;
}
.d20-metric-label {
  display: block;
  margin-top: 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.2px;
  color: #555;
  text-transform: uppercase;
}
/* Views circle — navy style */
.d20-views-circle {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: #1b2a4a;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 3px 10px rgba(27,42,74,.35);
}
.d20-views-number {
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .3px;
}
/* PlumX badge container */
.d20-metric-plumx {
  min-height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* Altmetric badge container */
.d20-metric-altmetric {
  min-height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.d20-metric-altmetric .altmetric-embed {
  display: inline-block;
}
/* Hide the Altmetric item entirely when the badge has no data */
.d20-metric-item:has(.altmetric-embed[style*="display: none"]),
.d20-metric-item:has(.altmetric-embed:empty) {
  display: none;
}
/* Dimensions badge container */
.d20-metric-dimensions {
  min-height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.d20-metric-dimensions a {
  text-decoration: none !important;
}
/* Footer link */
.d20-metrics-footer {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid #eee;
}
.d20-metrics-footer a {
  color: #555;
  font-size: 13px;
  text-decoration: none;
}
.d20-metrics-footer a:hover {
  color: #3f264d;
  text-decoration: underline;
}
.d20-metrics-footer .fa-info-circle {
  color: #1b2a4a;
  margin-right: 4px;
}
/* Responsive: stack on small screens */
@media (max-width: 576px) {
  .d20-metrics-row {
    flex-wrap: wrap !important;
    gap: 20px;
  }
  .d20-views-circle { width: 70px; height: 70px; }
  .d20-views-number { font-size: 15px; }
}

/* =========================================================
   FIX BATCH — 2026-03-12
   1. CTA dark-on-dark text
   2. Dropdown menus hidden behind panels
   3. Keywords missing separators
   4. Sidebar blocks consistent sizing
   5. Sidebar top alignment with main content
   6. Navbar solid on inner pages
   7. Downloads chart & Métricas table styling
   8. Plantillas para Autores — stacked rows
   ========================================================= */

/* ─── 1. Community CTA: dark text on light bg ─── */
body.d20-premium .d20-community-cta__title,
body.d20-premium h3.d20-community-cta__title {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}

/* ─── 2. How-to-cite dropdowns clipped by overflow ─── */
body.d20-premium .how-to-cite .panel-body {
  overflow: visible !important;
}
body.d20-premium .how-to-cite .btn-group {
  position: relative;
  z-index: 10;
}
body.d20-premium .how-to-cite .dropdown-menu {
  z-index: 1050;
}
body.d20-premium .article-more-details {
  overflow: visible !important;
}
body.d20-premium .article-more-details .panel {
  overflow: visible !important;
}

/* ─── 3. Keywords: add comma separator between items ─── */
body.d20-premium .keywords .value span {
  display: inline;
}

/* ─── 4. Sidebar blocks: consistent sizing ─── */
body.d20-premium .pkp_structure_sidebar .pkp_block {
  margin: 0 0 14px;
  overflow: hidden;
}
body.d20-premium .pkp_structure_sidebar .pkp_block .content {
  padding: 14px 16px;
}
body.d20-premium .pkp_structure_sidebar .pkp_block .content ul {
  margin: 0;
  padding: 0 0 0 4px;
  list-style: none;
}
body.d20-premium .pkp_structure_sidebar .pkp_block .content li {
  padding: 8px 0;
  border-bottom: 1px solid var(--d20-border);
}
body.d20-premium .pkp_structure_sidebar .pkp_block .content li:last-child {
  border-bottom: none;
}

/* ─── 5. Sidebar: clear fixed navbar on all pages ─── */
body.d20-premium .pkp_structure_sidebar {
  padding-top: 70px !important;
}
body.d20-premium.pkp_page_index .pkp_structure_sidebar {
  padding-top: 27px !important;
}

/* ─── 6. Navbar: solid bg on all pages except index ─── */
body.d20-premium:not(.pkp_page_index) .d20-navbar {
  background: rgba(8, 5, 10, 0.97) !important;
  height: 56px;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.6);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
body.d20-premium:not(.pkp_page_index) .d20-navbar .d20-nav-menu>li>a {
  height: 56px;
}
body.d20-premium:not(.pkp_page_index) .d20-navbar .d20-brand-logo img {
  max-height: 46px;
}

/* ─── 7. Downloads chart & Métricas table ─── */
body.d20-premium .item.downloads_chart {
  margin: 24px 0;
  padding: 20px;
  background: #fff;
  border: 1px solid var(--d20-border);
  border-radius: var(--d20-radius);
  box-shadow: var(--d20-shadow);
}
body.d20-premium .item.downloads_chart .label {
  font-size: 18px;
  font-weight: 800;
  color: var(--d20-text);
  margin: 0 0 16px;
  padding: 0;
  border: none;
  background: none;
}
body.d20-premium .item.downloads_chart canvas {
  max-width: 100%;
}
/* Métricas table below chart */
body.d20-premium .item.galleyViews {
  margin: 0;
  padding: 0;
  background: #fff;
  border: 1px solid var(--d20-border);
  border-radius: var(--d20-radius);
  box-shadow: var(--d20-shadow);
  overflow: hidden;
}
body.d20-premium .item.galleyViews > .label {
  display: block !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #fff !important;
  background: var(--d20-purple) !important;
  border-radius: 0 !important;
  padding: 12px 18px !important;
  margin: 0 !important;
  border: none !important;
  line-height: 1.3;
  letter-spacing: 0.2px;
}
body.d20-premium .item.galleyViews .sub_item {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 14px 18px !important;
  border-bottom: 1px solid var(--d20-border);
  margin: 0 !important;
}
body.d20-premium .item.galleyViews .sub_item:last-child {
  border-bottom: none;
}
body.d20-premium .item.galleyViews .sub_item:nth-child(even) {
  background: #f9f8fc;
}
body.d20-premium .item.galleyViews .sub_item .label {
  display: inline !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--d20-text) !important;
  background: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  white-space: normal !important;
  flex: 1 1 auto;
  line-height: 1.4;
}
body.d20-premium .item.galleyViews .sub_item .value {
  font-size: 17px;
  font-weight: 800;
  color: var(--d20-purple);
  text-align: right;
  flex-shrink: 0;
  padding-left: 16px;
  min-width: 60px;
}

/* ─── 8. Plantillas para Autores: stack links in rows ─── */
body.d20-premium .pkp_block .content a[href*=".doc"],
body.d20-premium .pkp_block .content a[href*=".pdf"],
body.d20-premium .pkp_block .content a[href*="plantilla"],
body.d20-premium .pkp_block .content a[href*="Plantilla"],
body.d20-premium .pkp_block .content a[href*="Declaracion"],
body.d20-premium .pkp_block .content a[href*="declaracion"] {
  display: block;
  padding: 8px 0;
  border-bottom: 1px solid var(--d20-border);
}
body.d20-premium .pkp_block .content a[href*=".doc"]:last-child,
body.d20-premium .pkp_block .content a[href*=".pdf"]:last-child,
body.d20-premium .pkp_block .content a[href*="Declaracion"]:last-child,
body.d20-premium .pkp_block .content a[href*="declaracion"]:last-child {
  border-bottom: none;
}

/* ─── 9. Sidebar block titles: consistent readable size ─── */
body.d20-premium .pkp_structure_sidebar .pkp_block h2.title {
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  padding: 12px 16px !important;
  margin: 0 !important;
  color: #1b2540 !important;
  background: #f8f9fc !important;
  border-bottom: 1px solid rgba(63, 38, 77, 0.15) !important;
}

/* ─── 9b. Sidebar custom block content — tame headings ─── */
body.d20-premium .pkp_structure_sidebar .pkp_block .content h1,
body.d20-premium .pkp_structure_sidebar .pkp_block .content h2,
body.d20-premium .pkp_structure_sidebar .pkp_block .content h3 {
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  margin: 12px 0 10px !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
}
body.d20-premium .pkp_structure_sidebar .pkp_block .content h1:first-child,
body.d20-premium .pkp_structure_sidebar .pkp_block .content h2:first-child,
body.d20-premium .pkp_structure_sidebar .pkp_block .content h3:first-child {
  margin-top: 0 !important;
}

/* ─── 9c. Sidebar block content paragraphs ─── */
body.d20-premium .pkp_structure_sidebar .pkp_block .content p {
  margin: 4px 0 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

/* ─── 10. "Enviar un artículo" button: proper styling ─── */
body.d20-premium .pkp_structure_sidebar .pkp_block .content a.btn,
body.d20-premium .pkp_structure_sidebar .pkp_block .content a[href*="submission"] {
  display: inline-block;
  padding: 8px 20px;
  border: 2px solid var(--d20-purple);
  border-radius: 999px;
  color: var(--d20-purple) !important;
  font-weight: 700;
  font-size: 13px;
  text-decoration: none;
  text-align: center;
  transition: all 0.2s;
  margin: 4px 0;
}
body.d20-premium .pkp_structure_sidebar .pkp_block .content a.btn:hover,
body.d20-premium .pkp_structure_sidebar .pkp_block .content a[href*="submission"]:hover {
  background: var(--d20-purple);
  color: #fff !important;
}

/* ─── 11. Keywords: comma-separated with "y"/"and" before last ─── */
.d20-keywords-list {
  display: inline;
}
.d20-keyword {
  display: inline;
}
/* Add ", " between all keywords except before the last */
.d20-keyword + .d20-keyword:not(:last-child)::before {
  content: ", ";
}
/* Add " y " before the last keyword (Spanish default) */
.d20-keyword:last-child:not(:only-child)::before {
  content: " y ";
}
/* English locale: use " and " instead */
html[lang="en-US"] .d20-keyword:last-child:not(:only-child)::before {
  content: " and ";
}

/* ─── 12. "Número actual" header — more breathing room ─── */
body.d20-premium.pkp_page_index .current_issue .page-header,
body.d20-premium.pkp_page_issue .page-header {
  padding: 14px 18px !important;
  margin-bottom: 16px !important;
}

body.d20-premium.pkp_page_index .current_issue .page-header h1,
body.d20-premium.pkp_page_index .current_issue .page-header h2,
body.d20-premium.pkp_page_issue .page-header h1,
body.d20-premium.pkp_page_issue .page-header h2 {
  padding: 4px 0 !important;
  margin: 4px 0 !important;
}

/* ─── 13. Channel buttons — extra padding ─── */
body.d20-premium .d20-community-cta__channels {
  padding: 0 16px 8px;
}

/* ─── 14. Article detail — justify all paragraphs ─── */
body.d20-premium.pkp_page_article .article-details p,
body.d20-premium.pkp_page_article .article-summary p,
body.d20-premium.pkp_page_article .article-abstract p,
body.d20-premium.pkp_page_article .article-references p,
body.d20-premium.pkp_page_article .article-more-details p,
body.d20-premium.pkp_page_article .panel-body p {
  text-align: justify;
}