/* ═══════════════════════════════════════════════
   THE HOLY SOULS — the printable booklet, /devotions/holy-souls-booklet
   ═══════════════════════════════════════════════
   Set like the Holy Hour booklet (holy-hour.css): black text, red rubrics
   and initials, ✠ before the core parts, Cinzel capitals for the heads. The
   prayers are the same elements as on /devotions/holy-souls — ea- and hs-
   classes and all — restyled here under .hsb, so this sheet never needs to
   touch the devotion's sheets and the wording on the two pages stays the
   same.

   US Letter, in large type for a dim chapel: 15pt prayers, the Latin a
   size down beneath the English. The fifteen-minute core is marked ✠ Core;
   everything belonging to the thirty-minute path (data-only="30") carries a
   grey rule down its side and its label. On screen each leaf is a sheet. */

@page{size:letter;margin:.7in .75in .8in;}

:root{
  --hsb-ink:#17110c;
  --hsb-red:#9e1b14;
  --hsb-gold:#7d6224;
  --hsb-paper:#fffdf7;
  --hsb-desk:#e9e1cf;
  --hsb-rule:#c4b086;
  --hsb-extra:#9a9184;
}
*{box-sizing:border-box;}
html{background:var(--hsb-desk);}
body.hsb{
  margin:0;color:var(--hsb-ink);
  font-family:"EB Garamond",Georgia,serif;font-size:15pt;line-height:1.42;
  -webkit-print-color-adjust:exact;print-color-adjust:exact;
}

