.calendar-hero{background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);color: white;padding: 8rem 2rem 4rem;text-align: center}.calendar-hero h1{font-size: 2.5rem;margin-bottom: 1rem}.calendar-container{max-width: 1000px;margin: 0 auto;padding: 3rem 2rem}.calendar-filters{display: flex;gap: 0.5rem;flex-wrap: wrap;margin-bottom: 2rem}.calendar-filters button{padding: 0.5rem 1rem;border: 2px solid var(--primary);background: white;color: var(--primary);border-radius: 20px;cursor: pointer;font-weight: 600;transition: all 0.2s}.calendar-filters button.active, .calendar-filters button:hover{background: var(--primary);color: white}.month-section{margin-bottom: 3rem}.month-header{display: flex;align-items: center;gap: 1rem;margin-bottom: 1.5rem}.month-header h2{color: var(--primary);margin: 0;font-size: 1.5rem}.month-header .month-line{flex: 1;height: 2px;background: var(--border)}.event-card{display: grid;grid-template-columns: 80px 1fr auto;gap: 1.5rem;background: white;border-radius: 12px;padding: 1.5rem;margin-bottom: 1rem;box-shadow: 0 2px 10px rgba(0,0,0,0.05);align-items: center;transition: transform 0.2s}.event-card:hover{transform: translateX(5px)}.event-date{text-align: center;padding: 0.75rem;background: var(--accent);border-radius: 8px;color: var(--primary)}.event-date .day{font-size: 1.75rem;font-weight: 700;line-height: 1}.event-date .month{font-size: 0.85rem;text-transform: uppercase}.event-details h3{color: var(--primary);margin: 0 0 0.5rem;font-size: 1.1rem}.event-details .event-meta{display: flex;gap: 1.5rem;flex-wrap: wrap;font-size: 0.9rem;color: var(--text-light)}.event-details .event-meta span{display: flex;align-items: center;gap: 0.25rem}.event-type{padding: 0.3rem 0.75rem;border-radius: 20px;font-size: 0.8rem;font-weight: 600;white-space: nowrap}.event-type.legislative{background: #e3f2fd;color: #1565c0}.event-type.community{background: #e8f5e9;color: #2e7d32}.event-type.advocacy{background: #fff3e0;color: #e65100}.event-type.legal{background: #f3e5f5;color: #7b1fa2}.event-actions{display: flex;flex-direction: column;gap: 0.5rem}.event-actions a{padding: 0.5rem 1rem;background: var(--primary);color: white;text-decoration: none;border-radius: 6px;font-size: 0.85rem;font-weight: 600;text-align: center;transition: background 0.2s}.event-actions a:hover{background: var(--primary-dark)}.event-actions a.secondary{background: var(--bg-alt);color: var(--primary)}.subscribe-banner{background: var(--bg-alt);padding: 2rem;border-radius: 12px;text-align: center;margin-top: 2rem}.subscribe-banner h3{color: var(--primary);margin: 0 0 1rem}.no-events{text-align: center;padding: 3rem;color: var(--text-light)}@media (max-width: 700px){.event-card{grid-template-columns: 1fr;gap: 1rem}.event-date{display: flex;gap: 0.5rem;justify-content: center;align-items: center}.event-actions{flex-direction: row}}