/* PRINCIPIA IURIS | OJS 3.5 | Health Sciences | Hoja completa */
:root {
  --pi-navy: #0d3157;
  --pi-dark: #092744;
  --pi-blue: #145486;
  --pi-yellow: #ffcf00;
  --pi-bg: #f7f9fb;
  --pi-line: #dce5eb;
  --pi-text: #263746;
  --pi-muted: #62717e;
  --pi-shadow: 0 9px 28px rgba(13, 49, 87, .09);
  --pi-sans: "Segoe UI", Arial, sans-serif;
  --pi-serif: Georgia, "Times New Roman", serif
}

html {
  scroll-behavior: smooth
}

body {
  background: var(--pi-bg);
  color: var(--pi-text);
  font: 16px/1.6 var(--pi-sans);
  -webkit-font-smoothing: antialiased
}

body a {
  color: var(--pi-blue)
}

body a:hover {
  color: var(--pi-dark)
}

body img {
  max-width: 100%;
  height: auto
}

body :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--pi-yellow);
  outline-offset: 3px
}

/* Cabecera y navegación Bootstrap 5: el menú se controla por JS propio. */
body .main-header {
  position: relative;
  z-index: 100;
  color: #fff;
  background: var(--pi-navy) !important;
  border-top: 5px solid var(--pi-yellow);
  box-shadow: 0 5px 20px rgba(9, 39, 68, .12)
}

body .main-header>.container {
  width: 100%;
  max-width: 1320px;
  padding-inline: 20px;
  margin-inline: auto
}

body .main-header .navbar-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 24px 15px 16px
}

body .main-header .navbar-logo img {
  display: block;
  max-width: min(760px, 92vw);
  max-height: 125px;
  object-fit: contain
}

body .main-header .navbar {
  position: relative;
  min-height: 66px;
  padding: 0;
  background: var(--pi-yellow) !important;
  overflow: visible
}

body .main-header #main-navbar {
  min-height: 66px;
  align-items: center
}

body .main-header #primaryNav {
  display: flex;
  width: 100%;
  margin: 0;
  padding: 0;
  align-items: stretch;
  justify-content: space-between
}

body .main-header #primaryNav>.nav-item {
  position: relative;
  display: flex;
  flex: 1 1 0;
  min-width: 0
}

body .main-header #primaryNav>.nav-item>.nav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 66px;
  width: 100%;
  padding: 12px 10px;
  color: var(--pi-dark) !important;
  font: 700 .88rem/1.3 var(--pi-sans);
  letter-spacing: .025em;
  text-align: center;
  text-transform: uppercase;
  transition: background-color .2s, color .2s
}

body .main-header #primaryNav>.nav-item>.nav-link:hover,
body .main-header #primaryNav>.nav-item>.nav-link:focus-visible,
body .main-header #primaryNav>.nav-item.pi-open>.nav-link {
  color: #fff !important;
  background: var(--pi-navy) !important
}

body .main-header #primaryNav .dropdown-toggle::after {
  margin-left: 7px;
  border-top-color: currentColor !important
}

body .main-header #primaryNav>.dropdown {
  z-index: 105
}

body .main-header #primaryNav>.dropdown>.dropdown-menu {
  display: none;
  position: absolute;
  z-index: 110;
  top: 100%;
  left: 0;
  min-width: 245px;
  max-width: min(360px, calc(100vw - 30px));
  padding: 8px;
  border: 1px solid var(--pi-line);
  border-top: 3px solid var(--pi-yellow);
  border-radius: 0 0 9px 9px;
  background: #fff;
  box-shadow: 0 14px 30px rgba(9, 39, 68, .18)
}

body .main-header #primaryNav>.dropdown.pi-open>.dropdown-menu {
  display: block !important
}

body .main-header .dropdown-item {
  display: block;
  padding: 10px 12px;
  color: var(--pi-text) !important;
  border-radius: 5px;
  font-size: .9rem;
  white-space: normal
}

