.calendar-workspace{padding-block:28px 72px}
.calendar-facts{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:0 0 26px}.calendar-facts>div{padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--tint)}.calendar-facts h2{font-size:1.45rem;margin:0 0 12px}.calendar-facts h3{font-size:1.1rem;margin:20px 0 8px}.calendar-facts p{font-size:.9375rem;margin:8px 0;color:var(--muted)}.calendar-facts .calendar-fact-answer{font-family:var(--serif);font-size:1.7rem;color:var(--brand-deep)}.calendar-obligation-summary{padding:18px 22px;border-left:3px solid var(--gold);background:var(--tint);line-height:1.7;margin:0 0 24px}.calendar-workspace[data-calendar-page-mode=today] .calendar-tools,.calendar-workspace[data-calendar-page-mode=today] .calendar-month-nav,.calendar-workspace[data-calendar-page-mode=today] .calendar-result-count{display:none}.calendar-workspace[data-calendar-page-mode=today] .calendar-controls{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.2fr) auto}@media(max-width:999px){.calendar-workspace[data-calendar-page-mode=today] .calendar-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media(max-width:600px){.calendar-facts{grid-template-columns:1fr;gap:16px}.calendar-facts>div{padding:20px}.calendar-workspace[data-calendar-page-mode=today] .calendar-controls>div:nth-child(2){grid-column:1 / -1}.calendar-workspace[data-calendar-page-mode=today] .calendar-controls>div:nth-child(4){grid-column:1 / -1}}
.calendar-country-links{padding:18px 22px;border:1px solid var(--line);border-radius:8px;margin-bottom:24px}.calendar-country-links h2{font-size:1.5rem;margin:0 0 14px}.calendar-country-links ul{display:flex;flex-wrap:wrap;gap:10px 28px;list-style:none;padding:0;margin:0}.calendar-country-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.calendar-download{border:1px solid var(--line);border-radius:8px;padding:14px 18px;margin:0 0 26px;background:var(--tint)}.calendar-download summary{display:flex;align-items:center;gap:10px;min-height:30px;cursor:pointer;color:var(--brand);font-weight:600}.calendar-download summary:after{content:'+';margin-left:auto;font-size:1.25rem}.calendar-download[open] summary:after{content:'−'}.calendar-download>p{font-size:.875rem;color:var(--muted);margin:14px 0}.calendar-download form{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;gap:16px;align-items:end;max-width:720px}.calendar-download form>div{min-width:0}.calendar-download button{margin:0}@media(max-width:600px){.calendar-download form{grid-template-columns:minmax(0,1fr) 100px}.calendar-download form>div:first-of-type{grid-column:1 / -1}.calendar-download button{min-height:46px}}@media print{.calendar-download{display:none!important}}
.calendar-workspace .breadcrumbs{margin-bottom:24px;font-size:.875rem}
.calendar-title-row{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:28px}
.calendar-title-row h1{font-size:clamp(2.25rem,4vw,3.75rem);margin-bottom:12px;max-width:760px}
.calendar-title-row p{margin:0;color:var(--muted);max-width:680px;font-size:1rem}
.calendar-year{flex-shrink:0;font:clamp(4.5rem,9vw,7.5rem)/1 var(--serif);letter-spacing:-.065em;color:var(--brand);padding-left:32px;border-left:2px solid var(--gold)}
.calendar-controls{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(115px,.7fr) 90px minmax(160px,1fr) auto;gap:14px;align-items:end;padding:22px;border:1px solid var(--line);border-radius:10px;background:var(--tint)}
.calendar-quick-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin:0 0 24px}.calendar-quick-links a{display:inline-flex;gap:7px;align-items:center;min-height:44px;color:var(--brand);font-size:.9375rem;text-decoration:underline;text-underline-offset:4px}
.calendar-translation-note{font-size:.875rem;line-height:1.65;border-left:3px solid var(--gold);padding:10px 14px;margin:-14px 0 24px;background:var(--tint);color:var(--muted)}
.calendar-workspace label{font-size:.875rem;margin-bottom:7px}
.calendar-workspace input,.calendar-workspace select,.calendar-workspace button{font-size:.9375rem;min-height:46px}
.calendar-controls>div{min-width:0}.calendar-controls .button{margin-bottom:0;min-height:46px}
.calendar-scope{font-size:.875rem;color:var(--muted);margin:12px 0 28px;line-height:1.65}
.calendar-scope a{text-decoration:underline;text-underline-offset:3px}
.calendar-today{background:var(--brand-deep);color:#fff;display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:24px;padding:28px 32px;border-radius:10px;margin-bottom:30px}
.calendar-today-date{border-right:1px solid #96616a;padding-right:24px;text-align:center;color:var(--gold);font-size:.875rem;line-height:1.5}
.calendar-today-date strong{display:block;font:3.25rem/1.1 var(--serif)}
.calendar-today h2{font-size:clamp(1.5rem,2.5vw,2rem);margin:5px 0 10px;letter-spacing:-.02em}
.calendar-today p{margin:0;font-size:.875rem;color:#f3dfd4}
.calendar-today .calendar-day-tags{margin:0;color:#f3dfd4}
.calendar-today .button{font-size:.875rem}
.calendar-tools{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}
.calendar-search{position:relative;flex:1;max-width:500px}.calendar-search input{padding-left:43px}.calendar-search .icon{position:absolute;left:13px;bottom:13px;color:var(--muted)}
.calendar-view-switch{display:flex;padding:4px;border:1px solid var(--line);border-radius:8px;gap:4px}
.calendar-view-switch button{background:#fff;color:var(--muted);min-height:38px;padding:6px 17px;border-radius:5px;font-size:.875rem}
.calendar-view-switch button[aria-pressed=true]{background:var(--brand);color:#fff}
.calendar-month-nav{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));position:sticky;top:0;z-index:5;background:#fff;border:1px solid var(--line);border-radius:8px;margin:0 0 34px;box-shadow:0 3px 14px #372b2908}
.calendar-month-nav a{text-align:center;font-size:.875rem;padding:13px 2px;line-height:1.5;border-radius:5px}
.calendar-month-nav a:hover,.calendar-month-nav a:focus-visible{background:var(--tint);color:var(--brand)}
.calendar-month-nav a[aria-current=date]{font-weight:700;background:#f4e8d0;color:var(--brand-deep)}
.calendar-result-count{font-size:.875rem;color:var(--muted);margin:0 0 16px;min-height:1.5em}
.calendar-section{scroll-margin-top:72px;margin-bottom:44px}
.calendar-section-title{display:flex;align-items:baseline;justify-content:space-between;border-bottom:2px solid var(--brand);padding-bottom:13px;gap:16px}
.calendar-section-title h2{font-size:2.25rem;margin:0;color:var(--brand-deep)}
.calendar-section-title>a{font-size:.875rem;text-decoration:underline;text-underline-offset:4px;color:var(--muted)}
.calendar-day{display:grid;grid-template-columns:68px minmax(0,1fr) 120px;gap:22px;padding:20px 16px;border-bottom:1px solid var(--line);align-items:start;background:#fff;scroll-margin-top:72px}
.calendar-day.is-sunday{background:#faf6ee}.calendar-day.is-today{box-shadow:inset 4px 0 var(--brand);background:#f9eee9}
.calendar-date{text-align:center;color:var(--muted);font-size:.875rem;line-height:1.4;display:block}
.calendar-date strong{display:block;font:2rem/1.15 var(--serif);color:var(--ink);margin-bottom:3px;font-variant-numeric:tabular-nums}
.calendar-date span{display:block}.calendar-current-label{font-size:.75rem;font-weight:700;color:var(--brand);margin:0 0 6px;overflow-wrap:anywhere}
.calendar-day-main{min-width:0}.calendar-day h3{font-family:var(--serif);font-size:1.3125rem;font-weight:400;margin:0 0 7px;line-height:1.4;letter-spacing:-.015em;overflow-wrap:anywhere}
.calendar-day-tags{display:flex;align-items:center;flex-wrap:wrap;gap:5px 14px;color:var(--muted);font-size:.875rem;line-height:1.6;margin-bottom:8px}
.calendar-color{display:inline-flex;gap:7px;align-items:center}.calendar-color-dot{width:10px;height:10px;border:1px solid #60534a;border-radius:50%;display:inline-block;flex-shrink:0;background:#fff}
.calendar-color-green{background:#386548;border-color:#386548}.calendar-color-red{background:#b0313f;border-color:#b0313f}.calendar-color-violet{background:#744b91;border-color:#744b91}.calendar-color-rose{background:#c8708d;border-color:#a44766}.calendar-color-black{background:#292727;border-color:#292727}.calendar-color-gold{background:#c6a34d;border-color:#8b6e2d}
.calendar-day-action{font-size:.875rem;font-weight:600;color:var(--brand);display:inline-flex;justify-content:flex-end;gap:8px;align-items:center;min-height:44px;border-radius:5px;line-height:1.45}
.calendar-day-action:hover{text-decoration:underline;text-underline-offset:4px}.calendar-day-action .icon{width:16px;height:16px}
.calendar-day summary{font-size:.875rem;cursor:pointer;color:var(--brand);padding:5px 0;line-height:1.6;min-height:36px}
.calendar-day details[open]{margin-top:9px}.calendar-reading-set{border-left:2px solid var(--gold);padding:0 0 0 16px;margin:12px 0 20px}
.calendar-reading-set h4{font-size:.9375rem;margin:0 0 7px;font-weight:600}.calendar-reading-set ul{list-style:none;margin:0;padding:0}.calendar-reading-set li{font-size:.875rem;margin-bottom:7px;line-height:1.6;overflow-wrap:anywhere}
.calendar-detail-note{font-size:.875rem;line-height:1.7;margin:9px 0;color:var(--muted)}
.calendar-day-source{font-size:.875rem;text-decoration:underline;text-underline-offset:3px;color:var(--brand)}
.calendar-weekdays,.calendar-pad{display:none}
.calendar-empty{padding:30px;border:1px solid var(--line);background:var(--tint);border-radius:8px}
.calendar-footer-info{display:grid;grid-template-columns:1fr 1fr;gap:50px;border-top:1px solid var(--line);padding-top:30px}
.calendar-footer-info h2{font-size:1.75rem;margin-bottom:16px}.calendar-footer-info p,.calendar-footer-info li{font-size:.9375rem;color:var(--muted);line-height:1.8}.calendar-footer-info ul{padding-left:20px}.calendar-footer-info a{text-decoration:underline;text-underline-offset:3px;color:var(--brand)}
.calendar-legend{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:.875rem;margin-bottom:20px}
.calendar-workspace [hidden]{display:none!important}
@media(min-width:1000px){
 .calendar-workspace[data-calendar-view=grid] .calendar-day-list{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid var(--line)}
 .calendar-workspace[data-calendar-view=grid] .calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:12px 0;background:var(--tint);font-size:.875rem;text-align:center}
 .calendar-workspace[data-calendar-view=grid] .calendar-pad{display:block;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fcfbf8}
 .calendar-workspace[data-calendar-view=grid] .calendar-day{display:flex;flex-direction:column;gap:8px;padding:14px 12px;border-right:1px solid var(--line);min-height:205px}
 .calendar-workspace[data-calendar-view=grid] .calendar-date{display:flex;gap:8px;align-items:baseline;text-align:left}.calendar-workspace[data-calendar-view=grid] .calendar-date strong{font-size:1.5rem}.calendar-workspace[data-calendar-view=grid] .calendar-date>span:not(.calendar-current-label){display:none}
 .calendar-workspace[data-calendar-view=grid] .calendar-day h3{font-family:var(--sans);font-size:.9375rem;font-weight:500;line-height:1.6}
 .calendar-workspace[data-calendar-view=grid] .calendar-day-action{margin-top:auto;justify-content:flex-start}
 .calendar-workspace[data-calendar-view=grid] .calendar-reading-set{padding-left:8px}.calendar-workspace[data-calendar-view=grid] .calendar-day-tags{font-size:.8125rem}
}
@media(max-width:999px){.calendar-view-switch{display:none}.calendar-controls{grid-template-columns:minmax(0,1fr) 120px}.calendar-controls>div:nth-child(3){grid-column:1}.calendar-controls>.button{align-self:end}.calendar-today{grid-template-columns:90px minmax(0,1fr)}.calendar-today>.button{grid-column:2;justify-self:start}.calendar-year{font-size:5.5rem}.calendar-month-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.calendar-month-nav a{padding-block:9px}.calendar-section,.calendar-day{scroll-margin-top:110px}}
@media(max-width:600px){.calendar-workspace{padding-top:22px}.calendar-title-row{gap:18px;align-items:flex-start}.calendar-title-row h1{font-size:2.25rem;line-height:1.13}.calendar-title-row p{font-size:.9375rem}.calendar-year{font-size:3.1rem;padding-left:13px;margin-top:7px}.calendar-controls{padding:16px;gap:14px 12px;grid-template-columns:minmax(0,1fr) 92px}.calendar-controls>div:first-child{grid-column:1 / -1}.calendar-controls>div:nth-child(2){grid-column:2;grid-row:2}.calendar-controls>div:nth-child(3){grid-row:2;grid-column:1}.calendar-controls>.button{grid-column:1 / -1}.calendar-today{padding:22px 18px;gap:15px;grid-template-columns:62px minmax(0,1fr)}.calendar-today-date{padding-right:12px}.calendar-today-date strong{font-size:2.5rem}.calendar-today h2{font-size:1.5rem;line-height:1.3}.calendar-today .button{padding:12px;white-space:normal}.calendar-section-title h2{font-size:1.9rem}.calendar-section-title>a{font-size:.8125rem}.calendar-day{grid-template-columns:42px minmax(0,1fr);padding:17px 10px;gap:5px 14px}.calendar-day h3{font-size:1.25rem}.calendar-day-action{grid-column:2;justify-self:start;min-height:40px}.calendar-date strong{font-size:1.7rem}.calendar-day-tags{font-size:.8125rem}.calendar-footer-info{grid-template-columns:1fr;gap:24px}.calendar-tools{display:block}.calendar-search{max-width:none}.calendar-title-row p{max-width:33ch}.calendar-section{margin-bottom:32px}}
@media(min-width:601px) and (max-width:1199px){.calendar-controls{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 100px}.calendar-controls>div:nth-child(3){grid-column:3}.calendar-controls>div:nth-child(4){grid-column:1 / 3}.calendar-controls>.button{grid-column:3;white-space:normal}}
@media(max-width:600px){.calendar-controls>div:nth-child(2){grid-column:1;grid-row:2}.calendar-controls>div:nth-child(3){grid-column:2;grid-row:2}.calendar-controls>div:nth-child(4){grid-column:1 / -1}.calendar-controls>.button{white-space:normal}}
@media(max-width:600px){.calendar-title-row{flex-direction:column-reverse;gap:16px}.calendar-title-row>div:first-child{width:100%}.calendar-title-row h1{max-width:100%;margin-bottom:12px}.calendar-title-row p{max-width:100%}.calendar-year{font-size:2.25rem;line-height:1;margin-top:0;padding-left:12px;border-left:3px solid var(--gold)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.calendar-controls,.calendar-tools,.calendar-month-nav,.calendar-day-action,.calendar-section-title>a{display:none!important}.calendar-workspace{width:100%!important;padding:0}.calendar-day{break-inside:avoid;padding:8px;grid-template-columns:50px 1fr}.calendar-section{break-before:page}.calendar-section:first-of-type{break-before:auto}.calendar-today{color:#000;background:#fff;border:1px solid #777}.calendar-today p,.calendar-today .calendar-day-tags{color:#333}.calendar-footer-info{display:block}.calendar-year{font-size:4rem}}
