/* Only Novena-specific content uses custom rules. Layout and chrome come from
   prayers.css and mass-readings.css so these pages stay structurally identical. */
.novena-litany { display:grid;gap:1.72em;font-size:var(--novena-prayer-size); }
.novena-shell { min-width:0;--novena-prayer-size:20px;--novena-title-size:36px; }
:root[data-reader-font-size='small'] .novena-shell { --novena-prayer-size:18px; }
:root[data-reader-font-size='large'] .novena-shell { --novena-prayer-size:24px; }
.novena-body [data-prayer-result][hidden],.novena-body [data-prayer-search-empty][hidden] { display:none; }
.mass-web-shell.novena-shell { --novena-reader-gold:#86622a; }
.mass-web-shell.novena-shell:has(.novena-reader-main) > .mass-web-download-card .mass-web-section-kicker { color:var(--novena-reader-gold); }
:root[data-theme='dark'] .mass-web-shell.novena-shell { --novena-reader-gold:var(--mass-gold); }
@media(prefers-color-scheme:dark){:root:not([data-theme='light']) .mass-web-shell.novena-shell{--novena-reader-gold:var(--mass-gold)}}
.novena-hero-tags { display:flex;justify-content:safe center;gap:8px;flex-wrap:nowrap;max-width:100%;overflow-x:auto;padding:4px 2px 12px;margin-top:24px; }
.novena-hero-tag { flex:0 0 auto;white-space:nowrap;display:inline-flex;gap:6px;align-items:center;padding:8px 13px;border:1px solid var(--mass-border);border-radius:999px;color:var(--mass-ink);background:var(--mass-surface);font-size:13px;line-height:1.5; }
.novena-hero-tag>span { color:var(--mass-muted); }
.novena-hero-tags:focus-visible,.novena-body .mass-web-reading-jump a:focus-visible,.novena-pray-cta:focus-visible { outline:2px solid var(--mass-gold);outline-offset:3px; }
/* Match the Rosary hub's Begin Praying button, including theme and breakpoints. */
.novena-pray-cta { display:flex;align-items:center;justify-content:center;width:max-content;min-width:210px;min-height:52px;max-width:100%;margin:40px auto 14px;padding:0 24px;border:1px solid transparent;border-radius:999px;background:#e9e8e4;color:#080a0c;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;font-weight:600;line-height:normal;letter-spacing:normal;text-decoration:none;box-shadow:none; }
.novena-pray-cta:hover { background:#dcd7cc; }
:root[data-theme='light'] .novena-pray-cta { border:0;background:#091e48;color:#f7f2e8; }
:root[data-theme='light'] .novena-pray-cta:hover { background:#132b55; }
@media(prefers-color-scheme:light){:root:not([data-theme='dark']) .novena-pray-cta{border:0;background:#091e48;color:#f7f2e8}:root:not([data-theme='dark']) .novena-pray-cta:hover{background:#132b55}}
@media(max-width:760px){.novena-pray-cta{min-width:0}}
.mass-web-shell.novena-shell:has(.novena-reader-main) .novena-repeat-note { margin:20px 0 0;color:var(--novena-reader-gold);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;font-weight:600;letter-spacing:.16em;line-height:1.4;text-transform:uppercase; }
.novena-introduction-section .novena-prayer-text + .novena-prayer-text,.novena-quote .novena-prayer-text + .novena-prayer-text { margin-top:1.72em; }
@media(max-width:680px){.novena-reading-section{padding:36px 0}.novena-body .novena-hero-tag{font-size:12px;padding:8px 10px}}
@media(max-width:760px){.novena-shell{--novena-title-size:32px}}
.novena-body .novena-placeholder-card { min-height:0; }
.novena-body .novena-artwork-card { min-height:0; }
.novena-body .novena-artwork-card .prayer-web-category-card-image > img { object-position:center top; }
.novena-hero-image { display:block;width:min(160px,calc((100vw - 32px) / 3));aspect-ratio:1;margin:0 auto 24px;overflow:hidden;border-radius:50%;background:var(--mass-surface); }
.novena-hero-image img { display:block;width:100%;height:100%;object-fit:cover;object-position:center top; }
.novena-review-badge { display:inline-flex;max-width:100%;padding:5px 9px;border:1px solid #8c7239;border-radius:6px;background:#272114;color:#f3d493;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:600;line-height:1.35; }
.novena-body .prayer-web-category-card > .novena-review-badge { position:absolute;top:8px;left:8px;z-index:2;max-width:calc(100% - 16px); }
.novena-body .mass-web-detail-hero-copy > .novena-review-badge { margin-top:16px; }
.novena-body .mass-web-detail-hero .content-page-hero-copy h1 { font-size:var(--novena-title-size); }
.novena-translation-note { margin:0 0 28px;padding:14px 16px;border-left:3px solid var(--novena-reader-gold);background:var(--mass-surface);color:var(--mass-muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:14px;line-height:1.6; }
.novena-body .mass-web-primary-button { min-height:44px; }
.mass-web-shell:has(.novena-reader-main) .mass-web-reading-jump a { position:relative; min-width:max-content; min-height:49px; display:inline-flex; align-items:center; padding:1px 8px 0; border:0; color:var(--mass-muted); background:transparent; font-size:15px; font-weight:500; letter-spacing:.12em; }
.mass-web-shell:has(.novena-reader-main) .mass-web-reading-jump a::after { position:absolute; right:8px; bottom:0; left:8px; height:2px; content:""; background:var(--mass-gold); transform:scaleX(0); }
.mass-web-shell:has(.novena-reader-main) .mass-web-reading-jump a:hover,.mass-web-shell:has(.novena-reader-main) .mass-web-reading-jump a[aria-current='page'] { color:var(--mass-gold); }
.mass-web-shell:has(.novena-reader-main) .mass-web-reading-jump a[aria-current='page']::after { transform:scaleX(1); }
.novena-reading-section { max-width:768px; margin:0 auto; padding:clamp(42px,6vw,74px) 0; border:0; background:transparent; color:var(--mass-reader-ink); }
.novena-reading-section .mass-web-reading-heading { max-width:100%; text-align:left; }.novena-reading-section .mass-web-reading-heading h2 { margin-top:12px; }
.prayer-web-shell:has(.prayer-web-directory-main) .novena-download { margin-top:0; }
.novena-placeholder-card { background:linear-gradient(145deg,color-mix(in srgb,var(--prayer-gold) 24%,var(--prayer-surface)),var(--prayer-surface)); }
.novena-card-placeholder { display:grid;place-items:center;color:var(--prayer-gold); }
.novena-card-placeholder svg,.novena-image-placeholder svg { width:54px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.72; }
.novena-image-placeholder { min-height:240px;display:grid;place-content:center;gap:12px;margin:0 0 30px;border:1px solid var(--mass-border);border-radius:10px;color:var(--mass-gold);background:linear-gradient(145deg,color-mix(in srgb,var(--mass-gold) 16%,var(--mass-surface)),var(--mass-surface));text-align:center; }
.novena-image-placeholder span { font-size:12px;font-weight:650;letter-spacing:.12em;text-transform:uppercase; }
.novena-summary { margin:0;color:var(--mass-reader-ink);font-family:var(--mass-serif);font-size:var(--novena-prayer-size);line-height:1.72; }
.novena-introduction-section h2 { margin:34px 0 16px;font-family:var(--mass-serif);font-size:clamp(25px,3vw,34px);font-weight:500; }
.novena-day-content { display:grid;gap:1.72em;margin-top:34px;font-size:var(--novena-prayer-size); }
.novena-prayer-text { margin:0;white-space:pre-line;font-family:var(--mass-serif);font-size:var(--novena-prayer-size);line-height:1.72; }
.novena-content-heading { margin:12px 0 14px;font-family:var(--mass-serif);font-size:clamp(25px,2.8vw,34px);font-style:italic;font-weight:500; }
.novena-rubric { margin:0;padding:16px 18px;border-left:3px solid var(--mass-gold);color:var(--mass-muted);background:var(--mass-surface);font-family:var(--mass-serif);font-size:18px;font-style:italic;line-height:1.6;white-space:pre-line; }
.novena-intention { padding:20px;border:1px solid color-mix(in srgb,var(--mass-gold) 34%,transparent);border-radius:9px;background:color-mix(in srgb,var(--mass-gold) 9%,transparent); }
.novena-intention strong { color:var(--mass-gold);font-size:13px;letter-spacing:.1em;text-transform:uppercase; }.novena-intention p { margin:8px 0 0;font-family:var(--mass-serif);font-size:20px;font-style:italic; }
.novena-intention p { font-size:var(--novena-prayer-size); }
.novena-intention p + p { margin-top:1.72em; }
.novena-rubric { font-size:calc(var(--novena-prayer-size) - 2px); }