body .main-header .dropdown-item:hover,
body .main-header .dropdown-item:focus-visible {
  color: var(--pi-navy) !important;
  background: #f2f7fa
}

body .main-header #userNav {
  display: none !important
}

body .main-header #primaryNav-userNav {
  display: none !important
}

body .main-header .language-toggle .btn {
  padding: 7px 13px;
  border: 1px solid var(--pi-yellow);
  border-radius: 20px;
  background: var(--pi-yellow);
  color: var(--pi-dark) !important;
  font-size: .8rem;
  font-weight: 700
}

body .main-header .language-toggle .btn:hover {
  background: #ffe066
}

/* Buscador movido desde el bloque OJS sin duplicarlo */
.principia-header-search {
  width: 100%;
  max-width: 870px;
  margin: 0 auto;
  padding: 0 20px 22px
}

.principia-header-search #search,
.principia-header-search .custom-search-journal {
  width: 100%;
  margin: 0;
  padding: 0
}

.principia-header-search .search_bar {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 54px;
  margin: 0;
  padding: 4px;
  background: #fff;
  border: 1px solid #e3eaf0;
  border-radius: 28px;
  box-shadow: 0 5px 16px rgba(0, 0, 0, .12)
}

.principia-header-search .search_bar:focus-within {
  outline: 3px solid rgba(255, 207, 0, .5)
}

.principia-header-search .search-input-tag {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  height: 44px;
  padding: 8px 16px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--pi-text);
  font-size: .94rem
}

.principia-header-search .voice-to-text-container {
  flex: 0 0 44px;
  display: flex;
  align-items: center;
  justify-content: center
}

.principia-header-search :is(#btn_search_voice, .btn-search) {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  cursor: pointer
}

.principia-header-search #btn_search_voice {
  background: transparent;
  color: var(--pi-navy)
}

.principia-header-search .btn-search {
  background: var(--pi-navy);
  color: #fff
}

.principia-header-search .btn-search:hover {
  background: var(--pi-yellow);
  color: var(--pi-dark)
}

/* Layout reutilizable en inicio y archivo; aside sticky no se corta. */
.principia-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
  gap: 30px;
  align-items: start;
  width: min(100%, 1320px);
  max-width: 1320px;
  margin: 34px auto 62px;
  padding: 0 20px
}

.principia-main-column {
  min-width: 0;
  width: 100%
}

.principia-main-column>.container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0
}

.principia-main-column .page-content {
  width: 100%;
  max-width: none
}

.principia-sidebar {
  position: sticky;
  top: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  align-self: start;
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #b9cddc transparent
}

.principia-sidebar .pkp_block {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 20px;
  background: #fff;
  border: 1px solid var(--pi-line);
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(13, 49, 87, .05);
  overflow-wrap: anywhere
}

.principia-sidebar .pkp_block>.title,
.principia-sidebar .pkp_block .content>.title {
  margin: 0 0 14px;
  padding: 0 0 11px;
  border-bottom: 1px solid var(--pi-line);
  color: var(--pi-dark);
  font: 700 1.1rem/1.3 var(--pi-serif)
}

.principia-sidebar ul {
  margin: 0;
  padding: 0;
  list-style: none
}

.principia-sidebar li {
  border-bottom: 1px solid var(--pi-line)
}

.principia-sidebar li:last-child {
  border: 0
}

.principia-sidebar li a {
  display: block;
  padding: 10px 0;
  color: #485866;
  font-size: .88rem
}

.principia-sidebar li a:hover {
  text-decoration: underline;
  color: var(--pi-blue)
}

.principia-sidebar #customblock-acerca .content>p:first-child {
  margin: 0 0 12px !important;
  padding: 0 0 10px !important;
  border-bottom: 1px solid var(--pi-line);
  background: transparent !important;
  color: var(--pi-dark) !important;
  font: 700 1.1rem/1.3 var(--pi-serif) !important
}

.principia-sidebar #customblock-acerca .content>p:first-child span {
  padding: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font: inherit !important
}

