.oc-calendar{--oc-wine:#742833;--oc-cream:#f8f4ea;max-width:1200px;margin:24px auto;padding:0 20px;color:#302c26;font:18px/1.65 Georgia,serif;box-sizing:border-box}.oc-calendar *{box-sizing:border-box;min-width:0}.oc-calendar h1{font-size:36px;line-height:1.2;color:var(--oc-wine)}.oc-calendar h2{font-size:26px;line-height:1.35;color:var(--oc-wine);margin:24px 0 16px}.oc-notice{background:#fff6dc;border-left:4px solid #b9964e;padding:16px;font:15px/1.6 Arial,sans-serif}.oc-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:32px;align-items:start}.oc-picker{background:var(--oc-cream);padding:20px;border:1px solid #ded4c5;border-radius:10px}.oc-picker form{display:grid;gap:12px}.oc-picker label{font:600 16px/1.5 Arial,sans-serif}.oc-picker input,.oc-picker button{width:100%;min-height:48px;border:1px solid #b6a991;border-radius:5px;font:16px Arial,sans-serif;padding:10px}.oc-picker button{color:white;background:var(--oc-wine);cursor:pointer}.oc-month-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:24px}.oc-month-nav h2{font-size:20px;text-align:center;margin:0}.oc-month-nav a{padding:10px;min-height:44px;min-width:44px;text-align:center}.oc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin:14px 0;font:16px Arial,sans-serif;text-align:center}.oc-grid a,.oc-grid span{display:flex;align-items:center;justify-content:center;min-height:36px}.oc-grid a{border-radius:4px;color:var(--oc-wine);text-decoration:none;border:1px solid #d9ccba;background:white}.oc-grid a[aria-current]{color:white;background:var(--oc-wine)}.oc-weekday{font-weight:bold}.oc-unavailable{color:#746d61;background:#ede7dc}.oc-small{font:14px/1.6 Arial,sans-serif}.oc-day{overflow-wrap:anywhere;scroll-margin-top:100px}.oc-dates{background:var(--oc-cream);padding:16px}.oc-text p{font-size:18px;line-height:1.7;text-align:left!important;margin:0 0 18px}.oc-text span,.oc-text font{font-size:inherit!important;line-height:inherit!important}.oc-text img{max-width:100%;height:auto}.oc-text table{display:block;max-width:100%;overflow-x:auto}.oc-calendar details{border:1px solid #ded4c5;padding:14px;margin:20px 0}.oc-calendar summary{cursor:pointer;font-weight:bold;color:var(--oc-wine);min-height:44px;padding:8px 0}.oc-calendar a{color:var(--oc-wine)}.oc-calendar :focus-visible{outline:3px solid #936f29;outline-offset:3px}@media(max-width:767px){.oc-calendar{padding:0 16px;margin:20px auto;font-size:18px}.oc-layout{grid-template-columns:minmax(0,1fr);gap:20px}.oc-calendar h1{font-size:28px}.oc-calendar h2{font-size:24px}.oc-picker{padding:16px}.oc-grid a,.oc-grid span{min-height:44px}.oc-month-nav h2{font-size:20px}.oc-text p{font-size:18px;line-height:1.7}}@media print{.oc-picker,.oc-notice{display:none}.oc-layout{display:block}.oc-calendar details{break-inside:avoid}}

.oc-calendar .oc-day-title{color:#202020;font-weight:800}.oc-calendar .oc-day-title.oc-sunday,.oc-calendar .oc-sunday{color:#b01f2d}.oc-calendar .oc-grid a[aria-current]{color:#fff}.oc-calendar .oc-saints{color:#202020;font-weight:800}.oc-calendar .oc-month-title{font:600 20px/1.4 Arial,sans-serif;text-align:center;margin:24px 0 14px}.oc-calendar h3{font-size:20px;line-height:1.4;color:#742833;margin:26px 0 12px}.oc-calendar details{scroll-margin-top:110px}.oc-calendar .oc-text small{font-size:.8em}

.oc-month-links,.oc-day-nav{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.oc-month-links a,.oc-day-nav a{display:inline-block;padding:10px;border:1px solid #d9ccba;border-radius:4px;text-decoration:none;min-height:44px}.oc-month-links a[aria-current]{font-weight:bold;background:#fff}.oc-day-nav{justify-content:space-between}

/* Feast ranks affect calendar labels only; liturgical text keeps its own emphasis. */
.oc-calendar .oc-day-title{font-weight:400;color:#202020}
.oc-calendar .oc-day-title.oc-rank-red{color:#b01f2d;font-weight:800}
.oc-calendar .oc-day-title.oc-rank-lesser{color:#202020;font-weight:800}
.oc-calendar .oc-saints{color:#202020;font-weight:400}
.oc-calendar .oc-grid a{color:#202020;font-weight:400;gap:2px}
.oc-calendar .oc-grid a.oc-rank-red,.oc-calendar .oc-rank-legend .oc-rank-red{color:#b01f2d}
.oc-calendar .oc-grid a.oc-rank-red,.oc-calendar .oc-grid a.oc-rank-lesser{font-weight:700}
.oc-calendar .oc-grid a[aria-current]{color:#fff}
.oc-calendar .oc-grid-cross{display:inline;min-height:0;font-size:12px}
.oc-calendar .oc-feast-cross{font-weight:400;white-space:nowrap}

/* Self-contained homepage calendar; do not inherit the full-page calendar layout. */
.oc-compact{max-width:420px;width:100%;box-sizing:border-box;margin:28px auto;padding:20px;background:#f8f4ea;border:1px solid #ded4c5;border-radius:10px;color:#202020;scroll-margin-top:90px}
.oc-compact *{box-sizing:border-box;min-width:0}
.oc-compact .oc-compact-month{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:6px;margin:0 0 12px}
.oc-compact .oc-compact-month h2{font:600 22px/1.4 Georgia,serif;color:#742833;text-align:center;margin:0;padding:0;text-transform:none}
.oc-compact .oc-compact-arrow{display:flex;align-items:center;justify-content:center;min-height:44px;text-decoration:none;color:#742833;font:30px/1 Arial,sans-serif}
.oc-compact .oc-compact-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;font:16px/1.3 Arial,sans-serif;text-align:center}
.oc-compact .oc-compact-grid>a,.oc-compact .oc-compact-grid>span{display:flex;align-items:center;justify-content:center;min-height:44px;gap:2px;margin:0;padding:2px}
.oc-compact .oc-compact-grid>a{color:#202020;background:#fff;border:1px solid #d9ccba;border-radius:4px;text-decoration:none;font-weight:400}
.oc-compact .oc-compact-grid>a.oc-compact-red,.oc-compact .oc-compact-weekday.oc-compact-red{color:#b01f2d;font-weight:700}
.oc-compact .oc-compact-grid>a.oc-compact-lesser{font-weight:700}
.oc-compact .oc-compact-grid>a[aria-current]{background:#742833;border-color:#742833;color:#fff}
.oc-compact .oc-compact-weekday{font-weight:700}
.oc-compact .oc-compact-unavailable{color:#827b70;background:#ede7dc;border-radius:4px}
.oc-compact .oc-compact-cross{font-size:12px}
.oc-compact .oc-compact-link{display:block;margin-top:16px;padding:8px 0 0;color:#742833;font:600 16px/1.5 Arial,sans-serif;text-align:center;text-decoration:none}
.oc-compact a:focus-visible{outline:3px solid #936f29;outline-offset:2px}
.oc-compact a:hover{text-decoration:underline}
@media(max-width:360px){.oc-compact{padding:12px}.oc-compact .oc-compact-grid{gap:2px;font-size:15px}.oc-compact .oc-compact-cross{font-size:10px}}

/* A single daily section: icon, month grid and scripture references. */
.oa-home .oc-home-daily,.oc-home-daily{width:100%;max-width:1200px;margin:32px auto;padding:26px 28px;background:#fbf8f1;border:1px solid #dfd2bd;border-top:3px solid #b59658;border-radius:12px;color:#29251f;box-sizing:border-box;scroll-margin-top:90px}
.oc-home-daily *{box-sizing:border-box;min-width:0}
.oc-home-daily .oc-daily-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 0 20px;margin:0 0 24px;border-bottom:1px solid #dfd2bd}
.oc-home-daily .oc-daily-kicker{margin:0 0 5px;font:600 11px/1.5 Arial,sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:#8a6a32}
.oc-home-daily h2#oc-daily-heading{font:500 29px/1.25 Georgia,serif;color:#742833;margin:0;padding:0;text-transform:none}
.oc-home-daily .oc-daily-date{margin:0;text-align:right;font:15px/1.6 Arial,sans-serif;color:#4b4134}
.oc-home-daily .oc-daily-date strong{font-weight:600}
.oc-home-daily .oc-daily-date span{display:block;font-size:12px;color:#766b5c}
.oc-home-daily .oc-daily-columns{display:grid;grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr) minmax(0,1fr);gap:25px;align-items:start}
.oc-home-daily .oc-daily-icon,.oc-home-daily .oc-daily-month,.oc-home-daily .oc-daily-readings{margin:0;padding:0;background:transparent;border:0}
.oc-home-daily .oc-daily-month{padding:0 22px;border-left:1px solid #e2d8c8;border-right:1px solid #e2d8c8}
.oc-home-daily h3{margin:0 0 17px;padding:0;font:600 12px/1.5 Arial,sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:#806334}
.oc-home-daily .oc-daily-image{display:flex;width:100%;height:280px;align-items:center;justify-content:center;background:#f1e9d9;border:1px solid #ddd0b9;border-radius:4px;padding:10px}
.oc-home-daily .oc-daily-image img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;margin:0;padding:0;border:0}
.oc-home-daily .oc-daily-icon-name{font:500 18px/1.5 Georgia,serif;text-align:center;margin:13px 0 8px;color:#4b3028}
.oc-home-daily details.oc-daily-credit{border:0;padding:0;margin:0;text-align:center;background:transparent}
.oc-home-daily .oc-daily-credit summary{display:list-item;list-style-position:inside;min-height:0;padding:4px;font:12px/1.5 Arial,sans-serif;cursor:pointer;color:#766b5c}
.oc-home-daily .oc-daily-credit p{font:11px/1.6 Arial,sans-serif;margin:6px 0 0;overflow-wrap:anywhere}
.oc-home-daily a{color:#742833}
.oc-home-daily .oc-compact{width:100%;max-width:none;margin:0;padding:0;background:transparent;border:0;border-radius:0}
.oc-home-daily .oc-compact .oc-compact-month{margin:0 0 14px;grid-template-columns:32px minmax(0,1fr) 32px;gap:0}
.oc-home-daily .oc-compact .oc-compact-month h2{font-size:20px}
.oc-home-daily .oc-compact .oc-compact-grid{font-size:15px;gap:3px}
.oc-home-daily .oc-compact .oc-compact-grid>a,.oc-home-daily .oc-compact .oc-compact-grid>span{min-height:40px}
.oc-home-daily .oc-compact .oc-compact-link{margin-top:18px;padding-top:12px;border-top:1px solid #dfd2bd;font-size:14px}
.oc-home-daily .oc-daily-references{max-height:324px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cdbb9c transparent;font:17px/1.7 Georgia,serif;padding-right:8px;overflow-wrap:anywhere}
.oc-home-daily .oc-daily-references p{font:inherit;margin:0 0 12px;text-align:left}
.oc-home-daily .oc-daily-references small{font-size:13px;line-height:1.6}
.oc-home-daily .oc-daily-read-link{display:inline-block;margin-top:18px;padding:8px 0;font:600 14px/1.5 Arial,sans-serif;text-decoration:none;border-bottom:1px solid #cdbb9c}
.oc-home-daily .oc-daily-pending{font:17px/1.6 Georgia,serif;color:#766b5c}
.oc-home-daily a:focus-visible,.oc-home-daily [tabindex]:focus-visible{outline:3px solid #936f29;outline-offset:3px}
@media(max-width:1050px){.oc-home-daily .oc-daily-columns{grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);gap:24px}.oc-home-daily .oc-daily-readings{grid-column:1/-1;border-top:1px solid #dfd2bd;padding-top:20px}.oc-home-daily .oc-daily-month{border-right:0;padding-right:0}.oc-home-daily .oc-daily-references{max-height:none}}
@media(max-width:640px){.oa-home .oc-home-daily,.oc-home-daily{padding:20px 16px;margin:24px auto}.oc-home-daily .oc-daily-header{display:block;margin-bottom:20px;padding-bottom:16px}.oc-home-daily .oc-daily-date{margin-top:12px;text-align:left}.oc-home-daily h2#oc-daily-heading{font-size:26px}.oc-home-daily .oc-daily-columns{grid-template-columns:minmax(0,1fr);gap:24px}.oc-home-daily .oc-daily-month{padding:22px 0 0;border-left:0;border-top:1px solid #dfd2bd}.oc-home-daily .oc-daily-readings{grid-column:auto}.oc-home-daily .oc-daily-image{height:250px}.oc-home-daily .oc-compact .oc-compact-grid>a,.oc-home-daily .oc-compact .oc-compact-grid>span{min-height:44px}.oc-home-daily .oc-daily-icon-name{font-size:19px}.oc-home-daily .oc-daily-references{font-size:17px}}

/* Match the feast heading inside the indications to its calendar rank. */
.oc-calendar .oc-indications.oc-rank-red #ln-head > p:first-child{color:#b01f2d;font-weight:800}

.oc-print-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:0 0 12px}.oc-print-button{min-height:44px;padding:10px 22px;border:1px solid #742833;border-radius:5px;background:#742833;color:white;font:600 16px/1.4 Arial,sans-serif;cursor:pointer}.oc-print-button[hidden]{display:none}.oc-print-status{font:14px/1.4 Arial,sans-serif}@media print{.oc-print-tools,.oc-original-review,.oc-day-nav{display:none!important}}
