.club-calendar{min-width:0}.club-calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.club-calendar-heading h2{font:30px/1.2 var(--serif);margin:0}.club-calendar-search{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.club-calendar-search label{font-size:12px;color:var(--muted)}.club-calendar-search input{font:13px var(--sans, sans-serif);padding:9px 10px;border:1px solid var(--line);background:var(--paper);color:var(--navy);max-width:180px;min-width:0;color-scheme:light}.club-calendar-search button,.club-calendar-controls button{font:12px var(--sans,sans-serif);padding:9px 12px;color:var(--navy);background:transparent;border:1px solid var(--line);cursor:pointer}.club-calendar-search button:hover,.club-calendar-controls button:hover{background:var(--water-soft)}.club-calendar .notice{font-size:13px;font-weight:400;margin:24px 0 28px;padding:19px 22px}.club-calendar-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;gap:15px}.club-calendar-month-nav{display:flex;align-items:center;gap:18px}.club-calendar-month-nav h3{font:25px/1.2 var(--serif);margin:0;min-width:180px;text-align:center;text-transform:capitalize}.club-calendar-month-nav button{width:38px;height:38px;padding:0;font-size:19px}.club-calendar-controls button:disabled{opacity:.3;cursor:default}.club-calendar-week,.club-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.club-calendar-week{margin-bottom:6px}.club-calendar-week span{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);text-align:center;padding:9px 0}.club-calendar-week .is-weekend{background:color-mix(in srgb,var(--muted) 9%,transparent)}.club-calendar-grid .cal-day{appearance:none;position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;text-align:left;aspect-ratio:1/1;min-width:0;padding:10px;border:1px solid var(--line);background:var(--paper);color:var(--navy);font:inherit;text-decoration:none;cursor:pointer;transition:background .18s,box-shadow .18s,transform .18s}.club-calendar-grid .cal-day.is-weekend{background:color-mix(in srgb,var(--muted) 12%,var(--paper))}.cal-day-number{font:22px/1 var(--serif)}.cal-day-name{font-size:10px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%;overflow-wrap:anywhere}.cal-day-count{position:absolute;right:7px;bottom:6px;font-size:10px}.club-calendar-grid .cal-day.is-outside:not(.has-events){opacity:.36}.club-calendar-grid .cal-day.has-events{background:#185567;border-color:#185567;color:#f4faf9;box-shadow:inset 0 -3px #45a2ae}.club-calendar-grid .cal-day:hover{transform:translateY(-2px);box-shadow:0 5px 15px #123b4520}.club-calendar-grid .cal-day.is-today{outline:1px solid var(--water);outline-offset:-4px}.club-calendar-grid .cal-day.is-selected{outline:2px solid var(--red);outline-offset:-3px}.club-calendar :focus-visible,.club-calendar-peek :focus-visible{outline:2px solid var(--red);outline-offset:3px}.club-calendar-legend{display:flex;flex-wrap:wrap;gap:17px;margin-top:19px;color:var(--muted);font-size:10px}.club-calendar-legend span{display:flex;gap:7px;align-items:center}.club-calendar-legend i{width:10px;height:10px;display:inline-block;border:1px solid var(--line)}.legend-event{background:#185567}.legend-weekend{background:#dfe2de}.legend-today{outline:1px solid var(--water);outline-offset:2px}.club-calendar-status{font-size:12px;line-height:1.6;color:var(--muted);margin:18px 0 0}.club-calendar-selection{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}.club-calendar-selection h3{font:24px var(--serif);margin:0 0 14px}.club-calendar-selection>p{font-size:13px;color:var(--muted)}.club-calendar-peek{position:fixed;width:310px;max-width:calc(100vw - 24px);max-height:min(530px,calc(100vh - 24px));overflow:auto;z-index:90;background:var(--paper);color:var(--navy);border:1px solid var(--line);box-shadow:0 14px 45px #07233235;padding:13px}.club-calendar-peek[hidden],.club-calendar-selection[hidden]{display:none}.cal-peek-date{font:18px var(--serif);padding:3px 4px 13px}.cal-event-card{display:flex;flex-direction:column;text-decoration:none;color:var(--navy);background:var(--paper);border:1px solid var(--line);margin-bottom:10px;overflow:hidden}.cal-event-card:last-child{margin-bottom:0}.cal-event-card img{width:100%;height:135px;object-fit:cover}.cal-event-copy{display:flex;flex-direction:column;gap:9px;padding:15px}.cal-event-copy strong{font:21px/1.2 var(--serif);font-weight:400}.cal-event-copy>span{font-size:12px;line-height:1.6;color:var(--muted)}.cal-event-copy small{font-size:10px;line-height:1.5;color:var(--muted)}.cal-event-copy b{font-size:11px;font-weight:400;color:var(--water)}.club-calendar-selection .cal-event-card{flex-direction:row}.club-calendar-selection .cal-event-card img{width:140px;min-height:160px;height:auto}.club-calendar-selection .cal-event-copy{flex:1;min-width:0}[data-theme=dark] .club-calendar-search input{color-scheme:dark}[data-theme=dark] .club-calendar-grid .cal-day.has-events{background:#285f70;border-color:#5a9ca7}[data-hide-images=true] .cal-event-card img{display:none}
@media(max-width:600px){.club-calendar-heading{gap:18px}.club-calendar-heading h2{font-size:27px}.club-calendar-search{width:100%;gap:8px}.club-calendar-search label{flex:1 0 100%}.club-calendar-search input{flex:1;max-width:none;min-height:40px}.club-calendar-search button{min-height:40px}.club-calendar-week,.club-calendar-grid{gap:4px}.club-calendar-grid .cal-day{padding:7px;gap:5px;min-height:48px}.cal-day-number{font-size:19px}.cal-day-name{display:none}.cal-day-count{font-size:9px;right:5px;bottom:3px}.club-calendar-month-nav{gap:7px}.club-calendar-month-nav h3{font-size:22px;min-width:139px}.club-calendar-month-nav button{width:32px;height:36px}.club-calendar-controls{gap:5px}.club-calendar-controls>[data-cal-today]{padding:9px 8px}.club-calendar .notice{padding:16px;font-size:12px;margin:20px 0 24px}.club-calendar-selection .cal-event-card{flex-direction:column}.club-calendar-selection .cal-event-card img{width:100%;height:170px;min-height:0}.club-calendar-legend{gap:12px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.club-calendar-grid .cal-day{transition:none}.club-calendar-grid .cal-day:hover{transform:none}}