.principia-sidebar .block_make_submission {
  order: -10;
  padding: 0;
  color: #fff;
  background: var(--pi-dark);
  border-color: var(--pi-dark)
}

.principia-sidebar .block_make_submission .content {
  padding: 24px
}

.principia-submission-status {
  display: inline-block;
  margin: 0 0 14px;
  padding: 5px 10px;
  border-radius: 4px;
  background: var(--pi-yellow);
  color: var(--pi-dark);
  font-size: .73rem;
  font-weight: 800
}

.principia-submission-title {
  margin: 0 0 10px;
  color: #fff;
  font: 700 1.5rem/1.2 var(--pi-serif)
}

.principia-submission-description {
  margin: 0 0 20px;
  color: #e7eff7;
  font-size: .88rem;
  line-height: 1.6
}

.principia-sidebar .block_make_submission_link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px;
  border-radius: 6px;
  background: var(--pi-yellow);
  color: var(--pi-dark);
  font-size: .81rem;
  font-weight: 800;
  text-align: center;
  text-transform: uppercase
}

.principia-sidebar .block_make_submission_link:hover {
  background: #ffe066;
  color: var(--pi-dark)
}

/* Portada del número, caja de libro de doble cara sin desbordar */
.principia-main-column .container-homepage-issue::before {
  display: block;
  margin-bottom: 13px;
  padding: 0 0 11px;
  border-bottom: 1px solid var(--pi-line);
  content: 'NÚMERO ACTUAL';
  color: var(--pi-navy);
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .1em
}

.principia-main-column :is(.homepage-issue-current, .homepage-issue-identifier, .homepage-issue-published) {
  display: inline-flex;
  align-items: center;
  margin: 0 8px 14px 0;
  font-size: .8rem
}

.principia-main-column :is(.homepage-issue-current, .homepage-issue-identifier) {
  padding: 5px 10px;
  border: 1px solid var(--pi-line);
  border-radius: 5px;
  background: #fff;
  color: var(--pi-navy);
  font-weight: 700
}

.principia-main-column .homepage-issue-header {
  display: grid;
  grid-template-columns: minmax(190px, 235px) minmax(0, 1fr);
  gap: 30px;
  align-items: start;
  margin: 4px 0 34px;
  padding: 30px;
  border: 1px solid var(--pi-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--pi-shadow)
}

.principia-main-column .homepage-issue-header::before,
.principia-main-column .homepage-issue-header::after {
  display: none !important
}

.principia-main-column .homepage-issue-header>.col-lg-3,
.principia-main-column .homepage-issue-header>.col-lg-9 {
  width: 100%;
  max-width: none;
  min-width: 0;
  flex: none;
  padding: 0
}

.principia-main-column .homepage-issue-header>.col-lg-3 {
  perspective: 900px;
  overflow: hidden;
  padding: 7px
}

.pi-book-stage {
  position: relative;
  width: 100%;
  max-width: 235px;
  margin: 0 auto;
  aspect-ratio: 3/4;
  perspective: 900px;
  overflow: hidden;
  border-radius: 5px
}

.pi-book-rotor {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
  transform-origin: center;
  will-change: transform
}

.pi-book-front,
.pi-book-back {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  border: 1px solid var(--pi-line);
  border-radius: 5px;
  box-shadow: 0 9px 22px rgba(9, 39, 68, .15)
}

.pi-book-front img,
.pi-book-back img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain;
  background: #f2f7fa
}

.pi-book-back {
  transform: rotateY(180deg);
  background: #f2f7fa
}

.pi-book-back img {
  filter: brightness(.85)
}

.pi-book-rotor {
  animation: pi-book-spin 11s ease-in-out infinite
}

@keyframes pi-book-spin {

  0%,
  22% {
    transform: rotateY(0deg) scale(.88)
  }

  38% {
    transform: rotateY(150deg) scale(.82)
  }

  55%,
  100% {
    transform: rotateY(360deg) scale(.88)
  }
}

