.holiday-page{background:var(--bg)}
.holiday-main{padding:2rem 0 7rem}.holiday-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;margin-bottom:1.4rem}.holiday-heading h1{font-size:clamp(2rem,4vw,3.3rem);line-height:1.12;margin:.5rem 0}.holiday-heading p{margin:.4rem 0;color:var(--ink-soft)}.holiday-heading .eyebrow{font-size:.85rem}.holiday-back{font-size:.9rem;text-decoration:underline;text-underline-offset:4px}.holiday-edition{font-size:.9rem;max-width:230px;text-align:right}.draft-note{border-left:3px solid var(--accent);padding:.5rem .9rem;color:var(--ink-soft);font-size:.9rem;background:var(--surface);margin-bottom:1.3rem}
.day-tabs{display:flex;gap:.4rem;border-bottom:1px solid var(--line-strong);margin-bottom:1.3rem;padding-bottom:.6rem;flex-wrap:wrap}.day-tabs button,.holiday-filters select,.holiday-search,.service-button,.holiday-action,.track-button{font:inherit}.day-tabs button{border:1px solid transparent;background:transparent;border-radius:9px;padding:.7rem 1.1rem;font-weight:650;color:var(--ink-soft);cursor:pointer}.day-tabs button[aria-pressed=true]{background:var(--brand);color:white}.day-tabs button:hover{border-color:var(--brand)}
.holiday-filters{display:flex;gap:.8rem;align-items:end;flex-wrap:wrap;margin-bottom:1.5rem}.holiday-filters label{font-size:.9rem;font-weight:600;display:flex;flex-direction:column;gap:.25rem}.holiday-filters .search-label{flex:1;min-width:200px}.holiday-search,.holiday-filters select{width:100%;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);padding:.7rem .8rem;min-height:46px}.holiday-filters .check-label{flex-direction:row;align-items:center;font-weight:400;min-height:46px}.check-label input{width:18px;height:18px;accent-color:var(--brand)}
.holiday-layout{display:grid;grid-template-columns:215px minmax(0,1fr);gap:2rem}.service-nav{align-self:start;position:sticky;top:140px}.service-nav h2{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin:0 0 .6rem}.service-button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-left:3px solid transparent;background:transparent;color:var(--ink-soft);padding:.8rem .8rem;text-align:left;font-size:.95rem;cursor:pointer}.service-button[aria-current=true]{border-color:var(--brand-2);background:var(--surface);color:var(--brand);font-weight:700}.service-button small{font-size:.8rem;font-weight:400;margin-left:.4rem}.service-button:hover{background:var(--surface)}
.service-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem}.service-head h2{margin:0;font-size:1.8rem}.service-head p{margin:.2rem 0 0;font-size:.9rem;color:var(--ink-soft)}.holiday-action{background:var(--brand);border:1px solid var(--brand);color:white;border-radius:8px;padding:.6rem 1rem;cursor:pointer;min-height:44px;white-space:nowrap}.holiday-action:disabled{opacity:.5;cursor:default}.service-note{margin:0 0 1rem;color:var(--ink-soft);font-size:.95rem}
.prayer-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line-strong)}.prayer-row{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;gap:.8rem;align-items:start;padding:1rem .6rem;border-bottom:1px solid var(--line)}.prayer-row.is-playing{background:var(--surface);box-shadow:inset 3px 0 var(--brand-2)}.prayer-number{font-size:.85rem;color:var(--ink-faint);padding-top:.3rem;font-variant-numeric:tabular-nums}.prayer-title{margin:0;font-size:1.05rem;font-weight:600;line-height:1.45}.prayer-info{margin:.25rem 0 0;font-size:.88rem;color:var(--ink-soft)}.prayer-page{color:var(--brand-2);font-size:.9rem;font-weight:600;white-space:normal}.prayer-meta{display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:baseline;margin:.25rem 0}.prayer-status{font-size:.85rem;color:var(--ink-faint)}.prayer-controls{display:flex;flex-direction:column;gap:.4rem}.track-button{min-height:42px;padding:.4rem .8rem;border:1px solid var(--line-strong);background:var(--surface);color:var(--brand);border-radius:7px;font-size:.9rem;cursor:pointer;white-space:nowrap}.track-button:hover,.track-button[aria-pressed=true]{border-color:var(--brand);background:var(--brand);color:white}.omitted-row{opacity:.65}.empty-message{padding:2rem 0;color:var(--ink-soft)}.playback-dock{position:fixed;bottom:0;left:0;right:0;z-index:110;background:var(--brand);color:#fff;box-shadow:0 -5px 25px #20253626;padding:.8rem 0}.playback-dock[hidden]{display:none}.playback-inner{display:grid;grid-template-columns:minmax(200px,1fr) minmax(250px,430px) auto;align-items:center;gap:1rem}.now-title{font-weight:650;margin:0;line-height:1.3}.now-context{font-size:.85rem;color:#e3d8d2;margin:.3rem 0 0}.playback-dock audio{width:100%;height:42px}.dock-actions{display:flex;gap:.4rem;align-items:center}.dock-actions button,.dock-actions a{border:1px solid #ffffff60;background:transparent;color:#fff;border-radius:7px;min-width:42px;min-height:42px;display:flex;justify-content:center;align-items:center;font:inherit;padding:.3rem .65rem;cursor:pointer}.dock-actions button:disabled{opacity:.4}.audio-error{color:#ffe1bb;font-size:.9rem;grid-column:1/-1;margin:0}.holiday-page :is(button,input,select,a):focus-visible{outline:3px solid var(--accent);outline-offset:3px}.holiday-error{padding:2rem;background:var(--surface)}
@media(max-width:800px){.holiday-heading{align-items:start;flex-direction:column}.holiday-edition{text-align:left;max-width:none}.holiday-layout{grid-template-columns:1fr;gap:1rem}.service-nav{position:static;display:flex;overflow:auto;gap:.3rem;padding-bottom:.6rem}.service-nav h2{display:none}.service-button{width:auto;flex:0 0 auto;border-left:0;border-bottom:3px solid transparent;padding:.6rem .8rem}.service-button[aria-current=true]{border-bottom-color:var(--brand-2)}.playback-inner{grid-template-columns:1fr auto}.playback-dock audio{grid-column:1/-1;grid-row:2}.holiday-main{padding-bottom:12rem}.day-tabs button{font-size:.9rem;padding:.65rem .8rem}.service-head h2{font-size:1.5rem}.prayer-row{grid-template-columns:1.4rem minmax(0,1fr);gap:.5rem}.prayer-controls{grid-column:2;flex-direction:row;flex-wrap:wrap}.service-head{align-items:flex-start}.holiday-filters .check-label{font-size:.85rem}.holiday-heading h1{font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.holiday-page [hidden]{display:none!important}.holiday-layout:has(.service-nav[hidden]){grid-template-columns:1fr}

.prayer-section{margin:0 0 1.8rem}.prayer-section-title{font-size:1.15rem;font-weight:750;background:var(--brand);color:var(--surface);margin:0;padding:.75rem 1rem;border-radius:8px 8px 0 0}.prayer-section-content{padding:.2rem 0 0 1.25rem;border-left:2px solid var(--line-strong);margin-left:.5rem}.prayer-subsection-title{font-size:1rem;color:var(--brand-2);margin:1rem 0 .35rem;font-weight:700}.prayer-section .prayer-list{border-top:0}.prayer-section .prayer-title{font-size:1rem;letter-spacing:normal}.holiday-filters{justify-content:flex-start}.holiday-filters select{min-width:170px}
@media(max-width:600px){.prayer-section-content{padding-left:.6rem;margin-left:.2rem}.prayer-section-title{font-size:1.05rem}.prayer-subsection-title{font-size:.95rem}}

.service-period{margin:0 0 1.2rem}.service-period h3{font-size:.9rem;font-weight:700;color:var(--brand);margin:0 0 .3rem;padding:.35rem .8rem;border-bottom:1px solid var(--line-strong)}
@media(max-width:800px){.service-nav{gap:1rem}.service-period{flex:0 0 auto;margin:0}.service-period-buttons{display:flex}.service-period h3{padding:.2rem .8rem;margin-bottom:.25rem}.service-period .service-button{white-space:nowrap}}
.recording-control{display:flex;flex-direction:column;gap:.25rem}
