/* Vörös András, Poéta – közös stíluslap az aloldalakhoz: fehér lap, a főoldal pirosa csak hangsúlyként */
:root {
  --piros: #FD0304;
  --sotet-piros: #DE0303;
  --fekete: #000;
  --szoveg: #DE0303;
  --vonal: rgba(0, 0, 0, 0.35);
}

* { box-sizing: border-box; }

html { min-height: 100%; background: #fff; }

/* Mindig látható görgetősáv (a hosszú oldalakon ez mutatja, hol tart az olvasó): a macOS/iOS rejtett
   "overlay" sáv helyett piros csúszka a világos sávon. */
html { scrollbar-color: var(--sotet-piros) #f1e6e6; }
@supports selector(::-webkit-scrollbar) {
  html { scrollbar-color: auto; }
  ::-webkit-scrollbar { width: 14px; height: 14px; }
  ::-webkit-scrollbar-track { background: #f1e6e6; }
  ::-webkit-scrollbar-thumb { background: var(--sotet-piros); border: 3px solid #f1e6e6; border-radius: 8px; min-height: 40px; }
  ::-webkit-scrollbar-thumb:hover { background: var(--fekete); }
}

/* fehér lap, piros szöveggel és címekkel */
body {
  margin: 0;
  min-height: 100vh;
  padding: 0 16px 3rem;
  background: #fff;
  color: var(--szoveg);
  font: 19px/1.55 Georgia, "Times New Roman", serif;
}

a { color: var(--szoveg); text-decoration: none; }
a:hover, a:focus-visible { color: #000; text-decoration: underline; }

.oldalfej, main, footer { max-width: 42rem; margin: 0 auto; }

/* fejléc */
.oldalfej { padding-top: 1.5rem; font-family: Arial, Helvetica, sans-serif; font-size: 14px; }
.oldalfej a { display: inline-block; padding: 4px 0; color: var(--szoveg); }
.oldalfej a:hover { color: #000; text-decoration: underline; }
.oldalfej h1 {
  margin: 0.6rem 0 0;
  padding: 0.6rem 1rem;
  background: var(--sotet-piros);
  color: #fff;
  font: 700 1.8rem/1.2 Arial, Helvetica, sans-serif;
}

main { padding: 2.2rem 0 2.5rem; }

/* tartalomjegyzék */
.tartalom { margin-bottom: 3rem; font-family: Arial, Helvetica, sans-serif; font-size: 14px; }
.tartalom h2 { font-size: 1rem; margin: 0 0 0.6rem; }
.tartalom ul { list-style: none; margin: 0; padding: 0; columns: 16rem; column-gap: 2rem; }
.tartalom li { padding: 2px 0; break-inside: avoid; }
.tartalom li.ev, .tartalom li.felvonas {
  margin: 0.8rem 0 0.2rem; padding: 3px 8px;
  background: var(--sotet-piros); font-weight: 700;
}
.tartalom li.ev a, .tartalom li.felvonas a { color: #fff; }
.tartalom li.ev a:hover, .tartalom li.felvonas a:hover { color: #000; }
.tartalom li.ev:first-child, .tartalom li.felvonas:first-child { margin-top: 0; }
.tartalom li.vers { padding-left: 0.5rem; }

/* évszám-, felvonás- és novellafejlécek: piros sávok */
h2.ev, h2.felvonas, h2.novella {
  margin: 3.5rem 0 1.2rem; padding: 0.4rem 1rem;
  background: var(--sotet-piros); color: #fff;
  font: 700 1.4rem/1.3 Arial, Helvetica, sans-serif;
}
h2.novella b, h2.felvonas b { font-weight: 700; }

/* versek */
article.vers {
  margin: 0 0 3rem;
  content-visibility: auto;
  contain-intrinsic-size: auto 20rem;
}
/* a cím feketén, vastagon, rövid vonallal jelölve: nincs éles színugrás a szöveghez képest */
article.vers h2 {
  margin: 0 0 0.8rem; padding-top: 0.7rem; position: relative;
  font-size: 1.3rem; line-height: 1.3; color: var(--szoveg);
}
article.vers h2::before {
  content: ""; position: absolute; top: 0; left: 0; width: 2.5rem; height: 3px; background: var(--sotet-piros);
}
article.vers p, .bevezeto p, main > p { margin: 0 0 1.1rem; }
p.datum { color: var(--szoveg); font-size: 0.85rem; font-style: italic; }

.bevezeto hr, main > hr { border: 0; border-top: 1px solid var(--vonal); margin: 2rem 0; }
.idoszak { margin: 0 0 1.5rem; color: var(--szoveg); font: 0.95rem Arial, Helvetica, sans-serif; }

/* színdarab és novellák (keresztmetszet, kifejezetek) */
.cimlap { text-align: center; font-size: 1.1rem; margin: 0 0 1rem; }
h3 { font-size: 1.1rem; margin: 2rem 0 0.6rem; color: var(--szoveg); }
h3.vers { font-size: 1.25rem; margin: 2.5rem 0 0.8rem; }
.szerep { font-variant: small-caps; font-weight: 700; letter-spacing: 0.03em; margin-right: 0.15em; }
p.parbeszed { padding-left: 1.2em; text-indent: -1.2em; }

/* az oldal tetejére ugró gomb: szögletes, a jobb oldali sávhoz tapadva, a magasság kb. 2/3-ánál, görgetés közben végig látszik */
.felfele {
  position: fixed; right: 0; top: 66vh; z-index: 10;
  width: 46px; height: 46px; padding: 0; border: 0; border-radius: 0;
  background: var(--sotet-piros); color: #fff; font: 700 24px/46px Arial, Helvetica, sans-serif; text-align: center;
  cursor: pointer;
  opacity: 0; visibility: hidden; transition: opacity 0.2s, visibility 0.2s;
}
.felfele.latszik { opacity: 1; visibility: visible; }
.felfele:hover, .felfele:focus-visible { background: #000; }

/* lábléc */
footer { margin-top: 1.5rem; font: 12px Arial, Helvetica, sans-serif; }
footer a { display: inline-block; padding: 3px 10px; background: var(--sotet-piros); color: #fff; }
footer a:hover { color: #000; text-decoration: none; }

@media (max-width: 600px) {
  body { font-size: 18px; padding: 0 12px 2rem; }
  .oldalfej h1 { font-size: 1.5rem; }
}
@media print {
  body { background: #fff; color: #000; padding: 0; font-size: 12pt; }
  main { padding: 0; }
  .tartalom, footer, .oldalfej a, .felfele { display: none; }
  .oldalfej h1, h2.ev, h2.felvonas, h2.novella { background: none; color: #000; padding: 0; }
  article.vers h2, h3 { color: #000; }
  article.vers h2::before { display: none; }
  article.vers { break-inside: avoid; }
}