.principia-main-column .homepage-issue-description-wrapper,
.principia-main-column .homepage-issue-description {
  width: 100%;
  min-width: 0;
  max-height: none;
  height: auto;
  overflow: visible;
  background: transparent;
  padding: 0
}

.principia-main-column .homepage-issue-description .h2 {
  margin: 2px 0 16px;
  color: var(--pi-dark);
  font: 700 clamp(1.65rem, 2.4vw, 2.25rem)/1.2 var(--pi-serif)
}

.principia-main-column .homepage-issue-description p {
  height: auto;
  max-height: none;
  margin: 0;
  color: #465562;
  background: transparent;
  font-size: .96rem;
  line-height: 1.75;
  text-align: left
}

.principia-main-column .homepage-issue-description-more {
  margin-top: 18px
}

.principia-main-column .homepage-issue-description-more a,
.principia-main-column>.container>.text-center>a.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 17px;
  border: 1px solid var(--pi-blue);
  border-radius: 6px;
  background: var(--pi-blue);
  color: #fff;
  font-size: .83rem;
  font-weight: 700
}

.principia-main-column .homepage-issue-description-more a:hover,
.principia-main-column>.container>.text-center>a.btn:hover {
  background: var(--pi-dark);
  color: #fff
}

.principia-main-column .issue-wrapper {
  margin: 0
}

.principia-main-column .issue-wrapper>.col-12,
.principia-main-column .issue-wrapper>.col-lg-9 {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%
}

.principia-main-column .issue-toc-section {
  margin-bottom: 32px
}

.principia-main-column .issue-toc-section-title {
  margin: 0 0 17px;
  padding: 0 0 10px;
  border-bottom: 1px solid var(--pi-line);
  color: var(--pi-dark);
  font-size: .88rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase
}

.principia-main-column .article-summary {
  margin: 0 0 13px;
  padding: 20px 23px;
  border: 1px solid var(--pi-line);
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(13, 49, 87, .05);
  transition: transform .24s, box-shadow .24s, border-color .24s
}

.principia-main-column .article-summary:hover {
  transform: translateY(-3px);
  border-color: #b9cddc;
  box-shadow: 0 14px 26px rgba(13, 49, 87, .12)
}

.article-summary-authors {
  margin-bottom: 6px;
  color: var(--pi-blue);
  font-size: .84rem;
  font-weight: 600
}

.article-summary-pages {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  background: #f2f7fa;
  color: var(--pi-muted);
  font-size: .78rem
}

.article-summary-title {
  margin: 8px 0 12px
}

.article-summary-title a {
  color: var(--pi-dark);
  font: 700 1.16rem/1.45 var(--pi-serif)
}

.article-summary-title a:hover {
  text-decoration: underline;
  color: var(--pi-blue)
}

.article-summary-galleys {
  display: flex;
  flex-wrap: wrap;
  gap: 8px
}

.article-summary-galleys .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 6px 13px;
  border: 1px solid #b9cddc;
  border-radius: 5px;
  background: #fff;
  color: var(--pi-blue);
  font-size: .8rem;
  font-weight: 700
}

.article-summary-galleys .btn:hover {
  background: var(--pi-blue);
  color: #fff
}

/* Archivo: lista fluida, portadas limitadas y barra lateral persistente. */
.principia-main-column .issue-archive,
.principia-main-column .page_issue_archive,
.principia-main-column .issues_archive {
  min-width: 0;
  width: 100%;
  max-width: none
}

.principia-main-column :is(.issue-summary, .issue_summary, .issue-archive-item) {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  min-width: 0;
  width: 100%;
  margin: 0 0 16px;
  padding: 18px;
  border: 1px solid var(--pi-line);
  border-radius: 10px;
  background: #fff;
  box-shadow: var(--pi-shadow);
  overflow: hidden
}

.principia-main-column :is(.issue-summary, .issue_summary, .issue-archive-item) img {
  display: block;
  width: auto;
  max-width: 140px;
  max-height: 190px;
  object-fit: contain
}

