
/* Shared camp calendar — v2 preview */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cal-introline{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:10px;margin:-7px 0 21px}.cal-summary{display:flex;gap:28px;align-items:center;padding:16px 20px;background:#e9eddf;border:1px solid #dce2d2;border-radius:5px;margin-bottom:22px}.cal-summary>div{display:flex;align-items:center;gap:8px}.cal-summary strong{font:23px Georgia,serif}.cal-summary>div>span:last-child{font-size:11px;color:#60715d}.cal-summary-note{margin-left:auto;font-size:8px;letter-spacing:1.2px;color:#7c8870}.cal-dot{width:6px;height:6px;flex:0 0 6px;display:inline-block;border-radius:50%;background:currentColor}.cal-reservation-dot{color:#446e5a}.cal-club-dot{color:#ad7142}.cal-season-dot{color:#848340}
.cal-layout{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:22px;align-items:start}.cal-main-panel{padding:0;overflow:hidden}.cal-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:22px 20px 17px;flex-wrap:wrap}.cal-month-controls{display:flex;align-items:center;gap:12px}.cal-month-controls h2{font-size:24px;margin:0;min-width:165px;text-align:center}.cal-arrow-button{border:1px solid var(--line);border-radius:4px;background:var(--white);width:27px;height:29px;color:var(--pine);font:22px Georgia,serif}.cal-arrow-button:hover{background:#e9eddf}.cal-toolbar-right{display:flex;gap:8px;align-items:center}.cal-toolbar-right input[type=month]{width:135px;font-size:10px;padding:6px 8px}.cal-view-switch{display:flex;border:1px solid var(--line);border-radius:4px;overflow:hidden}.cal-view-switch button{border:0;border-right:1px solid var(--line);padding:7px 10px;background:var(--white);font-size:10px;color:var(--muted)}.cal-view-switch button:last-child{border-right:0}.cal-view-switch button[aria-pressed=true]{background:var(--pine);color:#fffdf4}.cal-filterbar{display:flex;gap:12px;padding:0 20px 18px;flex-wrap:wrap;justify-content:space-between;align-items:center}.cal-filters{display:flex;flex-wrap:wrap;gap:6px}.cal-filter{border:1px solid var(--line);border-radius:20px;padding:5px 9px;display:flex;gap:6px;align-items:center;font-size:9px;background:var(--white)}.cal-filter[aria-pressed=false]{color:#869080!important;background:#f5f5ef;opacity:.7}.cal-filter[aria-pressed=false] .cal-dot{background:transparent;outline:1px solid currentColor}
.cal-reservation{--cal-color:#3c6a52;--cal-bg:#e5eee4;color:var(--cal-color)}.cal-club{--cal-color:#9a643d;--cal-bg:#f5e8d8;color:var(--cal-color)}.cal-season{--cal-color:#7c7837;--cal-bg:#efeedb;color:var(--cal-color)}.cal-filter[aria-pressed=true]{background:var(--cal-bg);border-color:transparent}#calendar-search-form{display:flex;gap:0;position:relative}#cal-search{width:183px;font-size:10px;padding:7px 27px 7px 10px}.cal-search-button{position:absolute;right:1px;top:1px;bottom:1px;border:0;background:transparent;padding:0 9px;font-size:18px;color:var(--sage)}
.cal-table-scroll{overflow-x:auto}.camp-month{table-layout:fixed;width:100%;min-width:0}.camp-month th{text-align:center;background:#f6f6f0;font-size:9px;padding:10px 0;color:#75816e}.camp-month td{padding:7px 4px 8px;vertical-align:top;border:1px solid #e5e7dc;border-bottom:1px solid #e5e7dc!important;height:112px;width:14.285%}.camp-month th:first-child,.camp-month td:first-child{border-left:0}.camp-month th:last-child,.camp-month td:last-child{border-right:0}.camp-month td.cal-outside{background:#f8f8f3}.cal-date{border:0;background:transparent;border-radius:50%;height:23px;width:23px;padding:0;display:grid;place-items:center;font-size:10px;color:#65715e;margin:0 0 5px 3px}.cal-outside .cal-date{color:#b3b9ab}.cal-selected{background:#f0f2e9!important}.cal-selected .cal-date{background:var(--pine);color:#fff}.cal-today .cal-date{outline:1px solid var(--gold);outline-offset:1px}.cal-cell-events{display:grid;gap:3px}.cal-event-chip{border:0;border-left:2px solid var(--cal-color);border-radius:2px;background:var(--cal-bg);padding:4px;display:flex;gap:4px;align-items:center;text-align:left;width:100%;font-size:8px;min-height:21px;color:var(--cal-color)}.cal-event-chip>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-event-chip .cal-dot{width:4px;height:4px;flex-basis:4px}.cal-event-chip:hover{filter:brightness(.95)}.cal-pending{border-style:dashed}.cal-more{font-size:9px;color:var(--sage);border:0;background:transparent;padding:4px 5px}.cal-bottom-note{padding:13px 20px;background:#fbfbf6;font-size:9px;color:#798371;border-top:1px solid var(--line)}.cal-day-panel h2{margin:10px 0 4px;font-size:25px}.cal-day-weekday{font-size:10px;color:var(--muted);margin-bottom:20px}.cal-day-entry{padding:0 0 0 11px;border-left:2px solid var(--cal-color);margin-bottom:19px}.cal-category-label{display:block;font-size:8px;letter-spacing:.8px;text-transform:uppercase;margin-bottom:5px}.cal-day-entry button{display:block;background:transparent;border:0;padding:0;text-align:left;color:var(--ink);font-size:12px;font-weight:600}.cal-day-entry small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.cal-empty-day{font-size:12px;margin:20px 0}.cal-source-card{background:#e9eddf;border-color:#dce1d1}.cal-source-card h2{font-size:24px;margin:12px 0}.cal-source-card>p{font-size:11px;color:#6c7a62}.cal-source-stamp{padding:12px 0;margin-bottom:12px;border-top:1px solid #d3dcc8;border-bottom:1px solid #d3dcc8}.cal-source-stamp span{display:block;font-size:8px;letter-spacing:1.2px;color:var(--sage)}.cal-source-stamp strong{display:block;font-size:11px;font-weight:500;margin-top:4px}.cal-source-card .subtle-link{padding:0;margin-top:15px;text-align:left}.cal-source-list{margin:18px 0}.cal-source-list>div{padding:10px 0;border-bottom:1px solid var(--line);display:grid;gap:3px}.cal-source-list strong{font-size:12px}.cal-source-list span{font-size:11px;color:var(--muted)}.cal-source-list small{font-size:9px;color:var(--sage)}.cal-detail-tags{display:flex;gap:7px;flex-wrap:wrap;margin:4px 0 17px}.cal-event-description{margin-top:20px;font-size:12px;white-space:pre-wrap}.cal-agenda{padding:0 20px 20px}.cal-agenda-event{display:flex;width:100%;gap:15px;align-items:center;border:1px solid var(--line);border-left:3px solid var(--cal-color);background:var(--white);text-align:left;border-radius:4px;padding:15px 16px;margin-bottom:9px}.cal-agenda-event:hover{background:var(--cal-bg)}.cal-agenda-date{width:95px;flex:0 0 95px}.cal-agenda-date strong{font:17px Georgia,serif}.cal-agenda-date small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.cal-agenda-text strong{display:block;font-size:12px;color:var(--ink)}.cal-agenda-text small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.cal-arrow{margin-left:auto;color:var(--sage)}
@media(max-width:1400px){.cal-layout{grid-template-columns:minmax(0,1fr)}.cal-side{display:grid;grid-template-columns:1fr 1fr;gap:22px}.cal-main-panel{margin-bottom:0}.cal-summary{gap:20px}.cal-summary-note{font-size:7px}}
@media(max-width:720px){.cal-summary{gap:13px;padding:14px;flex-wrap:wrap}.cal-summary>div{gap:6px;flex:1 1 90px}.cal-summary strong{font-size:22px}.cal-summary>div>span:last-child{font-size:9px;max-width:65px;line-height:1.4}.cal-summary-note{margin-left:0;width:100%}.cal-side{display:block}.cal-toolbar{padding:18px 14px 14px}.cal-month-controls h2{font-size:24px}.cal-toolbar-right{width:100%;justify-content:space-between}.cal-filterbar{padding:0 14px 15px}.cal-filter{font-size:9px;padding:6px 8px}#calendar-search-form{width:100%}#cal-search{width:100%}.cal-introline{font-size:9px}.cal-agenda{padding:0 14px 16px}.cal-agenda-event{padding:14px 10px;gap:10px}.cal-agenda-date{width:78px;flex-basis:78px}.cal-agenda-date strong{font-size:16px}.cal-agenda-text strong{font-size:11px}.cal-agenda-text small{font-size:8px}.cal-bottom-note{padding:12px 14px}.cal-day-panel{margin-top:22px}.cal-layout{gap:0}.cal-introline .pill{font-size:9px}}

.camp-month td{height:125px}.camp-month th{font-size:10px}.cal-event-chip{font-size:10px;min-height:23px}.cal-date{font-size:11px;width:26px;height:26px}

/* Keep every day of the week visible in phone month view. */
.cal-month-hint{display:none}
@media(max-width:720px){
 .cal-layout,.cal-main-panel{min-width:0}
 .cal-table-scroll{overflow-x:visible}
 .camp-month{width:100%;min-width:0;table-layout:fixed}
 .camp-month th{width:14.285714%;font-size:9px;letter-spacing:.2px;padding:9px 0}
 .camp-month td{height:88px;padding:4px 2px 6px;overflow:hidden}
 .camp-month .cal-date{width:30px;max-width:100%;height:30px;margin:0 auto 4px;font-size:11px}
 .camp-month .cal-cell-events{min-width:0;gap:3px}
 .camp-month .cal-cell-events .cal-event-chip{min-width:0;min-height:24px;padding:4px 2px;gap:2px;font-size:9px}
 .camp-month .cal-event-chip>span:last-child{min-width:0}
 .camp-month .cal-event-chip .cal-dot{display:none}
 .camp-month .cal-more{max-width:100%;padding:4px 0;font-size:9px;white-space:nowrap}
 .cal-toolbar-right{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px}
 .cal-toolbar-right>label{min-width:0}
 .cal-toolbar-right input[type=month]{width:100%;min-width:0}
 .cal-toolbar-right .button{padding:7px 8px;font-size:10px}
 .cal-view-switch button{padding:7px 8px}
 .cal-month-hint{display:block;padding:9px 14px;margin:0;font-size:11px;color:var(--muted)}
}

