.monthly-container{width:100%}.month-heading{padding:24px 0;text-align:center}.month-heading>span{font-size:26px}.month-heading h3{margin:8px 0 12px;font-size:clamp(23px,3vw,34px);color:#174d38}.month-heading p{max-width:760px;margin:auto;white-space:pre-wrap;color:#53695d;font-size:14px;line-height:1.7}.month-weekdays,.month-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.month-weekdays{background:#e3efe5;border-radius:16px 16px 0 0;color:#204c39;font-weight:700;text-align:center;padding:16px 0}.month-week-label{display:none}.month-days{border-left:1px solid #d3e2d5}.month-day{background:#fff;border-right:1px solid #d3e2d5;border-bottom:1px solid #d3e2d5;min-width:0;padding:0 16px 24px}.month-day h4{display:flex;align-items:baseline;gap:8px;margin:0 -16px 18px;padding:12px 16px;background:#f0f6ef;color:#244e39}.month-day h4 time{font-size:21px;font-weight:800}.month-day h4 span{font-size:13px;font-weight:500}.month-day ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}.month-day li{font-size:15px;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}.month-day a{font-weight:750;color:#174b35;text-decoration:underline;text-underline-offset:4px}.month-day a:focus-visible{outline:3px solid #658c56;outline-offset:4px}.menu-allergy{font-size:12px;color:#637465;display:inline;white-space:normal}.day-note{font-size:13px;line-height:1.7;white-space:pre-wrap;margin-bottom:0}.holiday-name{color:#a33d3d;font-weight:700}.month-day.holiday{background:#fffaf5}.month-week:last-child .month-days{border-radius:0 0 16px 16px;overflow:hidden}.monthly-editor-days{display:grid;gap:18px}.monthly-editor-day{padding:16px;border:1px solid #d3e2d5;border-radius:12px}.monthly-item{display:grid;grid-template-columns:2fr 1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid #e1e8e1}.monthly-link-editor{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap;align-items:end}.monthly-link-editor label{flex:1;min-width:140px}.monthly-link-editor .check{flex:2}.month-week-choice{display:flex;gap:16px;flex-wrap:wrap}.monthly-editor-day textarea{min-height:70px}.monthly-item input,.monthly-item select{width:100%}.monthly-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.monthly-preview{padding:18px;background:#f7faf5}.monthly-preview:empty{display:none}
@media(max-width:760px){.month-weekdays{display:none}.month-week-label{display:block;font-size:15px;color:#395a46;margin:22px 0 10px}.month-days{grid-template-columns:1fr;border:0;gap:12px}.month-day{border:1px solid #d3e2d5;border-radius:12px;padding:0 20px 22px;overflow:hidden}.month-day h4{margin:0 -20px 16px;padding:12px 20px}.month-day li{font-size:16px}.month-day ul{gap:10px}.monthly-item{grid-template-columns:1fr}.monthly-link-editor{display:grid;width:100%}.monthly-preview{padding:8px}.month-heading{padding:10px 0 20px}.month-heading p{text-align:left}}
.day-meal-title{font-size:1rem;line-height:1.6;color:#284b39;margin:.75rem 0 1rem;font-weight:750;overflow-wrap:anywhere}.monthly-allergy-notice{font-size:.92rem;line-height:1.8;color:#405647;background:#edf4ec;border-radius:12px;padding:1rem 1.25rem;margin:1.5rem 0 0}.allergy-review{margin-top:1rem;padding:1rem;border:1px solid #b7cdbb;border-radius:10px;min-width:0}

/* Attached original artwork replaces only the redundant month/weekday header. */
.month-art-heading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:12px 0 20px;max-width:100%;min-width:0}
.month-calendar-art{display:block;width:190px;max-width:50%;height:auto;object-fit:contain}
.month-divider-art{display:block;width:100%;max-width:1040px;height:auto;object-fit:contain}
.future-month-title{margin:0;color:#174d38;font-size:clamp(24px,3vw,34px)}
.month-week:first-of-type .month-days{border-top:1px solid #d3e2d5;border-radius:12px 12px 0 0;overflow:hidden}
.month-day a{display:inline-block;min-height:24px;padding-block:3px}
@media(max-width:760px){.month-art-heading{gap:10px;padding:8px 0 6px}.month-calendar-art{width:145px;max-width:48%}.month-divider-art{width:100%;max-width:100%}.month-week:first-of-type .month-days{border:0;border-radius:0;overflow:visible}.month-day a{min-height:32px;padding-block:5px}}

.menu-section-heading{display:grid!important;grid-template-columns:minmax(0,1fr) 170px;align-items:center;gap:24px;margin-bottom:8px}.menu-calendar-side{width:170px;justify-self:end}.menu-calendar-side img{display:block;width:100%;height:auto;object-fit:contain}.month-art-heading{padding-top:0;gap:0;padding-bottom:16px}.month-day h4{flex-wrap:wrap;row-gap:6px}.month-day h4 .date-events{display:flex;flex-wrap:wrap;gap:4px;flex-basis:100%}.month-day h4 .date-event{font-size:12px;line-height:1.5;background:#dcebd9;color:#294e36;border-radius:6px;padding:3px 6px;overflow-wrap:anywhere}.allergy-food-guide{margin-top:24px;padding:20px;background:#f5f8f0;border:1px solid #d3e2d5;border-radius:12px}.allergy-food-guide h3{font-size:17px}.allergy-food-guide ol{display:flex;flex-wrap:wrap;column-gap:32px;row-gap:8px;padding-left:22px;margin-bottom:0}.allergy-food-guide li{font-size:14px;line-height:1.7;padding-right:6px}
@media(max-width:760px){.menu-section-heading{grid-template-columns:minmax(0,1fr) 100px;gap:12px}.menu-calendar-side{width:100px}.menu-section-heading h2{font-size:1.3rem}.menu-section-heading p{font-size:14px}.allergy-food-guide{padding:16px}.allergy-food-guide ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px}.allergy-food-guide li{overflow-wrap:anywhere}}

/* Every date reserves the same two-badge space, without clipping content. */
.month-day h4{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:8px;min-height:88px;height:auto;margin-bottom:18px}
.month-day h4 .date-label{display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap;font-size:13px}
.month-day h4 .date-events{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;flex-basis:auto;gap:4px;min-width:0;text-align:right}
.month-day h4 .date-event{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:right;line-height:1.5}
@media(min-width:761px) and (max-width:1000px){.month-day h4{padding:10px 8px;min-height:112px;gap:6px}.month-day h4 .date-label{gap:4px;font-size:12px}.month-day h4 .date-label span{font-size:12px}.month-day h4 time{font-size:18px}}
@media(max-width:760px){.month-day h4{min-height:88px;grid-template-columns:max-content minmax(0,1fr)}.month-day h4 .date-events{flex-direction:column;align-items:flex-end}.month-day h4 .date-label{gap:6px}}
