@import url('https://fonts.googleapis.com/css2?family=Faustina:ital@0;1&family=Saira:ital,wght@0,300;0,500;1,300;1,500&display=swap');

/* ===== BASE ===== */
html {
  font-family: 'Faustina', serif;
  font-size: 20px;
  line-height: 1.5;
  color: #1a1a1a;
  background: #fdfdfd;
}
body {
  max-width: 36em;
  margin: 0 auto;
  padding: 50px;
  hyphens: none;
  overflow-wrap: break-word;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
}
p { margin: 1em 0; }
a, a:visited { color: #9a00bf; }
img { max-width: 100%; }

/* ===== HEADINGS ===== */
h1, h2, h3, h4, h5, h6 { margin-top: 1.4em; }
h1 {
  font-size: 1.6rem;
  line-height: 2.1rem;
  color: #9a00bf;
  font-weight: normal;
  margin-bottom: 2.5rem;
}
h2 {
  font-size: 1.1rem;
  line-height: 1.2rem;
  color: #9a00bf;
  margin-bottom: -0.5rem;
  font-weight: normal;
}
h3, .Header3 {
  font-size: 1.1rem;
  line-height: 1.2rem;
  color: #9a00bf;
  margin: 2rem 0.8rem -0.5rem 0;
}
h4, h5, h6, .tituloImagen {
  font-family: 'Saira', sans-serif;
  font-weight: 300;
  font-size: 0.9rem;
  line-height: 1.2rem;
  margin: 2rem 0.8rem 1.5rem 0;
  font-style: normal;
}
h5, h6 { font-style: italic; }
h6 { font-weight: normal; }
h6 + h5 { margin-top: -2rem; }

/* ===== LISTS & BLOCKQUOTES ===== */
ol, ul { padding-left: 1.7em; margin-top: 1em; }
li > ol, li > ul { margin-top: 0; }
blockquote {
  margin: 1em 0 1em 1.7em;
  padding-left: 1em;
  border-left: 2px solid #e6e6e6;
  color: #606060;
}

/* ===== CODE ===== */
code {
  font-family: Menlo, Monaco, 'Lucida Console', Consolas, monospace;
  font-size: 85%;
  margin: 0;
  white-space: pre-wrap;
}
pre {
  margin: 1em 0;
  overflow: auto;
}
pre code {
  padding: 0;
  overflow: visible;
  overflow-wrap: normal;
}
.sourceCode { background: transparent; overflow: visible; }

/* ===== TABLES ===== */
table {
  width: 100%;
  margin: 3em 0 4em 0;
  border-collapse: collapse;
  display: block;
  overflow-x: auto;
  font-family: 'Saira', sans-serif;
  font-size: 0.8rem;
  color: grey;
  font-variant-numeric: lining-nums tabular-nums;
}
.tituloImagen + table {
  margin-top: -1em;
}
table caption { margin-bottom: 0.75em; }
tbody {
  margin-top: 0.5em;
  border-top: 3px solid #9a00bf;
  border-bottom: 3px solid #9a00bf;
}
th, td { padding: 0.25em 0.5em; }
th { border-top: 1px solid #1a1a1a; }
td { padding-top: 0.125em; }
.Table, .Cell, .TablePar {
margin: 0em;
padding: 0.3em;
line-height: 1.1em;
}

/* ===== HORIZONTAL RULES ===== */
hr {
  border: 1px solid #9a00bf;
  background: #9a00bf;
  margin: 4rem 0 2rem;
}



/* ===== TOC ===== */
#TOC li { list-style: none; }
#TOC ul { padding-left: 1.3em; }
#TOC > ul { padding-left: 0; }
#TOC a:not(:hover) { text-decoration: none; }

/* ===== INLINE ===== */
span.smallcaps { font-variant: small-caps; }
span.underline { text-decoration: underline; }
div.column { display: inline-block; vertical-align: top; width: 50%; }
div.hanging-indent { margin-left: 1.5em; text-indent: -1.5em; }
ul.task-list { list-style: none; }
.display.math { display: block; text-align: center; margin: 0.5rem auto; }
h1 a, .autor a { vertical-align: super; font-size: small; }

/* ===== CUSTOM CLASSES ===== */
.sub, .subidioma {
  color: #9a00bf;
  font-weight: 300;
  font-size: 1.6rem;
  line-height: 1.6rem;
  margin: -0.9rem 0.8rem 1rem 0;
}
.Super, ._idFootnoteLink {
  vertical-align: super;
  font-size: smaller;
  line-height: 0;
  margin-left: 0.1rem;
  text-decoration: none;
}
.autor, .pertenencia, .pertenencia2, .autorRes, .antetitulo {
  font-family: 'Saira', sans-serif;
  font-weight: 300;
}
.autor {
  font-size: 1.2rem;
  line-height: 1.2rem;
  margin-right: 1.5rem;
}
.autor + .autor { margin-top: -3.2rem; }
.pertenencia {
  font-size: 0.95rem;
  line-height: 1.3rem;
  margin-right: 1.5rem;
  color: grey;
}
.pertenencia2 {
  font-size: 0.85rem;
  line-height: 1.1rem;
  margin: -1rem 1.5rem 2rem 0;
  color: grey;
}
.autorRes {
  font-size: 1.2rem;
  line-height: 1.2rem;
  margin: -1.5rem 1.5rem 3rem 0;
  color: #9a00bf;
}
.antetitulo {
  font-size: 1.2rem;
  line-height: 1.2rem;
  margin: 1rem 1.5rem -2rem 0;
}
.palabras { font-variant: small-caps; text-transform: uppercase; font-size: 0.8rem; }
.epi, .epiggrafes {
  font-family: 'Saira', sans-serif;
  font-size: 0.8rem;
  margin: 0 0 1em 4em;
  text-align: right;
}
.epiggrafes + .epiggrafes,
.epi + .epi { margin-top: -0.7rem; }
.Header2 + .epiggrafes { margin-top: 2rem; }
.res {
  border-top: 1px solid lightgrey;
  border-bottom: 1px solid lightgrey;
  color: grey;
  font-size: 0.7em;
  margin: 2em 0;
}
.small {
  font-size: 0.8rem;
  line-height: 1.1rem;
  margin: 1rem 0 2rem;
  padding-left: 0.5rem;
  border-left: 3px solid #cc0303;
}
.Scaps { text-transform: uppercase; font-size: 0.9rem; }
p.notas > a::before { content: "[enlace] "; }
.Italic { font-style: italic; }

/* ===== MEDIA QUERIES ===== */
@media (max-width: 600px) {
  body { font-size: 0.9em; padding: 1em; }
  h1 { font-size: 1.3rem; line-height: 1.4rem; margin-bottom: 1.5rem; }
  h2 { line-height: 1.2rem; }
  blockquote { margin-left: 0.4em !important; }
  .autor { font-size: 1rem !important; }
  .pertenencia { font-size: 0.8rem !important; }
  .pertenencia2 { margin-bottom: 1rem !important; }
  .palabras { font-size: 0.7rem !important; }
}
@media print {
  body { background: transparent; color: black; font-size: 12pt; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3, h4 { page-break-after: avoid; }
}