/* ── Screen toolbar ───────────────────────────── */
.hsb-toolbar{
  position:sticky;top:0;z-index:5;
  display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:center;
  padding:12px 16px;background:#1a120b;border-bottom:1px solid rgba(201,168,90,.35);
  font-family:"Cinzel",serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
}
.hsb-toolbar a,.hsb-toolbar button{
  display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;
  font:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:none;cursor:pointer;
  color:#f6f1e6;background:transparent;border:1px solid rgba(201,168,90,.5);border-radius:2px;
}
.hsb-toolbar .hsb-back{border-color:transparent;color:#c9a85a;}
.hsb-toolbar .hsb-primary{background:#c9a85a;color:#1a120b;border-color:#c9a85a;}
.hsb-toolbar a:hover,.hsb-toolbar button:hover{border-color:#e3c987;color:#e3c987;}
.hsb-toolbar .hsb-primary:hover{background:#e3c987;color:#1a120b;}
.hsb-toolbar a:focus-visible,.hsb-toolbar button:focus-visible{outline:2px solid #e3c987;outline-offset:3px;}
.hsb-tip{
  max-width:8.5in;margin:14px auto 0;padding:0 16px;text-align:center;
  font-style:italic;font-size:16px;line-height:1.5;color:#4f412d;
}

/* ── The leaves ───────────────────────────────── */
.hsb-book{padding:22px 12px 60px;}
.hsb-leaf{
  width:8.5in;max-width:100%;min-height:11in;margin:0 auto 24px;
  padding:.7in .75in .8in;background:var(--hsb-paper);
  box-shadow:0 1px 2px rgba(0,0,0,.08),0 10px 30px -12px rgba(60,40,20,.35);
}
.hsb-leaf.hsb-run{min-height:0;}
@media(max-width:860px){
  .hsb-toolbar{position:static;gap:8px;padding:10px;font-size:11px;letter-spacing:.1em;}
  .hsb-toolbar .hsb-back{flex-basis:100%;justify-content:center;min-height:36px;padding:4px;}
  .hsb-toolbar a,.hsb-toolbar button{padding:8px 12px;}
  .hsb-book{padding:14px 0 40px;}
  .hsb-leaf{min-height:0;padding:34px 20px 40px;margin-bottom:12px;}
  .hsb-cover-top,.hsb-cover-foot{padding:0 10px;}
  .hsb-cover h1{font-size:30px;}
  body.hsb{font-size:18px;}
}

/* ── Cover ────────────────────────────────────── */
.hsb-cover{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;
  text-align:center;
}
.hsb-cover::before{
  content:"";position:absolute;inset:.38in;pointer-events:none;
  border:1.5px solid var(--hsb-red);outline:.5px solid var(--hsb-red);outline-offset:-6px;
}
.hsb-cover-top,.hsb-cover-foot{position:relative;padding:0 .3in;}
.hsb-cover-kicker{margin:.25in 0 0;font-family:"Cinzel",serif;font-size:11pt;letter-spacing:.3em;text-transform:uppercase;color:var(--hsb-red);}
.hsb-cover h1{margin:.16in 0 .08in;font-family:"Cinzel",serif;font-weight:600;font-size:36pt;line-height:1.08;letter-spacing:.04em;}
.hsb-cover-sub{margin:0;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:19pt;color:#3a2d20;}
.hsb-cover img{display:block;width:2.6in;height:auto;margin:.3in auto;}
.hsb-cover-verse{margin:0;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:17pt;line-height:1.35;}
.hsb-cover-verse cite{display:block;margin-top:4px;font-family:"Cinzel",serif;font-style:normal;font-size:9pt;letter-spacing:.2em;color:var(--hsb-red);}
.hsb-cover-house{overflow-wrap:anywhere;margin:.2in 0 .2in;font-family:"Cinzel",serif;font-size:9pt;letter-spacing:.2em;text-transform:uppercase;color:var(--hsb-gold);}

/* ── Rubrics, marks and heads ─────────────────── */
.hsb-red{color:var(--hsb-red);font-style:italic;}
.hsb-rubric,.hsb .ea-rubric{
  margin:0 0 8pt;color:var(--hsb-red);font-style:italic;font-size:13pt;line-height:1.4;
}
.hsb-core-mark{font-family:"Cinzel",serif;font-size:11pt;font-weight:600;letter-spacing:.08em;color:var(--hsb-red);white-space:nowrap;}
.hsb-extra-mark,.hsb .hs-only{
  display:inline-block;padding:0 6pt;border:.75pt solid var(--hsb-extra);border-radius:2pt;
  font-family:"Cinzel",serif;font-size:9pt;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#4f4a42;
  background:none;white-space:nowrap;
}
.hsb .hs-only-line{margin:0 0 4pt;}
.hsb [data-only="30"]{border-left:3pt solid var(--hsb-extra);padding-left:12pt;}
.hsb-part [data-only="30"]{margin-left:-15pt;}
.hsb-part.hsb-extra{margin-left:-15pt;}
.hsb-part.hsb-extra [data-only="30"]{border-left:0;padding-left:0;margin-left:0;}

.hsb-num{display:block;margin:0 0 2pt;font-family:"Cinzel",serif;font-size:11pt;letter-spacing:.2em;color:var(--hsb-red);text-align:center;}
.hsb-part{margin:0 0 6pt;}
.hsb-part + .hsb-part{margin-top:24pt;}
.hsb-part-head{text-align:center;margin:0 0 12pt;break-after:avoid;break-inside:avoid;}
/* Keep a part's head with its first prayer: an invisible block the height
   of a short prayer follows the head and is taken back by a negative
   margin, so a head that would sit at the foot of a page moves over. */
.hsb-part-head::after{content:"";display:block;height:2.4in;margin-bottom:-2.4in;}
.hsb-part-head h2,.hsb-intro h2,.hsb-names-leaf h2{
  margin:0;font-family:"Cinzel",serif;font-weight:600;font-size:17pt;letter-spacing:.1em;
  text-transform:uppercase;text-align:center;
}
.hsb-core .hsb-part-head .hsb-num::after{content:"  \2720  Core";font-size:9.5pt;letter-spacing:.12em;}
.hsb-extra .hsb-part-head .hsb-num::after{content:"  \00b7  30-minute path";font-size:9.5pt;letter-spacing:.12em;color:#4f4a42;}
.hsb-latin{display:block;margin-top:2pt;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:14pt;color:var(--hsb-red);letter-spacing:0;text-transform:none;font-weight:500;}
.hsb-pause{
  margin:10pt 0 0;padding:6pt 0 0;border-top:.5pt solid var(--hsb-rule);
  text-align:center;color:var(--hsb-red);font-style:italic;font-size:13.5pt;break-inside:avoid;
}
.hsb-pause::before{content:"\2720  ";font-style:normal;}

/* ── The order and the names ──────────────────── */
.hsb-intro .hsb-rubric{font-size:12.5pt;}
.hsb-intro p{margin:10pt 0 6pt;text-align:justify;hyphens:auto;}
.hsb-intro .hsb-num{margin:0;text-align:center;}
.hsb-order{list-style:none;margin:10pt 0 10pt;padding:0;border-top:.5pt solid var(--hsb-rule);}
.hsb-order li{display:flex;justify-content:space-between;gap:10pt;padding:2.5pt 0;border-bottom:.5pt solid var(--hsb-rule);font-size:13.5pt;}
.hsb-order li span:last-child{font-style:italic;color:#4f412d;white-space:nowrap;}
.hsb-order li.hsb-extra-li span:first-child{padding-left:12pt;border-left:3pt solid var(--hsb-extra);color:#3a332b;}
.hsb-order li.hsb-order-sum{font-family:"Cinzel",serif;font-size:10pt;letter-spacing:.08em;text-transform:uppercase;border-bottom:0;}

.hsb-names-leaf .hsb-rubric{margin-top:12pt;text-align:center;}
.hsb-names{margin:14pt 0 16pt;padding:0 0 0 .35in;}
.hsb-names li{min-height:.46in;padding:.14in 0 2pt;border-bottom:.75pt solid #8c7a5a;font-size:17pt;line-height:1.2;}
.hsb-names li::marker{font-family:"Cinzel",serif;font-size:10pt;color:var(--hsb-red);}

/* ── The prayers (the devotion page's elements) ── */
.hsb .ea-prayer,.hsb .hs-med{margin:0 0 14pt;break-inside:avoid;}
.hsb .ea-prayer.hsb-long,.hsb .hs-med.hsb-long{break-inside:auto;}
.hsb .ea-prayer h3,.hsb .hs-med h3{
  margin:0 0 4pt;text-align:center;font-family:"Cinzel",serif;font-weight:600;
  font-size:13pt;letter-spacing:.08em;text-transform:uppercase;break-after:avoid;
}
.hsb .ea-prayer h3 + .ea-rubric{text-align:center;}
.hsb .ea-lang{
  display:block;margin:8pt 0 3pt;font-family:"Cinzel",serif;font-size:8.5pt;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:var(--hsb-red);
}
.hsb .ea-verse p{margin:0;padding-left:1em;text-indent:-1em;}
.hsb .ea-verse p.ea-stanza{margin-top:7pt;}
.hsb .ea-verse p.ea-dlg{margin-top:3pt;}
.hsb .ea-dlg b{color:var(--hsb-red);font-weight:500;margin-right:3pt;}
.hsb .ea-amen{font-weight:600;}
.hsb .ea-verse b{font-weight:600;}
.hsb .hs-times{margin-top:2pt;color:var(--hsb-red);font-size:13pt;}
.hsb .hs-n{font-weight:600;}
.hsb .hs-bi .hs-la{margin-top:8pt;padding-top:4pt;border-top:.5pt solid var(--hsb-rule);font-size:12.5pt;line-height:1.38;font-style:italic;color:#2e261e;}
.hsb .hs-bi .hs-la .ea-amen{font-style:normal;}
.hsb .hs-each + .hs-each{margin-top:10pt;padding-top:8pt;border-top:.5pt dashed var(--hsb-rule);}
.hsb .hs-each-for{margin:0 0 3pt;font-family:"Cinzel",serif;font-size:9pt;letter-spacing:.16em;text-transform:uppercase;color:var(--hsb-red);}
.hsb .hs-each-for[hidden]{display:none;}

/* Drop the first letter of each prayer in red, as the old books did. */
.hsb .ea-prayer > .hs-bi > .hs-en > p:first-child:not(.ea-dlg)::first-letter,
.hsb .ea-prayer > .ea-verse > p:first-child:not(.ea-dlg)::first-letter,
.hsb .ea-prayer .hs-each .hs-en > p:first-child::first-letter{
  float:left;margin:2pt 4pt 0 0;
  font-family:"Cinzel",serif;font-size:31pt;line-height:.8;color:var(--hsb-red);
}
.hsb .ea-prayer > .hs-bi > .hs-en > p:first-child,
.hsb .ea-prayer > .ea-verse > p:first-child,
.hsb .ea-prayer .hs-each .hs-en > p:first-child{padding-left:0;text-indent:0;}

/* The Offertory: English, then the Latin beneath it. */
.hsb .ea-parallel{display:block;}
.hsb .ea-parallel .hs-la{margin-top:8pt;padding-top:4pt;border-top:.5pt solid var(--hsb-rule);font-size:12.5pt;line-height:1.38;font-style:italic;}

.hsb .ea-silence{margin:4pt 0 8pt;text-align:center;color:var(--hsb-red);font-style:italic;font-size:13.5pt;}
.hsb .ea-silence b{font-family:"Cinzel",serif;font-style:normal;font-weight:500;font-size:9pt;letter-spacing:.2em;text-transform:uppercase;margin-right:6pt;}

.hsb .ea-scripture{margin:0 0 6pt;padding:0;}
.hsb .ea-scripture cite{display:block;margin:0 0 4pt;text-align:center;font-family:"Cinzel",serif;font-style:normal;font-size:9pt;letter-spacing:.18em;text-transform:uppercase;color:var(--hsb-red);}
.hsb .ea-scripture p{margin:0;text-align:justify;hyphens:auto;}
.hsb .hs-quote{margin:0 0 10pt;padding:0;}
.hsb .hs-quote p{margin:0 0 6pt;text-align:justify;hyphens:auto;}
.hsb .hs-quote p + p{text-indent:1.2em;}
.hsb .hs-quote cite,.hsb .ea-source{display:block;margin:3pt 0 0;font-family:"EB Garamond",serif;font-style:italic;font-size:10.5pt;line-height:1.35;color:#4f412d;}
.hsb .hs-quote cite{text-align:right;}
.hsb .ea-note{margin:8pt 0 0;font-size:12pt;line-height:1.38;}

/* Keep helping them */
.hsb .hs-keep{margin:14pt 0 0;padding:10pt 0 0;border-top:.5pt solid var(--hsb-rule);break-inside:avoid;}
.hsb .hs-keep h3{margin:0 0 4pt;text-align:center;font-family:"Cinzel",serif;font-weight:600;font-size:13pt;letter-spacing:.08em;text-transform:uppercase;}
.hsb .ea-checks{list-style:none;margin:0;padding:0;}
.hsb .ea-checks li{position:relative;padding:0 0 5pt 18pt;font-size:13pt;line-height:1.38;}
.hsb .ea-checks li::before{content:"\2720";position:absolute;left:0;top:0;color:var(--hsb-red);}
.hsb .ea-checks a{color:var(--hsb-ink);text-decoration:none;font-style:italic;}
.hsb .ea-checks a::before{content:"— ";}
.hsb-book a{color:inherit;}

.hsb-colophon{margin:12pt 0 0;text-align:center;font-size:10pt;line-height:1.45;color:#4f412d;}
.hsb-colophon b{display:block;margin-bottom:3pt;font-family:"Cinzel",serif;font-weight:500;font-size:9pt;letter-spacing:.22em;text-transform:uppercase;color:var(--hsb-red);}

/* The offerings: the Holy Wounds carry the guide's private-revelation label. */
.hsb .hs-weight{margin:0 0 4pt;font-size:11pt;font-style:italic;color:#4f412d;}
.hsb .hs-weight span{display:inline-block;margin-right:6pt;padding:0 5pt;border:.75pt solid #4f3870;border-radius:2pt;font-family:"Cinzel",serif;font-style:normal;font-size:8.5pt;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#4f3870;}
.hsb h4.ea-lang{margin-top:10pt;}

/* The last page: short prayers to repeat, for the silence of adoration. */
.hsb .hs-asp{display:block;}
.hsb .hs-asp summary{display:block;list-style:none;margin:0 0 4pt;text-align:center;font-family:"Cinzel",serif;font-weight:600;font-size:17pt;letter-spacing:.1em;text-transform:uppercase;}
.hsb .hs-asp summary::-webkit-details-marker{display:none;}
.hsb .hs-asp-kicker{display:block;margin-bottom:4pt;font-size:10pt;letter-spacing:.22em;color:var(--hsb-red);}
.hsb .hs-asp .ea-rubric{text-align:center;margin:6pt 0 16pt;}
.hsb .hs-asp-list{list-style:none;margin:0;padding:0;border-top:.5pt solid var(--hsb-rule);}
.hsb .hs-asp-list li{padding:14pt 0;border-bottom:.5pt solid var(--hsb-rule);text-align:center;}
.hsb .hs-asp-list p{margin:0;font-size:19pt;line-height:1.35;}
.hsb .hs-asp-list .hs-la,.hsb .hs-asp-list .hs-bi .hs-la{margin:3pt 0 0;padding:0;border:0;font-size:15pt;font-style:italic;color:#3a2d20;}
.hsb .hs-asp .ea-source{margin-top:14pt;text-align:center;}

/* ── Print ────────────────────────────────────── */
@media print{
  html,body.hsb{background:#fff;}
  .hsb-toolbar,.hsb-tip{display:none !important;}
  .hsb-book{padding:0;}
  .hsb-leaf{width:auto;min-height:0;margin:0;padding:0;box-shadow:none;background:none;break-after:page;}
  .hsb-leaf:last-child{break-after:auto;}
  .hsb-cover{height:9.4in;}
  .hsb-cover::before{inset:0;}
  a{text-decoration:none;}
}
