@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");#calendar-wrapper{background:#fafafa;box-sizing:border-box;font-family:Apercu,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;max-width:100%;min-height:500px;overflow-x:hidden;padding:40px 20px}#upcoming-events-container{background:#fff;border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,.08);box-sizing:border-box;margin-bottom:40px;max-width:100%;overflow:hidden;padding:30px}#upcoming-events-title{box-sizing:border-box;color:#1a1a1a;font-size:1.75rem;font-weight:600;letter-spacing:-.02em;margin:0 0 24px;overflow:hidden;text-align:center;text-overflow:ellipsis;width:100%}#upcoming-events-slideshow{max-width:100%;overflow:hidden;position:relative}.slideshow-track{display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;padding:10px 0;scroll-snap-type:x mandatory;transition:transform .5s ease;-webkit-overflow-scrolling:touch;box-sizing:border-box;max-width:100%;scrollbar-color:#fed27a #f0f0f0;scrollbar-width:thin}.slideshow-track::-webkit-scrollbar{height:8px}.slideshow-track::-webkit-scrollbar-track{background:#f0f0f0;border-radius:10px}.slideshow-track::-webkit-scrollbar-thumb{background:#fed27a;border-radius:10px}.slideshow-track::-webkit-scrollbar-thumb:hover{background:#fdc657}.event-slide{align-items:center;background:#fff;border:2px solid #fed27a;border-radius:12px;box-shadow:0 2px 8px hsla(40,99%,74%,.2);box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;max-width:calc(20% - 16px);min-width:calc(20% - 16px);overflow:hidden;padding:24px 20px;position:relative;scroll-snap-align:start;text-align:center;transition:all .3s ease}.event-slide:hover{border-color:#fdc657;box-shadow:0 6px 20px hsla(40,99%,74%,.35);transform:scale(1.05);z-index:10}.event-date{color:#666;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.event-date,.event-date-day{overflow:hidden;text-overflow:ellipsis;width:100%}.event-date-day{color:#fed27a;font-size:2rem;font-weight:700;line-height:1;margin-bottom:4px}.event-date-month{color:#666;font-size:.875rem;text-transform:uppercase}.event-date-month,.event-subject{font-weight:600;overflow:hidden;text-overflow:ellipsis;width:100%}.event-subject{color:#1a1a1a;display:-webkit-box;font-size:1rem;-webkit-line-clamp:2;line-height:1.4;margin:12px 0;max-height:2.8em;-webkit-box-orient:vertical;transition:all .3s ease;word-wrap:break-word;overflow-wrap:break-word}.event-slide:hover .event-subject{-webkit-line-clamp:unset;max-height:none}.event-signup-link{background:linear-gradient(135deg,#fed27a,#fdc657);border-radius:8px;box-shadow:0 2px 8px hsla(40,99%,74%,.3);box-sizing:border-box;color:#1a1a1a;display:inline-block;font-size:.875rem;font-weight:600;margin-top:16px;max-width:100%;overflow:hidden;padding:10px 20px;text-decoration:none;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap}.event-signup-link:hover{background:linear-gradient(135deg,#fdc657,#fdbb34);box-shadow:0 4px 12px hsla(40,99%,74%,.4);color:#1a1a1a;text-decoration:none;transform:translateY(-2px)}#no-upcoming-events{color:#666;font-size:1.1rem;padding:40px 20px;text-align:center}#no-upcoming-events p{margin:0}#loading-message{color:#888;display:block;font-size:1rem}#calendar-display{background:#fff;border:none;border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,.08);box-sizing:border-box;max-width:100%;overflow:hidden;padding:30px}.fc .fc-toolbar-title{color:#1a1a1a;font-size:1.75rem;font-weight:600;letter-spacing:-.02em}.fc .fc-button{background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#333;font-weight:500;padding:8px 16px;text-transform:capitalize;transition:all .2s ease}.fc .fc-button:hover{background:#f5f5f5;border-color:#fed27a;color:#1a1a1a}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background:#fed27a;border-color:#fed27a;color:#1a1a1a}.fc .fc-button:focus{box-shadow:0 0 0 3px hsla(40,99%,74%,.2)}.fc .fc-col-header-cell{color:#666;font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:12px 0;text-transform:uppercase}.fc .fc-daygrid-day{overflow:hidden;transition:background .2s ease}.fc .fc-daygrid-day:hover{background:#f9f9f9}.fc .fc-daygrid-day-number{color:#333;font-weight:500;padding:8px}.fc .fc-daygrid-day-events,.fc .fc-daygrid-day-frame{overflow:hidden}.fc .fc-daygrid-event-harness{max-width:100%;overflow:hidden}.fc .fc-day-today{background:#fff9ed!important}.fc .fc-day-today .fc-daygrid-day-number{color:#fed27a;font-weight:700}.fc-event{background-color:#fed27a!important;border:none!important;border-radius:6px!important;box-shadow:0 2px 4px hsla(40,99%,74%,.2);box-sizing:border-box!important;cursor:pointer;font-size:.875rem;font-weight:500;max-width:100%!important;overflow:hidden!important;padding:4px 8px!important;transition:all .2s ease}.fc-event:hover{background-color:#fdc657!important;box-shadow:0 4px 12px hsla(40,99%,74%,.3);transform:translateY(-1px)}.fc-event-title{font-weight:500;max-width:100%}.fc-event-time,.fc-event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-event-time{font-weight:600;margin-right:4px}.fc-list-event:hover td{background-color:#fff9ed!important}.fc-list-event-dot{border-color:#fed27a!important}.fc .fc-list-day-cushion,.fc .fc-list-day-side-text,.fc .fc-list-day-text,.fc .fc-list-table td,.fc-list-event,.fc-list-event a,.fc-list-event td,.fc-list-event-time,.fc-list-event-title{color:#000!important}.fc .fc-scrollgrid,.fc td,.fc th{border-color:#e8e8e8;overflow:hidden}.fc .fc-view-harness{overflow:hidden}.fc .fc-daygrid-body{overflow:hidden;width:100%}.fc .fc-scroller{overflow-x:hidden!important}@media (max-width:1200px){.event-slide{max-width:calc(25% - 15px);min-width:calc(25% - 15px)}}@media (max-width:900px){.event-slide{max-width:calc(33.333% - 14px);min-width:calc(33.333% - 14px)}.fc .fc-toolbar-title{font-size:1.4rem}}@media (max-width:768px){#calendar-wrapper{padding:20px 10px}#calendar-display{border-radius:12px;padding:12px}.fc .fc-toolbar{display:flex;flex-direction:column;gap:12px}.fc .fc-toolbar-chunk{display:flex;justify-content:center;width:100%}.fc .fc-toolbar-title{font-size:1.25rem;text-align:center}.fc .fc-button{font-size:.875rem;min-height:44px;padding:8px 14px}.fc .fc-button-group{display:flex;gap:4px}#upcoming-events-container{margin-bottom:30px;padding:20px 15px}#upcoming-events-title{font-size:1.5rem;margin-bottom:20px}.event-slide{max-width:calc(50% - 10px);min-width:calc(50% - 10px);padding:20px 16px}.slideshow-track{scroll-padding:0 15px}.fc .fc-daygrid-day-number{font-size:.875rem;padding:6px}.fc-event{font-size:.75rem;padding:3px 6px!important;word-break:break-word}.fc-event-title{display:block;overflow:hidden;text-overflow:ellipsis}.fc-list-event{font-size:.875rem}}@media (max-width:480px){#calendar-wrapper{padding:15px 8px}#calendar-display{padding:10px}.event-slide{max-width:100%;min-width:100%;padding:20px 16px}.slideshow-track{gap:15px;scroll-padding:0 10px}#upcoming-events-container{margin-bottom:20px;padding:16px 12px}#upcoming-events-title{font-size:1.3rem;margin-bottom:16px}.event-date-day{font-size:1.75rem}.event-subject{font-size:.95rem}.event-signup-link{align-items:center;display:flex;font-size:.85rem;justify-content:center;min-height:44px;padding:10px 18px}.fc .fc-toolbar-title{font-size:1.1rem}.fc .fc-button{font-size:.8rem;min-height:44px;padding:6px 10px}.fc .fc-col-header-cell{font-size:.7rem;padding:8px 2px}.fc .fc-daygrid-day-number{font-size:.8rem;padding:4px}.fc .fc-daygrid-day-frame{min-height:60px}.fc-event{border-radius:4px!important;font-size:.7rem;padding:2px 4px!important;word-break:break-word}.fc-event-title{display:block;line-height:1.2;overflow:hidden;text-overflow:ellipsis}.fc-list-event{font-size:.8rem}.fc-list-event-time{display:block;width:100%}.fc-list-event-title{overflow:hidden;text-overflow:ellipsis}}@media (max-width:380px){#calendar-wrapper{padding:12px 5px}#upcoming-events-title{font-size:1.2rem}.fc .fc-toolbar-title{font-size:1rem}.fc .fc-button{font-size:.75rem;padding:5px 8px}.fc .fc-col-header-cell{font-size:.65rem;padding:6px 1px}.fc .fc-daygrid-day-number{font-size:.75rem}}