:root{--color-blue:#002d62;--color-red:#d50000;--color-bg:#f4f1ea;--color-border:#dcdcdc;--font-primary:"Inter",sans-serif;--fc-event-bg-color:#eef2f5;--fc-event-border-color:transparent;--fc-event-text-color:#002d62;--fc-today-bg-color:transparent;--fc-border-color:#dcdcdc;--fc-button-bg-color:transparent;--fc-button-border-color:transparent;--fc-button-text-color:#002d62;--fc-button-hover-bg-color:#f0f0f0;--fc-button-active-bg-color:transparent}body{background-color:var(--color-bg);font-family:var(--font-primary);margin:0}.search-bar-container{align-items:center;background:#fff;border:1px solid var(--color-border);border-radius:4px;box-shadow:0 4px 15px rgba(0,0,0,.05);display:flex;margin:2rem auto;max-width:1200px}.search-input-group{align-items:center;display:flex;flex:1;padding:1rem 1.5rem}.search-input-group svg{fill:none;height:20px;margin-right:1rem;stroke:#666;stroke-width:2;width:20px}.search-input-group input{border:none;color:#333;font-size:1rem;outline:none;width:100%}.search-divider{background-color:var(--color-border);height:40px;width:1px}.view-toggles{display:flex;padding:.5rem}.toggle-btn{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:center;padding:.75rem}.toggle-btn.active{background:var(--color-blue)}.toggle-btn.active svg{stroke:#fff}.toggle-btn:not(.active){background:#f0f0f0}.toggle-btn:not(.active) svg{stroke:#333}.toggle-btn svg{fill:none;height:24px;stroke-width:2;width:24px}.cal-container{margin:0 auto 4rem;max-width:1200px}#calendar{background:#fff;padding:0}.fc .fc-toolbar-title{color:var(--color-blue);font-size:2.5rem;font-weight:800}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background-color:transparent;border-color:transparent;box-shadow:none;color:var(--color-blue)}.fc .fc-button-primary:focus{box-shadow:none}.fc-theme-standard th{color:var(--color-blue);font-size:.9rem;font-weight:700;padding:1rem 0;text-transform:uppercase}.fc-daygrid-day-number{color:var(--color-blue);float:left!important;font-size:1.1rem;font-weight:700;padding:.5rem .75rem!important;text-align:left;width:100%}.fc-day-today .fc-daygrid-day-number{color:transparent;position:relative}.fc-day-today .fc-daygrid-day-number:after{align-items:center;background:var(--color-red);border-radius:2px;color:#fff;content:attr(aria-label);display:flex;font-size:1rem;font-weight:700;height:28px;justify-content:center;left:.5rem;position:absolute;top:.5rem;width:28px}.fc-daygrid-event{align-items:flex-start;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;margin:0 4px 4px!important;padding:4px 6px;position:relative}.fc-daygrid-event,.fc-daygrid-event-harness{overflow:visible!important}.fc-daygrid-event-harness:hover{z-index:100!important}.fc-event-time{color:#555;font-size:.75rem;font-weight:400;margin-bottom:2px}.fc-event-title{color:var(--color-blue);font-size:.85rem;font-weight:700;line-height:1.2;white-space:normal}.fc-daygrid-more-link{color:#0056b3;font-size:.8rem;font-weight:700;margin-left:.5rem;text-transform:uppercase}.calendar-custom-header{align-items:center;display:flex;justify-content:flex-start;margin-bottom:1rem;padding:1rem 0}.calendar-dropdown-group{align-items:center;cursor:pointer;display:inline-flex;position:relative}#calendar-current-month-year{color:var(--color-blue);font-size:2.5rem;font-weight:800;margin-right:12px}.calendar-dropdown-group svg{color:var(--color-blue);height:32px;width:32px}.calendar-month-picker-overlay{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.custom-event-modal{align-items:center;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:10000}.contextual-event-popup{position:absolute;z-index:10000}.popup-card{background:#00006b;border-radius:4px;box-shadow:0 4px 15px rgba(0,0,0,.2);color:#fff;display:flex;flex-direction:column;gap:12px;padding:16px;position:relative;width:350px}.popup-close{align-items:center;background:transparent;border:none;color:hsla(0,0%,100%,.5);cursor:pointer;display:flex;justify-content:center;position:absolute;right:8px;top:8px}.popup-close:hover{color:#fff}.popup-content{display:flex;flex-direction:column;gap:12px;margin-top:10px}.popup-header-row{align-items:flex-start;display:flex;flex-direction:row;gap:12px}.popup-header-row img{border-radius:2px;flex-shrink:0;height:60px;object-fit:cover;width:80px}.popup-text{display:flex;flex-direction:column;gap:4px}.popup-datetime{color:#fff;font-family:Rubik,sans-serif;font-size:10px;opacity:.8}#popup-title{font-size:14px;font-weight:500;line-height:1.2;margin:0}#popup-desc,#popup-title{font-family:Rubik,sans-serif}#popup-desc{font-size:12px;line-height:1.4;margin:0 0 8px;opacity:.9}.popup-card .btn-rsvp{background:transparent;color:#5290ff;font-family:Rubik,sans-serif;font-size:11px;font-weight:700;margin-top:auto;padding:0;text-decoration:underline;text-transform:uppercase}.btn-rsvp{background:var(--color-blue);border-radius:4px;color:#fff;display:block;font-weight:700;padding:.5rem;text-align:center;text-decoration:none}.seo-events-list{display:none}noscript .seo-events-list{display:block;list-style:none;margin:0 auto;max-width:1200px;padding:0}noscript .seo-events-list li{background:#fff;border:1px solid var(--color-border);margin-bottom:1rem;padding:1rem}.tvc-detail-view{background:#fff;border:1px solid var(--color-border);border-radius:8px;margin-top:2rem;padding:2rem}#custom-list-view{display:flex;flex-direction:column;margin-top:20px}.list-card-link{color:inherit;display:block;text-decoration:none;transition:background .2s}.list-card-link:hover .list-card{background-color:#f7f9fc}.list-card{border-top:1px solid #e5e5e5;display:flex;flex-direction:row;gap:24px;justify-content:space-between;padding:24px 16px}.list-card-content{display:flex;flex:1;flex-direction:column;gap:8px}.list-card-meta{align-items:center;color:#666;display:flex;font-size:.85rem}.list-card-dot{color:#ccc;margin:0 6px}.list-card-title{color:var(--color-blue);font-size:1.25rem;font-weight:600;margin:0}.list-card-desc{color:#444;font-size:.95rem;line-height:1.5;margin:0 0 12px}.list-card-btn{border:1px solid #5290ff;border-radius:4px;color:#5290ff;display:inline-block;font-size:.85rem;font-weight:700;padding:6px 12px;text-transform:uppercase;width:fit-content}.list-card-link:hover .list-card-btn{background:#5290ff;color:#fff}.list-card-visual img{border-radius:4px;height:90px;object-fit:cover;width:140px}@media (max-width:600px){.list-card{flex-direction:column-reverse}.list-card-visual img{height:160px;width:100%}}.detail-layout{display:grid;gap:40px;grid-template-columns:2fr 1fr;margin-top:30px}.detail-section-title{border-bottom:2px solid #eee;color:var(--color-blue);font-size:1.5rem;margin-bottom:20px;padding-bottom:10px}.sidebar-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:24px;padding:24px}.sidebar-title{color:var(--color-blue);font-size:1.2rem;font-weight:600;margin-bottom:20px;margin-top:0}.sidebar-row{border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;margin-bottom:16px;padding-bottom:12px}.sidebar-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.sidebar-label{color:#6b7280;font-size:.85rem;font-weight:500;margin-bottom:4px}.sidebar-value{color:#111827;font-size:.95rem;font-weight:500}.sidebar-link{color:#5290ff;font-weight:500;text-decoration:none}.sidebar-link:hover{text-decoration:underline}.sidebar-map-block{background:#e5e7eb;border-radius:4px;display:flex;flex-direction:column;gap:8px;margin-top:20px;padding:16px}.map-link{display:inline-block;font-size:.85rem;margin-top:8px;text-transform:uppercase}.category-pill{background:#e0e7ff;border-radius:12px;color:#3730a3;font-size:.8rem;padding:2px 8px;width:fit-content}@media (max-width:768px){.detail-layout{grid-template-columns:1fr}}.fc-event-past{filter:grayscale(100%);opacity:.6}.fc-event-past .fc-event-time,.fc-event-past .fc-event-title{color:#999!important}.pagination-controls{align-items:center;display:flex;gap:16px;justify-content:center;margin-top:30px;padding:20px 0}.btn-page{background-color:var(--color-blue);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .2s}.btn-page:hover{background-color:#00004d}.page-info{color:#444;font-size:.95rem;font-weight:500}