.principia-main-column :is(.issue-summary, .issue_summary, .issue-archive-item) :is(.media-body, .issue-details, .description) {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere
}

/* Dos bloques trasladados fuera del pie, debajo de contenido + sidebar. */
.principia-after-content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  width: min(calc(100% - 40px), 1280px);
  margin: 0 auto 52px;
  align-items: start
}

.principia-after-content>.pkp_block {
  min-width: 0;
  margin: 0;
  padding: 22px;
  border: 1px solid var(--pi-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--pi-shadow)
}

.principia-after-content .pkp_block>.title,
.principia-after-content #customblock-indexada p:first-child {
  margin: 0 0 14px;
  color: var(--pi-dark);
  font: 700 1.15rem/1.3 var(--pi-serif)
}

.principia-after-content #customblock-indexada table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 6px
}

.principia-after-content #customblock-indexada td {
  width: 50%;
  padding: 9px;
  border: 1px solid var(--pi-line);
  border-radius: 6px;
  text-align: center
}

.principia-after-content #customblock-indexada img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 55px;
  margin: auto;
  object-fit: contain
}

.principia-after-content .principia-visitas {
  width: 100%;
  min-height: 150px;
  overflow: hidden;
  overflow-wrap: anywhere
}

.site-footer {
  color: #fff;
  background: var(--pi-dark);
  border-top: 4px solid var(--pi-yellow)
}

.site-footer .site-footer-content,
.site-footer .site-footer-content p {
  color: #e1eaf5
}

.site-footer .site-footer-content a {
  color: var(--pi-yellow)
}

.site-footer .site-footer-content a:hover {
  color: #fff
}

.site-footer-sidebar {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding-block: 22px
}

.site-footer-sidebar .pkp_block {
  min-width: 0
}

.site-footer-sidebar .row {
  width: 100%
}

/* Entrada y animaciones accesibles: no animar el contenedor sticky. */
@media(prefers-reduced-motion:no-preference) {
  @keyframes pi-appear {
    from {
      opacity: 0;
      translate: 0 15px
    }

    to {
      opacity: 1;
      translate: 0 0
    }
  }

  .principia-main-column .homepage-issue-header,
  .principia-main-column .article-summary,
  .principia-sidebar>.pkp_block,
  .principia-after-content>.pkp_block {
    animation: pi-appear .55s ease-out both
  }

  .principia-main-column .article-summary:nth-child(2n),
  .principia-sidebar>.pkp_block:nth-child(2) {
    animation-delay: .08s
  }

  .principia-main-column .article-summary:nth-child(3n),
  .principia-sidebar>.pkp_block:nth-child(3) {
    animation-delay: .14s
  }

  .principia-sidebar>.pkp_block,
  .principia-after-content>.pkp_block {
    transition: transform .25s, box-shadow .25s, border-color .25s
  }

  .principia-sidebar>.pkp_block:hover,
  .principia-after-content>.pkp_block:hover {
    transform: translateY(-3px);
    border-color: #b9cddc;
    box-shadow: 0 14px 30px rgba(13, 49, 87, .12)
  }
}

@media(max-width:1050px) {
  .principia-layout {
    grid-template-columns: minmax(0, 1fr) minmax(245px, 290px);
    gap: 22px
  }

  .principia-main-column .homepage-issue-header {
    grid-template-columns: minmax(155px, 210px) minmax(0, 1fr);
    gap: 22px;
    padding: 23px
  }
}

@media(max-width:991px) {
  body .main-header .navbar-logo {
    display: none
  }

  body .main-header .navbar-brand {
    display: block;
    max-width: calc(100% - 65px);
    padding: 13px 0
  }

  body .main-header .navbar-brand img {
    max-width: 220px;
    max-height: 54px
  }

  body .main-header #primaryNav {
    display: block;
    width: 100%
  }

  body .main-header #primaryNav>.nav-item {
    display: block;
    width: 100%
  }

  body .main-header #primaryNav>.nav-item>.nav-link {
    justify-content: flex-start;
    min-height: 46px;
    padding: 11px 16px;
    border-bottom: 1px solid rgba(9, 39, 68, .14)
  }

  body .main-header #primaryNav>.dropdown>.dropdown-menu {
    position: static;
    width: 100%;
    max-width: none;
    box-shadow: none
  }

  .principia-header-search {
    max-width: none;
    padding: 10px 0 16px
  }
}

