.calendar-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: 13px; padding: 22px 0; }
.calendar-toolbar > h2 { font: 400 35px/1.1 var(--display); margin: 0 auto 4px 0; min-width: 200px; }
.calendar-toolbar > button { min-width: 44px; min-height: 44px; padding: 10px; border: 1px solid var(--line); border-radius: 3px; }
.calendar-toolbar > button:disabled { opacity: .35; }
.calendar-toolbar .site-field { width: 180px; }
.calendar-toolbar .site-field:last-child { width: 230px; }
.calendar-layout { display: grid; grid-template-columns: minmax(0,1.8fr) minmax(260px,1fr); gap: 32px; align-items: start; }
.calendar-weekdays, .calendar-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.calendar-weekdays { font: 600 11px/1.5 var(--sans); text-align: center; padding-block: 15px; color: #626b70; }
.calendar-grid { border: 1px solid #d8d0c0; border-right: 0; border-bottom: 0; background: #fff; }
.calendar-grid > button, .calendar-blank { min-height: 68px; padding: 8px 7px; border-right: 1px solid #d8d0c0; border-bottom: 1px solid #d8d0c0; min-width: 0; }
.calendar-grid > button { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 5px; text-align: left; }
.calendar-grid > button:hover { background: #f1ece1; }
.calendar-grid > button[aria-pressed="true"] { background: #23313b; color: #fcfbf7; }
.calendar-grid > button > strong { font: 600 13px/1.3 var(--sans); }
.calendar-grid > button > span { font: 400 9px/1.5 var(--sans); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.calendar-grid > button.is-today > strong { text-decoration: underline; text-underline-offset: 4px; }
.calendar-day-panel { background: #f1ede4; border-top: 3px solid #b89a58; padding: 25px; }
.calendar-day-panel h2, [data-calendar-day] h2 { font: 400 31px/1.2 var(--display); margin: 9px 0 18px; }
.calendar-day-panel h3, [data-calendar-day] h3 { font: 400 24px/1.3 var(--display); margin: 25px 0 12px; }
.calendar-day-panel p, .calendar-day-panel li, [data-calendar-day] p, [data-calendar-day] li { font: 400 15px/1.85 var(--serif); }
.calendar-day-panel small, [data-calendar-day] small { font: 400 11px/1.6 var(--sans); color: #626b70; }
.calendar-day-panel a { display: inline-block; font-size: 13px; margin-top: 18px; }
[data-calendar-day] { max-width: 900px; margin-bottom: 32px; padding: 30px; border: 1px solid var(--line); background: #f3f0e8; }
.calendar-search-result { display: block; padding: 16px 0; border-bottom: 1px solid var(--line); text-align: left; font: 400 13px/1.8 var(--sans); }
.calendar-search-result strong { display: block; color: var(--gold-dark); }
.calendar-editor-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 28px; }
.calendar-editor-grid form { display: grid; align-content: start; gap: 18px; padding: 25px; background: #f3f0e8; border: 1px solid var(--line); }
.calendar-editor-grid [role="status"] { font: 400 13px/1.8 var(--sans); color: #395542; }
.calendar-editor-grid .section-title { font-size: 30px; }
.calendar-page .page-breadcrumb { padding-block: 16px; }
.calendar-page .page-hero.no-photo { padding: 10px 0 18px; }
.calendar-page .page-hero h1 { font-size: 44px; margin: 10px 0 12px; }
.calendar-page .page-lead { font-size: 16px; line-height: 1.7; }
.calendar-page .review-callout { padding: 13px 20px; margin: 18px 0; font-size: 12px; line-height: 1.65; }
@media(max-width:1100px) { .calendar-layout { grid-template-columns: 1fr; } .calendar-day-panel { max-width: none; } }
@media(max-width:760px) { .calendar-page .page-hero h1 { font-size: 35px; } .calendar-toolbar { gap: 10px; } .calendar-toolbar > h2 { font-size: 29px; order: -1; width: 100%; } .calendar-toolbar .site-field { flex: 1; min-width: 100px; } .calendar-grid > button, .calendar-blank { min-height: 48px; padding: 10px 7px; } .calendar-grid > button > span { display: none; } .calendar-editor-grid { grid-template-columns: 1fr; } [data-calendar-day],.calendar-day-panel { padding: 21px; } .calendar-editor-grid form { padding: 20px; } }
.calendar-introduction{display:grid;grid-template-columns:1fr 140px;gap:40px;align-items:center;padding:12px 0 20px}.calendar-introduction h1{font:400 clamp(32px,4vw,48px)/1.12 var(--display);margin:10px 0 16px}.calendar-introduction .page-lead{max-width:760px}.calendar-introduction figure{margin:0;text-align:center}.calendar-introduction img{height:145px;width:100%;object-fit:contain}.calendar-introduction figcaption{font:400 9px/1.5 var(--sans);margin-top:8px;color:#626b70}.calendar-fasting-key{margin:4px 0 24px;padding:17px 20px;background:#f2eee5;border:1px solid #ded4c2}.calendar-fasting-key summary{font:600 13px/1.6 var(--sans);cursor:pointer}.calendar-key-items{display:flex;gap:12px 22px;flex-wrap:wrap;margin-top:14px}.calendar-fasting-key p{font:400 11px/1.6 var(--sans);margin:12px 0 0}.calendar-fast-badge{display:inline-flex;align-items:center;gap:7px;font:500 11px/1.5 var(--sans);color:#445747}.fast-icon{width:23px;height:22px;flex:none;display:block}.calendar-fast-badge.fast-fish{color:#285b69}.calendar-fast-badge.fast-oil-wine,.calendar-fast-badge.fast-wine-only{color:#7c6532}.calendar-fast-badge.fast-unspecified{color:#8a6231}.calendar-fast-badge.fast-none{color:#89918b}.calendar-grid>button{position:relative;min-height:110px;padding:9px 8px;gap:5px}.calendar-grid>button>strong{font-size:14px}.calendar-grid>button>.calendar-fast-badge{position:absolute;top:7px;right:4px;display:inline-flex;overflow:visible;-webkit-line-clamp:unset}.calendar-grid>button>.calendar-commemoration{margin-top:20px;font-size:10px;line-height:1.5;-webkit-line-clamp:3}.calendar-grid>button[data-fasting=strict]{background:#edf1e8}.calendar-grid>button[data-fasting=fish]{background:#eaf1f1}.calendar-grid>button[data-fasting=oil-wine],.calendar-grid>button[data-fasting=wine-only]{background:#f3eee1}.calendar-grid>button[data-fasting=unspecified]{background:#f5eee6}.calendar-grid>button[aria-pressed=true]{background:#23313b;color:#fcfbf7;box-shadow:inset 0 0 0 2px #b89a58}.calendar-grid>button[aria-pressed=true] .calendar-fast-badge{color:#f2ddad}.calendar-day-panel>.calendar-fast-badge{font-size:13px;margin-bottom:10px}.calendar-day-panel details{font:400 13px/1.75 var(--serif);margin-top:20px}.calendar-day-panel summary{font-weight:600;cursor:pointer}.calendar-fast-note{font-size:12px!important}.calendar-seasons{margin:38px 0}.calendar-seasons>h2{font:400 32px/1.3 var(--display)}.calendar-season-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.calendar-season{border:1px solid #ddd4c3;padding:20px;background:#fcfbf7}.calendar-season.is-next{border-top:3px solid #b89a58;background:#f4efe3}.calendar-season.is-current{border-top:3px solid #375d47;background:#eef2e8}.calendar-season small{font:600 10px/1.5 var(--sans);color:#73613b}.calendar-season h3{font:400 24px/1.25 var(--display);margin:10px 0}.calendar-season p{font:400 12px/1.7 var(--sans)}.translation-review-note{margin:0;padding:7px 20px;background:#eeeae2;color:#5e645e;text-align:center;font:400 11px/1.5 var(--sans)}.language-links>a[aria-current=true]{font-weight:700;border-bottom:1px solid #b89a58}.language-links>a{padding:2px}.language-links{white-space:nowrap}
@media(max-width:760px){.calendar-introduction{grid-template-columns:1fr 85px;gap:16px}.calendar-introduction img{height:115px}.calendar-introduction .page-lead{font-size:14px}.calendar-grid>button,.calendar-blank{min-height:78px;padding:8px 5px}.calendar-grid>button>.calendar-commemoration{display:none}.calendar-grid>button>.calendar-fast-badge{top:34px;right:calc(50% - 11px)}.calendar-grid>button>strong{font-size:13px}.calendar-season-grid{grid-template-columns:1fr 1fr}.calendar-season{padding:16px}.calendar-season h3{font-size:21px}.calendar-key-items{gap:12px}.calendar-key-items .calendar-fast-badge{max-width:calc(50% - 7px);font-size:10px}.calendar-fasting-key{padding:14px}.calendar-introduction figcaption{font-size:8px}}
@media(max-width:420px){.calendar-season-grid{grid-template-columns:1fr}.calendar-toolbar .site-field:last-child{min-width:100%;max-width:100%}.calendar-introduction{grid-template-columns:1fr}.calendar-introduction figure{display:none}}
.calendar-upcoming{display:flex;gap:12px 22px;align-items:baseline;flex-wrap:wrap;padding:17px 20px;margin:0 0 14px;border-left:3px solid #b89a58;background:#f7f3e9}.calendar-upcoming[hidden]{display:none}.calendar-upcoming small{font:600 11px/1.5 var(--sans);color:#80682d}.calendar-upcoming a{font:400 23px/1.3 var(--display)}.calendar-upcoming>span{font:400 12px/1.6 var(--sans)}@media(max-width:600px){.calendar-upcoming{gap:6px 14px}.calendar-upcoming small{width:100%}.calendar-upcoming a{font-size:22px}}
@media(max-width:760px){.calendar-introduction .eyebrow{display:none}.calendar-introduction .page-lead{font-size:15px;line-height:1.7}.calendar-weekdays{gap:3px;font-size:10px}.calendar-weekdays span{min-width:0;text-align:center}.calendar-fasting-key{margin-bottom:16px}.calendar-page .review-callout{padding:10px 14px;margin:12px 0}.calendar-upcoming{padding:12px 14px}.calendar-upcoming a{font-size:21px}}
.calendar-feast-badge{display:inline-flex;align-items:center;gap:7px;font:500 11px/1.55 var(--sans);color:#886a2e}.feast-icon{width:20px;height:20px;display:block;flex:none}.calendar-grid>button.is-feast-day:after{content:'';position:absolute;inset:auto 0 0;height:3px;background:#b89a58}.calendar-grid>button>.calendar-feast-badge{display:inline-flex;position:absolute;top:7px;left:calc(50% - 8px);margin:0}.calendar-grid>button>.calendar-feast-badge .feast-icon{width:16px;height:16px}.calendar-grid>button[aria-pressed=true] .calendar-feast-badge{color:#efd398}.calendar-day-panel>.calendar-feast-badge,[data-calendar-day]>.calendar-feast-badge{display:flex;margin:0 0 16px;font-size:13px}.calendar-food-rules{margin:15px 0 23px;padding-top:12px;border-top:1px solid #d9cfba}.calendar-food-rules>div{margin:0 0 12px}.calendar-food-rules dt{font:600 11px/1.6 var(--sans);color:#5a6159}.calendar-food-rules dd{font:400 14px/1.8 var(--sans);margin:4px 0 0}.calendar-key-items>.calendar-feast-badge{max-width:100%}@media(max-width:760px){.calendar-grid>button>.calendar-feast-badge{left:auto;right:5px;top:7px}.calendar-grid>button>.calendar-feast-badge .feast-icon{width:14px;height:14px}.calendar-food-rules dd{font-size:13px}.calendar-day-panel>.calendar-feast-badge{font-size:12px}}
