/* GracePress Calendars & Countdown. Theme-agnostic: inherits fonts and color, no literal black or white
   (dark mode adapts the whole page), hairlines in a mid-gray that reads on any background. */
.gp-calclock { --gpcc-line: rgba(127, 127, 127, .4); --gpcc-gap: .55em; font: inherit; color: inherit; line-height: 1.4; }
.gp-calclock__title { margin: 0 0 .5em; font-size: 1.15em; }
.gp-calclock__dates { border-top: 1px solid var(--gpcc-line); }
.gp-calclock__row { display: grid; grid-template-columns: minmax(8em, 11em) 1fr; gap: .25em 1em; align-items: baseline; padding: var(--gpcc-gap) 0; border-bottom: 1px solid var(--gpcc-line); }
.gp-calclock__label { font-size: .78em; letter-spacing: .08em; text-transform: uppercase; opacity: .75; }
.gp-calclock__value { font-variant-numeric: tabular-nums; }
.gp-calclock__icon { flex: none; vertical-align: -.2em; }
.gp-calclock__label .gp-calclock__icon { width: 1.7em; height: 1.7em; }
.gp-calclock__cd-heading .gp-calclock__icon { width: 1.35em; height: 1.35em; vertical-align: -.3em; }
.gp-calclock__label { display: inline-flex; align-items: center; gap: .5em; }
.gp-calclock__label-text { min-width: 0; }
.gp-calclock__row--bare { grid-template-columns: 1fr; }
.gp-calclock__holy { margin-top: 1.1em; }
.gp-calclock__holy .gp-calclock__dates { margin-top: 0; }
.gp-calclock__sub { display: block; margin-top: .15em; font-size: .82em; opacity: .75; }
.gp-calclock__row--holy[data-state="now"] .gp-calclock__value > [data-gp-status] { font-weight: 600; }
.gp-calclock__cd-heading .gp-calclock__icon { margin-right: .45em; }
.gp-calclock__native { display: block; margin-top: .15em; font-size: 1.05em; opacity: .85; }
.gp-calclock__native:empty { display: none; }

.gp-calclock--inline .gp-calclock__dates { display: flex; flex-wrap: wrap; gap: .5em 2em; border-top: 0; }
.gp-calclock--inline .gp-calclock__row { display: block; padding: .25em 0; border-bottom: 0; }
.gp-calclock--inline .gp-calclock__label { display: block; margin-bottom: .1em; }

.gp-calclock__countdowns { margin-top: 1.1em; }
.gp-calclock__cd-heading { margin: 0 0 .4em; font-size: .95em; }
.gp-calclock__cd-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--gpcc-line); }
.gp-calclock__cd { display: grid; grid-template-columns: 1fr auto; gap: .15em .8em; align-items: baseline; padding: var(--gpcc-gap) 0; border-bottom: 1px solid var(--gpcc-line); }
.gp-calclock__cd-label { font-weight: 600; }
.gp-calclock__badge { justify-self: end; font-size: .68em; letter-spacing: .08em; text-transform: uppercase; padding: .1em .55em; border: 1px solid var(--gpcc-line); border-radius: 999px; white-space: nowrap; }
.gp-calclock__cd-time { grid-column: 1 / -1; font-variant-numeric: tabular-nums; }
.gp-calclock__cd-note { grid-column: 1 / -1; font-size: .82em; opacity: .75; }
.gp-calclock__verse { margin: .8em 0 0; font-size: .85em; font-style: italic; opacity: .8; }
.gp-calclock__verse span { font-style: normal; white-space: nowrap; }

@media (max-width: 520px) {
  .gp-calclock__row { grid-template-columns: 1fr; }
}

/* ---------- Compact mode: icons only, dates in a line or two, holy days and countdown in collapsible boxes ---------- */
.gp-calclock__sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.gp-calclock--compact .gp-calclock__dates--compact { display: flex; flex-wrap: wrap; align-items: center; gap: .35em 1.5em; border-top: 0; }
.gp-calclock--compact .gp-calclock__dates--compact .gp-calclock__row { display: inline-flex; align-items: center; gap: .5em; padding: 0; border: 0; }
.gp-calclock--compact .gp-calclock__label--icon { opacity: .85; font-size: 1em; letter-spacing: 0; text-transform: none; }
.gp-calclock--compact .gp-calclock__label .gp-calclock__icon { width: 1.25em; height: 1.25em; }
.gp-calclock--compact .gp-calclock__native { display: inline; margin: 0 0 0 .5em; }

.gp-calclock__box { margin-top: .7em; border-top: 1px solid var(--gpcc-line); border-bottom: 1px solid var(--gpcc-line); }
.gp-calclock__summary { display: flex; align-items: center; gap: .65em; padding: .5em 0; cursor: pointer; list-style: none; font-size: .95em; }
.gp-calclock__summary::-webkit-details-marker { display: none; }
.gp-calclock__summary .gp-calclock__icon { width: 1.25em; height: 1.25em; }
.gp-calclock__summary-text { flex: 1; min-width: 0; opacity: .85; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gp-calclock__summary::after { content: ""; flex: none; width: .45em; height: .45em; margin: 0 .3em 0 auto; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .15s; }
.gp-calclock__box[open] > .gp-calclock__summary::after { transform: rotate(-135deg); }
.gp-calclock__summary:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.gp-calclock__box > .gp-calclock__dates { border-top: 1px solid var(--gpcc-line); }
.gp-calclock__box .gp-calclock__row { grid-template-columns: auto 1fr; gap: .25em .8em; }
.gp-calclock__box > .gp-calclock__cd-list { border-top: 1px solid var(--gpcc-line); }
.gp-calclock__box > .gp-calclock__verse { padding-bottom: .5em; }
@media (max-width: 520px) { .gp-calclock__box .gp-calclock__row { grid-template-columns: auto 1fr; } }
@media (prefers-reduced-motion: reduce) { .gp-calclock__summary::after { transition: none; } }