@media(max-width:850px) {
  .principia-layout {
    display: block;
    margin-top: 25px
  }

  .principia-sidebar {
    position: static;
    max-height: none;
    overflow: visible;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 28px
  }

  .principia-sidebar .block_make_submission {
    grid-column: 1/-1
  }
}

@media(max-width:767px) {
  .principia-main-column .homepage-issue-header {
    display: block;
    padding: 20px
  }

  .principia-main-column .homepage-issue-header>.col-lg-3 {
    max-width: 250px;
    margin: 0 auto 20px
  }

  .principia-after-content {
    grid-template-columns: 1fr
  }
}

@media(max-width:560px) {
  .principia-layout {
    padding-inline: 14px
  }

  .principia-sidebar {
    grid-template-columns: 1fr
  }

  .principia-sidebar .block_make_submission {
    grid-column: auto
  }

  .principia-after-content {
    width: calc(100% - 28px)
  }

  .principia-header-search .search-input-tag {
    font-size: .86rem
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto
  }

  .pi-book-stage .pi-book-rotor,
  .pi-book-stage:hover .pi-book-rotor,
  .pi-book-stage:focus-within .pi-book-rotor {
    animation: none !important;
    transform: none !important
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important
  }
}

/* Franja amarilla a todo el ancho sin clip-path, para no cortar Acerca de. */
body .main-header .navbar::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: var(--pi-yellow);
  z-index: -1;
  pointer-events: none
}

body .main-header .navbar {
  isolation: isolate
}

/* El resumen del archivo y las páginas interiores conservan ancho disponible. */
.principia-main-column :is(.page-content, .issue-archive, .page_issue_archive, .issue-archive-list, .issues_archive) {
  width: 100%;
  max-width: none;
  min-width: 0
}

.principia-main-column :is(.issue-summary, .issue_summary, .issue-archive-item) :is(h2, h3, p) {
  overflow-wrap: anywhere
}

.principia-main-column :is(.issue-summary, .issue_summary, .issue-archive-item) .row {
  min-width: 0;
  flex: 1 1 auto
}

/* AJUSTES V2: tarjetas de archivo, pie en dos columnas, giro automático. */
body.pi-archive .principia-main-column .pi-archive-grid,
body.pi-archive .principia-main-column :is(.issues_archive, .issue-archive-list, .issues-list) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  list-style: none !important;
}

body.pi-archive .principia-main-column .pi-archive-grid::before,
body.pi-archive .principia-main-column .pi-archive-grid::after {
  display: none !important;
  content: none !important
}

body.pi-archive .principia-main-column .pi-archive-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  float: none !important;
  flex: initial !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 325px !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 18px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border: 1px solid var(--pi-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: var(--pi-shadow) !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

body.pi-archive .principia-main-column .pi-archive-card:hover,
body.pi-archive .principia-main-column .pi-archive-card:focus-within {
  transform: translateY(-3px);
  border-color: #aac5d9 !important;
  box-shadow: 0 15px 32px rgba(13, 49, 87, .13) !important;
}

body.pi-archive .principia-main-column .pi-archive-card :is(.row, .issue-summary, .issue_summary, .media) {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  flex: initial !important;
  box-sizing: border-box !important;
}

body.pi-archive .principia-main-column .pi-archive-card :is(.col, .col-12, .col-lg-3, .col-lg-9, .col-md-3, .col-md-9, .media-body) {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: initial !important;
  box-sizing: border-box !important;
}

body.pi-archive .principia-main-column .pi-archive-card img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 205px !important;
  object-fit: contain !important;
  object-position: left top !important;
  margin: 0 0 12px !important;
  border-radius: 5px;
}

