/* ============================================================
   calendar-pages.css — rules from styles.css used by the pages it is linked from: /calendar, /holy-days.
   They were moved here so that no other page downloads them; their
   order, and the comments that went with them, are as they were.
   Linked straight after styles.css.
   ============================================================ */

/* The Paschal Calendar of Ravenna (6th c., Museo Arcivescovile) — a marble
   plate whose spiralling rings tabulate the date of Easter year by year. The
   page's own subtitle promises the computus, and this is the computus in
   stone, so it earns the header on more than looks.

   The plate is radially symmetric about the little incised cross at its hub
   (51% across, 58% down the file), and a spiral pushed off-centre in a wide
   band reads as an accident — so the hub stays on the centre line. Anchoring
   at 48% then drops it into the lower third: the title clears the innermost
   ring, whose carved capitals would otherwise sit letterform-behind-letterform
   under it, and the cross reads where the fan of spokes converges below. */
.calendar-head{
  --pagehead-image:url("images/ravenna-paschal-calendar-masthead.webp");
  --pagehead-position:51% 48%;
  --pagehead-position-mobile:center 48%;
}

/* ── Holy Days of Obligation (/holy-days) ──
   Three years of the holy days, written by holy-days.js — baked by
   scripts/build-holy-days.mjs and redrawn for the reader's own date. Every
   line sits on the parchment, so the small print takes --gold-deep (5.1:1) or
   the body ink rather than --muted, and a past day keeps its full colour: it
   is marked with a word, not faded below AA. */
/* The page beneath the dark header is plain white rather than parchment, so
   the three years read like a printed table: holy-days.html carries
   .ground-white (styles.css). Every colour below clears AA on white by a
   wider margin than on the parchment. */
.hdo-body{padding-top:30px;background:#fff;}
.hdo-year{margin:0 0 48px;}
.hdo-year-title{
  font-family:var(--display);font-size:clamp(22px,3vw,28px);font-weight:500;
  letter-spacing:.14em;color:var(--ink);text-align:center;margin:0 0 20px;
}
.hdo-year-title::after{content:"";display:block;width:48px;height:1px;background:var(--champagne);margin:12px auto 0;}
.hdo-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule);}
.hdo-item{padding:18px 0 18px 18px;border-bottom:1px solid var(--rule);border-left:3px solid var(--lit-accent);transition:var(--lit-fade);}
.hdo-item.hdo-lifted,.hdo-item.hdo-sunday{border-left-color:var(--rule);}
.hdo-date{
  font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.15em;
  text-transform:uppercase;color:var(--gold-deep);margin:0 0 4px;
}
.hdo-when{
  display:inline-block;margin-left:8px;padding:1px 8px;border:1px solid currentColor;border-radius:2px;
  font-size:10px;letter-spacing:.12em;
}
.hdo-name{font-family:var(--head);font-size:clamp(21px,2.8vw,25px);font-weight:600;line-height:1.3;color:var(--ink);margin:0;}
.hdo-older{font-size:17px;font-style:italic;color:var(--ink);margin:2px 0 0;}
.hdo-status{
  font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.15em;
  text-transform:uppercase;color:var(--ink);margin:8px 0 0;
}
.hdo-lifted .hdo-status{font-style:italic;}
.hdo-note{font-size:18px;line-height:1.6;color:var(--ink);margin:6px 0 0;}
.hdo-rules{margin:0;padding-left:22px;}
.hdo-rules li{font-size:19px;line-height:1.65;margin-bottom:12px;}
@media(max-width:640px){
  .hdo-item{padding-left:14px;}
  .hdo-note,.hdo-rules li{font-size:17.5px;}
}
@media print{
  .hdo-item{border-left:0;padding-left:0;break-inside:avoid;}
  .hdo-year-title{break-after:avoid;}
}
