/* Our Calendar page only. The month slider and month pages keep their established styling. */
.calendar-feature-hero{height:clamp(390px,47vw,650px);position:relative;display:grid;place-items:center;overflow:hidden;background:#211f21;color:white}
.calendar-feature-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.62)}
.calendar-feature-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#16121972,#16121928)}
.calendar-feature-hero>div{position:relative;z-index:1;text-align:center;padding:2rem}
.calendar-feature-hero .eyebrow{color:#efd5ad;font-size:.95rem}
.calendar-feature-hero h1{color:#fff;font:400 clamp(3rem,5.7vw,6rem)/1.08 'Newsreader',Georgia,serif;letter-spacing:0}
.calendar-feature-intro{background:#fcf9f8;padding:clamp(2.5rem,5vw,5rem) clamp(1.2rem,6vw,6rem)}
.calendar-feature-intro>.eyebrow,.calendar-feature-main>.eyebrow,.calendar-feature-ways>.eyebrow,.calendar-feature-notes>.eyebrow{text-align:center;color:#a4513d;letter-spacing:.08em;font-size:.86rem}
.calendar-feature-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,7vw,7rem);max-width:1100px;margin:2rem auto 0}
.calendar-feature-columns h2{font:700 .9rem 'Lato',sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#a4513d}
.calendar-feature-columns p{font:400 clamp(1.15rem,1.6vw,1.5rem)/1.35 'Newsreader',Georgia,serif;margin:.6rem 0}
.calendar-feature-main{max-width:1360px;padding-top:3rem;padding-bottom:3rem}
.calendar-feature-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.85fr);gap:clamp(1rem,2vw,2rem);align-items:start;margin-top:1.5rem}
.calendar-feature-grid .calendar-panel{padding:clamp(.65rem,1.5vw,1.25rem);background:#fffaf7;border-color:#e4d5c9}
.calendar-feature-grid .calendar-toolbar{gap:.6rem;justify-content:flex-start}
.calendar-feature-grid .calendar-toolbar label{font-size:.83rem}
.calendar-feature-grid .calendar-toolbar select{min-width:130px;max-width:190px;padding:.38rem;font-size:.88rem;border-color:#b9a9a2}
.calendar-feature-grid .month-controls{gap:.2rem}.calendar-feature-grid .month-controls strong{min-width:145px;font-size:.88rem}
.calendar-feature-grid .month-controls button{padding:.35rem .55rem}
.calendar-feature-grid .calendar-key{font-size:.75rem;gap:.5rem;margin:.6rem 0}
.calendar-feature-grid .weekdays{margin-top:.7rem}
.calendar-feature-grid .weekdays span{padding:.3rem}
.calendar-feature-grid .day{min-height:65px;padding:.3rem}
.calendar-feature-grid .day .primary{font-size:.95rem}.calendar-feature-grid .day .secondary{font-size:.7rem}
.calendar-feature-grid .day .dot{font-size:.65rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.calendar-feature-grid .calendar-details{padding-top:.7rem;min-height:85px;font-size:.9rem}
.calendar-feature-grid .calendar-details h3{font-size:1.3rem}
.calendar-feast-list{background:#fffaf7;border-top:2px solid #b7844d;max-height:690px;overflow:auto;padding:1rem 1.2rem}
.calendar-feast-list h2{font:400 1.5rem 'Newsreader',Georgia,serif;color:#8a443e;margin:.2rem 0 .9rem}
.month-feast-item{display:block;width:100%;text-align:left;background:transparent;border:0;padding:.75rem .2rem;cursor:pointer;color:#392d2c}
.month-feast-item:hover{background:#f5e9e2}
.month-feast-item strong{display:block;font:500 1.18rem 'Newsreader',Georgia,serif;color:#713849}
.month-feast-item span,.month-feast-item small{display:block;font:.8rem/1.4 'Lato',sans-serif;margin-top:.15rem}
.month-feast-item small{color:#6e5c58}
.calendar-feature-main>.small-note{max-width:1000px;text-align:center;margin:1.5rem auto 0}
.calendar-feature-ways{padding:2.5rem 0 0}
.calendar-feature-way-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:1.5rem}
.calendar-feature-way-grid a{position:relative;height:clamp(260px,33vw,490px);color:#fff;text-decoration:none;overflow:hidden}
.calendar-feature-way-grid img{width:100%;height:100%;object-fit:cover}
.calendar-feature-way-grid a:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#000b)}
.calendar-feature-way-grid span{position:absolute;z-index:1;bottom:1.2rem;left:1rem;right:1rem;text-align:center;font:400 clamp(1.25rem,2vw,2rem) 'Newsreader',Georgia,serif}
.calendar-feature-cta{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:#efd0d0;padding:1.5rem clamp(1.2rem,7vw,7rem)}
.calendar-feature-cta p{margin:0;font:400 clamp(1.5rem,2.5vw,2.5rem) 'Newsreader',Georgia,serif}
.calendar-feature-cta a{white-space:nowrap;border:1px solid #aa624c;border-radius:6px;color:#914633;background:#fff;padding:.9rem 1.3rem;text-decoration:none;text-transform:uppercase;font-weight:700;font-size:.86rem}
.calendar-feature-notes{padding-top:2.5rem}
.calendar-feature-notes>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.calendar-feature-notes a{background:#f7eeea;color:#322c2d;text-decoration:none;font:400 1.5rem/1.2 'Newsreader',Georgia,serif;overflow:hidden}
.calendar-feature-notes img{display:block;width:100%;height:190px;object-fit:cover}
.calendar-feature-notes span{display:block;padding:1rem}
@media(max-width:900px){.calendar-feature-grid{grid-template-columns:1fr}.calendar-feast-list{max-height:370px}.calendar-feature-columns{gap:2rem}}
@media(max-width:650px){.calendar-feature-hero{height:50svh;min-height:350px}.calendar-feature-columns{grid-template-columns:1fr}.calendar-feature-grid .calendar-panel{padding:.4rem}.calendar-feature-grid .day{min-height:56px;padding:.2rem}.calendar-feature-grid .day .dot{font-size:.56rem}.calendar-feature-way-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-feature-way-grid a{height:240px}.calendar-feature-cta{align-items:flex-start;flex-direction:column}.calendar-feature-notes>div{grid-template-columns:1fr}.calendar-feature-grid .month-controls strong{min-width:110px}}

/* Framing refinements for the supplied portrait photographs. */
.calendar-feature-hero{height:calc(100svh - 76px);min-height:560px;isolation:isolate}
.calendar-feature-hero:before{content:"";position:absolute;inset:-35px;background:url('/calendar-month-1.webp') center/cover;filter:blur(28px) brightness(.38);z-index:-1}
.calendar-feature-hero img{object-fit:contain;object-position:center;filter:brightness(.82);width:100%;height:100%}
.calendar-feature-hero:after{background:linear-gradient(90deg,#1612195c,transparent 35%,transparent 65%,#1612195c)}
.calendar-feature-hero h1{font-size:clamp(2.8rem,4.6vw,5rem);text-shadow:0 2px 22px #000c}
.calendar-feature-ways{padding:3.5rem clamp(1.2rem,4vw,4rem) 3rem}
.calendar-feature-way-grid{max-width:1220px;margin:1.5rem auto 0;gap:8px}
.calendar-feature-way-grid a{height:clamp(370px,44vw,570px);background:#29232b}
.calendar-feature-way-grid img{object-position:center}
.calendar-feature-cta{margin:0;padding-block:2.2rem;min-height:140px}
.calendar-feature-cta-inner{width:100%;max-width:1220px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.calendar-feature-notes{padding-top:3.8rem;padding-bottom:5rem;max-width:1320px}
.calendar-feature-notes>div{max-width:1220px;margin:1.5rem auto 0;gap:1rem}
.calendar-feature-notes a{min-height:630px;display:flex;flex-direction:column;background:#f7eeea}
.calendar-feature-notes img{height:520px;object-fit:cover;object-position:center}
.calendar-feature-notes span{font-size:1.5rem;line-height:1.25;padding:1.1rem 1.2rem}
@media(max-width:900px){.calendar-feature-hero{height:calc(100svh - 76px)}.calendar-feature-way-grid a{height:clamp(330px,50vw,510px)}.calendar-feature-notes a{min-height:500px}.calendar-feature-notes img{height:390px}}
@media(max-width:650px){.calendar-feature-hero{height:calc(100svh - 112px);min-height:480px}.calendar-feature-hero h1{font-size:clamp(2.4rem,8vw,3.5rem)}.calendar-feature-ways{padding:2.5rem 1rem}.calendar-feature-way-grid a{height:clamp(290px,85vw,440px)}.calendar-feature-cta{padding:2rem 1.3rem;gap:1.4rem}.calendar-feature-cta-inner{flex-direction:column;align-items:flex-start;gap:1.4rem}.calendar-feature-notes{padding:2.5rem 1.2rem 4rem}.calendar-feature-notes a{min-height:0}.calendar-feature-notes img{height:280px}}

.month-feast-entry{border-bottom:1px solid #d8c8bd}
.month-feast-item[aria-expanded="true"]{background:#f5e9e2}
.month-feast-item:focus-visible{outline:2px solid #713849;outline-offset:-2px}
.month-feast-detail{padding:.1rem .55rem .9rem;background:#fffaf6;color:#392d2c;font:.86rem/1.5 'Lato',sans-serif}
.month-feast-detail[hidden],.calendar-details[hidden]{display:none}
.month-feast-detail p{margin:.65rem 0 0}
.month-feast-detail .badge{font-size:.68rem}

.calendar-feature-hero{height:calc(100svh - var(--actual-header-height,76px));min-height:0;overflow:hidden}.calendar-feature-hero img{object-fit:cover;object-position:center 55%}.calendar-feature-hero:before{background-image:url('/collection-heroes/calendar-easter.webp')}

.welcome-ways{max-width:1268px;margin:0 auto;padding:3rem 24px}.welcome-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.welcome-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 20px;background:#f3ebe0;border:1px solid #dcc6a2;border-radius:14px;color:#642a39;text-decoration:none;transition:transform .2s,background .2s}.welcome-card:hover{background:#ede0ce;transform:translateY(-3px)}.welcome-icon{width:58px;height:58px;padding:8px;background:#fbf6ee;border-radius:50%;color:#9a753c;margin-bottom:15px}.welcome-card h2{font-size:1.22rem;line-height:1.3;margin:0 0 10px;font-weight:600}.welcome-card p{font-size:.94rem;line-height:1.55;margin:0 0 18px;color:#51484b}.welcome-card-link{font-size:.78rem;color:#864253;margin-top:auto}@media(max-width:760px){.welcome-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.welcome-ways{padding:2rem 16px}.welcome-card{padding:22px 14px}.welcome-card h2{font-size:1.12rem}}

/* Minimal calendar: readable dates, quiet fasting and distinct feasts. */
.calendar-feature-hero{height:clamp(220px,28vw,360px)}
.calendar-feature-hero h1{font-size:clamp(2rem,4vw,3.5rem)}
.calendar-feature-main{padding-block:2rem}
.calendar-feature-grid .calendar-panel,.calendar-feast-list{background:#fff;border:1px solid #e1e3e5;border-radius:8px}
.calendar-feature-grid .calendar-panel{padding:1.25rem}
.calendar-feature-grid .calendar-toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:end}
.calendar-feature-grid .calendar-toolbar label{font-size:.875rem}
.calendar-feature-grid .calendar-toolbar select{font-size:1rem;padding:.6rem;max-width:100%;min-width:0}
.calendar-feature-grid .month-controls strong{font:500 1.5rem/1.3 'Newsreader',Georgia,serif;min-width:150px}
.calendar-feature-grid .calendar-key{font-size:.875rem;line-height:1.5;flex-wrap:wrap;margin:1rem 0}
.calendar-feature-grid .weekdays span{font:400 .875rem/1.5 'Lato',sans-serif;color:#50545a;padding:.6rem 0}
.calendar-feature-grid .day{min-width:0;min-height:105px;background:#fff;border-color:#e5e6e8;padding:.5rem;position:relative;color:#303233;text-align:left}
.calendar-feature-grid .day.fasting-day{background:#f5f3f7}
.calendar-feature-grid .day.feast-day{background:#fff;border-top:3px solid #713849}
.calendar-feature-grid .day.active{outline:2px solid #713849;outline-offset:-2px;background:#f9f1f4}
.calendar-feature-grid .day:focus-visible{outline:3px solid #713849;outline-offset:-3px}
.calendar-feature-grid .day .primary{font:700 1.3rem/1.25 'Lato',sans-serif}
.calendar-feature-grid .day .secondary{font:400 .875rem/1.5 'Lato','Noto Sans Ethiopic',sans-serif;color:#555961;margin-top:.15rem}
.calendar-feature-grid .day .dot{font:600 .875rem/1.25 'Lato',sans-serif;color:#713849;display:block;overflow:visible;white-space:normal;overflow-wrap:anywhere;margin-top:.4rem;-webkit-line-clamp:unset}
.calendar-feature-grid .calendar-details{font-size:1rem;line-height:1.6;padding-top:1.25rem}
.calendar-feature-grid .calendar-details h3{font-size:1.5rem;line-height:1.3}
.calendar-feast-list{max-height:none;overflow:visible;padding:1rem 1.25rem}
.calendar-feast-list h2{font-size:1.75rem}
.month-feast-item{padding:1rem .4rem}
.month-feast-item strong{font-size:1.3rem;line-height:1.3}
.month-feast-item span,.month-feast-item small{font-size:.875rem;line-height:1.5}
.month-feast-item:hover,.month-feast-item[aria-expanded="true"],.month-feast-detail{background:#f9f5f7}
.month-feast-detail{font-size:1rem;padding:1rem .75rem}
.calendar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1rem}
.calendar-actions a{font:400 1rem/1.5 'Lato',sans-serif}
.calendar-actions .button{padding:.75rem 1rem;background:#713849;color:white;border-radius:4px}
.calendar-feature-intro{padding-block:2rem;background:#fff}
.calendar-feature-columns{margin-top:1rem}
@media(max-width:650px){.calendar-feature-grid .calendar-panel{padding:.5rem}.calendar-feature-grid .day{min-height:88px;padding:.25rem}.calendar-feature-grid .day .primary{font-size:1.125rem}.calendar-feature-grid .day .secondary{font-size:.75rem}.calendar-feature-grid .day .dot{font-size:.75rem;line-height:1.3}.calendar-feature-grid .month-controls{width:100%;justify-content:space-between;order:-1}.calendar-feature-grid .calendar-toolbar label{flex:1;min-width:85px}.calendar-feature-grid .calendar-toolbar select{width:100%}.calendar-feature-grid .calendar-key{font-size:.875rem}.calendar-feature-hero{height:220px}.calendar-actions{align-items:stretch;flex-direction:column}.calendar-actions .button{text-align:center}}

.calendar-feature-grid .day .feast-umbrella{display:block;width:26px;height:26px;margin-top:.5rem}.calendar-feature-grid .day{min-height:94px}@media(max-width:650px){.calendar-feature-grid .day{min-height:84px}.calendar-feature-grid .day .feast-umbrella{width:22px;height:22px;margin-top:.3rem}}

.calendar-feature-grid .day .primary,.calendar-feature-grid .day .secondary{display:flex;align-items:center;gap:4px;flex-wrap:nowrap}.calendar-feature-grid .day .feast-umbrella{display:inline-block;flex:0 0 auto;width:20px;height:20px;margin:0}.calendar-feature-grid .day{min-height:72px}@media(max-width:650px){.calendar-feature-grid .day{min-height:64px}.calendar-feature-grid .day .feast-umbrella{width:16px;height:16px}}

.calendar-feature-main.wrap{width:100%;max-width:none;padding-inline:clamp(16px,3vw,56px);box-sizing:border-box}.calendar-feature-grid{grid-template-columns:minmax(0,2.3fr) minmax(290px,1fr);gap:clamp(20px,3vw,48px)}@media(max-width:900px){.calendar-feature-grid{grid-template-columns:1fr}}

.month-feast-entry{scroll-margin-top:calc(var(--actual-header-height,112px) + 20px)}