body.pi-archive .principia-main-column .pi-archive-card :is(h2, h3, .h2, .h3) {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  margin: 0 0 8px !important;
  color: var(--pi-dark);
  font: 700 1.05rem/1.35 var(--pi-serif);
}

body.pi-archive .principia-main-column .pi-archive-card :is(p, .description, .issue-description) {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  overflow-wrap: anywhere;
  color: var(--pi-muted);
  font-size: .88rem;
  line-height: 1.55;
}

/* Los dos bloques están después de contenido y barra lateral, antes del footer. */
body .principia-after-content {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  gap: 20px !important;
  width: calc(100% - 40px) !important;
  max-width: 1280px !important;
  margin: 0 auto 48px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body .principia-after-content>.pkp_block,
body .principia-after-content>#customblock-indexada,
body .principia-after-content>#customblock-contador {
  display: block !important;
  float: none !important;
  flex: none !important;
  grid-column: auto !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 190px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 22px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border: 1px solid var(--pi-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: var(--pi-shadow) !important;
}

body .principia-after-content .content,
body .principia-after-content .principia-visitas,
body .principia-after-content .principia-visitas-body,
body .principia-after-content #principia-stats4u {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  box-sizing: border-box !important;
}

body .principia-after-content #customblock-indexada table {
  table-layout: fixed;
  width: 100% !important
}

body .principia-after-content #customblock-indexada td {
  width: 50% !important;
  overflow: hidden
}

body .principia-after-content #customblock-indexada img {
  max-width: 100% !important;
  max-height: 65px !important
}

@media(max-width:767px) {

  body.pi-archive .principia-main-column .pi-archive-grid,
  body.pi-archive .principia-main-column :is(.issues_archive, .issue-archive-list, .issues-list),
  body .principia-after-content {
    grid-template-columns: minmax(0, 1fr) !important
  }
}

@media(prefers-reduced-motion:reduce) {
  .pi-book-rotor {
    animation: none !important;
    transform: none !important
  }
}

/* V4: Indexación y Visitas bajo Acerca de, a todo el ancho del sidebar. */
body .principia-sidebar>#customblock-indexada,
body .principia-sidebar>#customblock-contador {
  display: block !important;
  position: relative !important;
  float: none !important;
  order: initial !important;
  flex: 0 0 auto !important;
  grid-column: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 20px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  background: #fff !important;
  border: 1px solid var(--pi-line) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 16px rgba(13, 49, 87, .05) !important;
}

body .principia-sidebar>#customblock-indexada .content,
body .principia-sidebar>#customblock-contador .content,
body .principia-sidebar>#customblock-contador .principia-visitas,
body .principia-sidebar>#customblock-contador #principia-stats4u {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow-wrap: anywhere !important;
}

body .principia-sidebar #customblock-indexada p:first-child {
  margin: 0 0 14px;
  padding: 0 0 10px;
  border-bottom: 1px solid var(--pi-line);
  color: var(--pi-dark);
  font: 700 1.1rem/1.3 var(--pi-serif);
}

body .principia-sidebar #customblock-indexada table {
  width: 100% !important;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 5px;
}

body .principia-sidebar #customblock-indexada td {
  width: 50% !important;
  padding: 8px;
  text-align: center;
  border: 1px solid var(--pi-line);
  border-radius: 6px;
  overflow: hidden;
}

body .principia-sidebar #customblock-indexada img {
  display: block;
  width: auto;
  max-width: 100% !important;
  max-height: 56px !important;
  margin: auto;
  object-fit: contain;
}

/* Evita un segundo bloque vacío entre el contenido y el pie. */
body .principia-after-content:empty {
  display: none !important
}

@media(max-width:850px) {

  body .principia-sidebar>#customblock-indexada,
  body .principia-sidebar>#customblock-contador {
    grid-column: 1 / -1 !important
  }
}

