/* Calendar: dropdown navigation and distinct outside-month cells. */
.barn-calendar{padding:36px 0 48px}.barn-calendar>.container{max-width:1200px;margin:auto;padding-inline:32px}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.calendar-heading h1{margin:0 0 18px}.calendar-heading p{font:17px/1.65 Arial,sans-serif}.calendar-kicker{font-size:12px!important;letter-spacing:2px;color:#c7b9a8}
.calendar-toolbar{display:grid;grid-template-columns:140px 180px minmax(0,1fr);align-items:end;gap:24px;padding:22px 24px;background:#5a171c;border:0;border-radius:4px;margin-bottom:24px}
.calendar-toolbar label{font:600 14px/1.5 Arial,sans-serif;color:#f0ece3}.calendar-toolbar select{box-sizing:border-box;display:block;width:100%;margin-top:8px;background:#211a1a;color:#f0ece3;border:1px solid #c7b9a8;border-radius:2px;padding:12px 30px 12px 14px;font:16px Arial,sans-serif;min-height:48px}
.calendar-toolbar p{margin:0;max-width:480px;font:15px/1.7 Arial,sans-serif;color:#c8bdb1;justify-self:end}
.calendar-month{margin-bottom:0;border:0;border-radius:4px;overflow:hidden;background:#5a171c}.calendar-month[hidden]{display:none!important}
html body #main .barn-calendar .calendar-month h2{font-size:32px!important;line-height:1.2!important;margin:0;padding:22px 24px;background:#9c3028!important;color:#f0ece3!important}.calendar-month h2 span{color:#c8bdb1;font:400 28px/1.2 Arial,sans-serif}
.calendar-month table{width:100%;border-collapse:collapse;table-layout:fixed;margin:0}
html body #main .barn-calendar .calendar-month th{padding:14px 4px;background:#631a1f!important;font:600 14px Arial,sans-serif;color:#f0ece3;text-align:center;border:0}
.calendar-month abbr{text-decoration:none}
html body #main .barn-calendar .calendar-month td{box-sizing:border-box;height:104px;vertical-align:top;padding:12px;border:2px solid #211a1a!important;background:#5a171c!important;font:18px/1.3 Arial,sans-serif;color:#f0ece3}
html body #main .barn-calendar .calendar-month td.calendar-empty{background-color:#73514d!important;background-image:repeating-linear-gradient(135deg,transparent,transparent 9px,#85635e 9px,#85635e 11px)!important}
.calendar-month td>time{display:block;margin-bottom:8px;font-variant-numeric:tabular-nums}
.calendar-month-note{padding:20px 24px;margin:0;color:#c8bdb1}.calendar-event{box-sizing:border-box;display:block;background:#9c3028;color:#f0ece3;border:0;border-radius:3px;padding:6px 7px;margin-top:6px;text-align:left;width:100%;font:12px/1.4 Arial,sans-serif;overflow-wrap:anywhere;cursor:pointer}
.calendar-event:hover{background:#7c231e}.calendar-event:focus-visible,.calendar-toolbar select:focus-visible{outline:2px solid #c7b9a8;outline-offset:3px}
.calendar-agenda{display:none}.calendar-event-dialog{max-width:520px;width:90vw;background:#211a1a;border:0;color:#f0ece3;padding:32px;border-radius:4px}.calendar-event-dialog::backdrop{background:#000c}.calendar-event-dialog>button{float:right;background:transparent;color:#f0ece3;border:0;font-size:28px;cursor:pointer}.calendar-event-dialog h2{font:32px Impact,Arial,sans-serif}.calendar-event-dialog a[hidden]{display:none}
.calendar-guide{margin-top:40px}.calendar-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}.calendar-guide-grid a{display:block;padding:24px;border:0;background:#5a171c;color:#f0ece3;text-decoration:none}.calendar-guide-grid span{font:14px/1.5 Arial,sans-serif;color:#c8bdb1}.calendar-guide-grid h3{font-size:24px;margin:12px 0 24px}.calendar-guide-grid strong{font:15px Arial,sans-serif}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:767px){.barn-calendar{padding:30px 0 36px}.calendar-heading{display:block}.calendar-heading .barn-btn{margin-top:10px}.calendar-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:20px}.calendar-toolbar p{grid-column:1/-1;justify-self:start;font-size:14px}.calendar-toolbar select{padding-inline:10px}.calendar-month td .calendar-event{display:none}.calendar-month td:has(.calendar-event)::after{content:"●";display:block;color:#de9f66;font-size:14px}.calendar-month td>time{margin-bottom:5px}html body #main .barn-calendar .calendar-month td{height:65px;padding:8px 4px;font-size:15px}html body #main .barn-calendar .calendar-month th{font-size:11px}.calendar-agenda{display:block;list-style:none;padding:0 18px;margin:0}.calendar-agenda li{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;border-top:1px solid #633e3b;padding:14px 0}.calendar-agenda time{font-size:14px}.calendar-agenda .calendar-event{font-size:15px;margin-top:0;margin-bottom:6px}.calendar-guide-grid{grid-template-columns:1fr}html body #main .barn-calendar .calendar-month h2{font-size:28px!important;padding:18px 20px}.calendar-month h2 span{font-size:24px}}

/* Mobile calendar: a light date grid and clear, compact event cards. */
.calendar-agenda-heading{display:none}
@media(max-width:767px){
 html body #main .barn-calendar .calendar-toolbar{background:#5a171c;padding:20px;gap:14px 18px}
 html body #main .barn-calendar .calendar-toolbar select{background:#f0ece3!important;color:#211a1a!important;border:0!important;color-scheme:light;border-radius:3px}
 html body #main .barn-calendar .calendar-toolbar p{font-size:13px;line-height:1.65;color:#c8bdb1}
 html body #main .barn-calendar .calendar-month{background:transparent!important;border-radius:4px}
 html body #main .barn-calendar .calendar-month h2{background:#9c3028!important;padding:18px 20px;font-size:28px!important}
 html body #main .barn-calendar .calendar-month th{background:#ded8cf!important;color:#332122!important;padding:13px 3px;font-size:12px;border:0!important}
 html body #main .barn-calendar .calendar-month td{background:#f3efe9!important;color:#332122!important;border:1px solid #d0c6bd!important;height:58px;padding:9px 5px 6px;font-size:15px;text-align:center}
 html body #main .barn-calendar .calendar-month td.calendar-empty{background:#b4a9a0!important;background-image:none!important;border-color:#a79b91!important}
 html body #main .barn-calendar .calendar-month td>time{font-weight:600;margin:0;line-height:1.35}
 html body #main .barn-calendar .calendar-month td:has(.calendar-event)::after{color:#9c3028;font-size:13px;line-height:1.3;margin-top:3px}
 html body #main .barn-calendar .calendar-agenda-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 0 12px}
 html body #main .barn-calendar .calendar-agenda-heading h3{font-size:24px;line-height:1.2;color:#f0ece3;margin:0}
 html body #main .barn-calendar .calendar-agenda-heading>span{font:12px/1.5 Arial,sans-serif;color:#c8bdb1;white-space:nowrap}
 html body #main .barn-calendar .calendar-agenda{display:grid;gap:10px;padding:0;margin:0;list-style:none}
 html body #main .barn-calendar .calendar-agenda>li{display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;align-items:center;background:#f0ece3!important;color:#332122;padding:10px 12px;border:0;border-radius:4px}
 html body #main .barn-calendar .calendar-agenda>li>time{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;align-self:start;box-sizing:border-box;min-height:50px;padding:6px 3px;background:#9c3028;color:#f0ece3;border-radius:3px;font-family:Arial,sans-serif}
 html body #main .barn-calendar .calendar-agenda time>strong{display:block;font-size:23px;font-weight:700;line-height:1}
 html body #main .barn-calendar .calendar-agenda time>span{display:block;font-size:8px;line-height:1.4;text-transform:uppercase;letter-spacing:.35px;white-space:nowrap}
 html body #main .barn-calendar .calendar-agenda .calendar-event{position:relative;background:transparent!important;color:#332122!important;border:0!important;border-radius:0!important;font:600 16px/1.4 Arial,sans-serif;margin:0;padding:4px 23px 4px 0;min-height:44px;display:flex;align-items:center}
 html body #main .barn-calendar .calendar-agenda .calendar-event::after{content:"›";position:absolute;right:0;top:50%;transform:translateY(-50%);color:#9c3028;font:26px/1 Arial,sans-serif}
 html body #main .barn-calendar .calendar-agenda .calendar-event+.calendar-event{border-top:1px solid #d3c7bc!important;padding-top:12px;margin-top:8px}
 html body #main .barn-calendar .calendar-agenda .calendar-event:hover{color:#9c3028!important}
 html body #main .barn-calendar .calendar-agenda .calendar-event:focus-visible{outline:2px solid #9c3028;outline-offset:3px}
 html body #main .barn-calendar .calendar-month-note{background:#f0ece3;color:#332122;font-size:14px;line-height:1.65;margin-top:12px;border-radius:4px}
}

.calendar-event-dialog{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto}.calendar-event-dialog>button{min-width:40px;min-height:40px}
