/* Oustory month-grid Covenant Calendar
   English Gregorian month labels frame user-supplied lunar observances.
   No inferred feast recurrence, day boundaries, or future calculations.
 */
.calendar-top{display:flex;justify-content:flex-start;align-items:center;margin:0 0 13px}
.calendar-top .feature-action{min-height:36px}
.calendar-source-notice{color:var(--muted);font-size:12px;line-height:1.6;margin:0 0 10px}
.calendar-conflict{padding:11px 12px;background:var(--selected);border-left:2px solid var(--covenant-gold);border-radius:0 9px 9px 0;font-size:12px;line-height:1.55;color:var(--muted);margin:0 0 18px}
.calendar-source-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 20px}
.calendar-source-tab{min-height:43px;padding:10px 9px;background:var(--control);border:1px solid var(--line);border-radius:11px;color:var(--muted);font-size:13px;font-weight:600}
.calendar-source-tab[aria-pressed=true]{border-color:var(--covenant-gold);color:var(--text);background:var(--selected);box-shadow:inset 0 0 0 1px var(--covenant-gold)}
.calendar-month-nav{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:9px;align-items:center;margin:12px 0 5px}
.calendar-month-heading{font-family:Georgia,"Times New Roman",serif;font-size:clamp(24px,5vw,32px);font-weight:500;line-height:1.2;text-align:center;color:var(--text);margin:0}
.calendar-nav-button{width:43px;height:43px;border-radius:50%;border:1px solid var(--line);background:var(--control);font-size:30px;font-family:Georgia,serif;line-height:1;color:var(--text)}
.calendar-nav-button:hover,.calendar-nav-button:focus-visible{border-color:var(--covenant-gold)}
.calendar-jump{display:flex;justify-content:center;gap:8px;margin:0 0 19px}
.calendar-jump button{font-size:12px;min-height:31px;padding:6px 13px;color:var(--muted)}
.calendar-legend{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:0 0 15px}
.calendar-legend-item{display:inline-flex;gap:5px;align-items:center;color:var(--muted);font-size:10px;white-space:nowrap}
.calendar-dot{display:block;flex:0 0 7px;width:7px;height:7px;border-radius:50%}
.dot-feast{background:#bf9531}.dot-sabbath{background:#a53b46}.dot-new-moon{background:#467db2}.dot-preparation{background:#82908d}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;width:100%;padding:8px;border-radius:18px;border:1px solid var(--line);background:var(--sheet)}
.calendar-weekday{text-align:center;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:10px 0 9px}
.calendar-day{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;min-height:91px;text-align:left;padding:8px 8px;background:var(--background);border:1px solid transparent;border-radius:11px;color:var(--text);overflow:hidden}
.calendar-day:hover{background:var(--selected)}
.calendar-day.outside-month{opacity:.34}
.calendar-day.selected{border-color:var(--covenant-gold);background:var(--selected)}
.calendar-day.is-today .calendar-day-number{color:var(--covenant-gold);font-weight:800;text-decoration:underline;text-underline-offset:4px}
.calendar-day-number{font-size:13px;line-height:1.2;font-weight:600;font-variant-numeric:tabular-nums}
.calendar-day-dots{display:flex;align-items:center;gap:3px;flex-wrap:wrap;min-height:7px}
.calendar-day-summary{font-size:10px;line-height:1.2;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;color:var(--muted);max-width:100%}
.calendar-details{margin:21px 0 0;border-top:1px solid var(--line);padding-top:17px;scroll-margin-top:14px}
.calendar-detail-heading{font-family:Georgia,serif;font-size:23px;font-weight:500;line-height:1.25;margin:0 0 15px}
.calendar-detail-list{display:grid;gap:9px}
.calendar-detail-item{padding:14px 16px;border-left:3px solid var(--covenant-gold);border-radius:0 11px 11px 0;background:var(--sheet);border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.calendar-detail-item.calendar-type-sabbath{border-left-color:#a53b46}
.calendar-detail-item.calendar-type-new-moon{border-left-color:#467db2}
.calendar-detail-item.calendar-type-preparation{border-left-color:#82908d}
.calendar-detail-type{text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:10px;color:var(--muted)}
.calendar-detail-item h4{font-size:15px;font-weight:650;line-height:1.35;margin:5px 0;color:var(--text)}
.calendar-detail-item p{font-size:12px;line-height:1.5;margin:5px 0;color:var(--muted)}
.calendar-detail-item .calendar-provenance{font-size:10px;opacity:.85;margin-top:9px}
.calendar-footer{margin:21px 0 0;line-height:1.6}
.calendar-grid button:focus-visible,.calendar-source-tab:focus-visible,.calendar-nav-button:focus-visible{outline:2px solid var(--covenant-gold);outline-offset:2px}
@media(max-width:520px){
 .feature-root:has(.calendar-grid){padding-left:12px;padding-right:12px}
 .calendar-grid{gap:2px;padding:5px;border-radius:14px}
 .calendar-day{min-height:62px;padding:6px 3px 5px;gap:8px;align-items:center;border-radius:8px}
 .calendar-day-number{font-size:12px}
 .calendar-day-summary{display:none}
 .calendar-day-dots{justify-content:center;gap:2px;max-width:100%}
 .calendar-dot{flex-basis:6px;width:6px;height:6px}
 .calendar-legend{gap:9px}
 .calendar-legend-item{font-size:10px}
 .calendar-weekday{font-size:10px;padding:8px 0}
 .calendar-month-nav{margin-top:9px}
 .calendar-source-tab{font-size:12px}
}
@media(max-width:345px){.calendar-grid{padding:3px;gap:1px}.calendar-day{min-height:57px;padding-inline:2px}.calendar-legend{gap:6px}.calendar-dot{flex-basis:5px;width:5px;height:5px}}

/* Projected two-track engine: every Gregorian cell shows its lunar day. */
.calendar-day-lunar{font-size:10px;line-height:1;white-space:nowrap;color:var(--covenant-gold);letter-spacing:-.035em;font-weight:600}
.calendar-lunar-context{font-weight:700;color:var(--covenant-gold);font-size:13px;line-height:1.5;margin:0 0 14px}
.calendar-source-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
.calendar-source-tab{overflow-wrap:anywhere;line-height:1.3;min-height:52px}
@media(max-width:520px){.calendar-day-lunar{font-size:9px}.calendar-day{gap:5px}.calendar-source-tab{padding:8px 6px}}
@media(max-width:345px){.calendar-day-lunar{font-size:8px}}

/* Simple current-cycle view: upcoming Shabbat always above the month grid. */
.calendar-next{width:100%;display:grid;gap:4px;align-items:start;text-align:left;background:var(--selected);border:1px solid var(--covenant-gold);border-radius:13px;padding:14px 16px;color:var(--text);margin:12px 0 18px}
.calendar-next[hidden]{display:none}
.calendar-next-eyebrow{font-size:10px;letter-spacing:.14em;font-weight:750;text-transform:uppercase;color:var(--covenant-gold)}
.calendar-next-date{font:500 clamp(21px,5vw,27px)/1.3 Georgia,serif;color:var(--text)}
.calendar-next-note{font-size:12px;color:var(--muted)}
.calendar-track-help{font-size:12px;line-height:1.55;color:var(--muted);margin:-9px 0 17px}
.calendar-source-tabs{grid-template-columns:1fr 1fr;gap:9px;margin:10px 0 18px}
.calendar-source-tab{font-size:14px;min-height:47px;padding:10px 7px;font-weight:700}
.calendar-source-tab[aria-pressed=true]{border-color:var(--covenant-gold);background:var(--selected)}
.calendar-day-lunar{color:var(--covenant-gold);font-weight:650}
.calendar-lunar-context{font-size:14px;margin:0 0 14px;color:var(--covenant-gold)}
@media(max-width:520px){.calendar-next{margin-top:9px;padding:12px 13px}.calendar-next-date{font-size:22px}.calendar-day-lunar{font-size:9px}.calendar-day{gap:4px}.calendar-source-tab{font-size:13px}}

/* Release 3: source-coordinate readings linked to the actual lunar dates.
   Separate from approval of the month start, feast observance, or liturgy. */
.calendar-study{margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--line)}
.covenant-study-heading{font:500 24px/1.25 Georgia,serif;margin:0 0 12px;color:var(--text)}
.covenant-study-group{padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--sheet);margin:11px 0}
.covenant-study-group h4,.covenant-study-question h4{margin:0 0 7px;color:var(--text);font:600 17px/1.35 Georgia,serif}
.covenant-study-note{color:var(--muted);font-size:12px;margin:0 0 10px;line-height:1.55}
.covenant-study-readings{display:grid;gap:10px}
.covenant-study-reading{border-top:1px solid var(--line);padding-top:10px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center}
.covenant-study-reading-text{display:grid;gap:1px;flex:1;min-width:130px}
.covenant-study-reading-text strong{color:var(--text);font-size:13px}
.covenant-study-reading-text span{color:var(--muted);font-size:12px}
.covenant-study-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.covenant-study-actions button{min-height:34px;border:1px solid var(--line);background:var(--control);border-radius:9px;color:var(--text);font-size:12px;font-weight:650;padding:6px 10px}
.covenant-study-actions button.covenant-study-read{background:var(--selected);border-color:var(--covenant-gold)}
.covenant-study-actions button[aria-pressed=true]{border-color:var(--covenant-gold);color:var(--covenant-gold)}
.covenant-study-question{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.calendar-verification{border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin:16px 0 0;background:var(--sheet)}
.calendar-verification summary{color:var(--covenant-gold);cursor:pointer;font-size:13px;font-weight:700;padding:5px 0}
.calendar-verification ul{padding-left:20px;margin:8px 0;color:var(--muted);font-size:12px;line-height:1.75}
.calendar-verification p{font-size:12px;line-height:1.55;color:var(--muted)}
.calendar-study-home,.calendar-study-next,.calendar-study-discover{margin-top:9px}
@media(max-width:520px){
 .covenant-study-group{padding:10px}
 .covenant-study-reading{align-items:start}
 .covenant-study-reading-text{min-width:100%}
 .covenant-study-actions{width:100%}
 .covenant-study-actions button{flex:1}
}
