.events-page{padding:2rem;min-height:80vh}.container{max-width:1000px;margin:0 auto}.page-header{text-align:center;margin-bottom:3rem}.page-header h1{font-size:2.5rem;color:var(--color-green);margin-bottom:1rem}.page-header p{font-size:1.2rem;color:var(--color-gray);max-width:600px;margin:0 auto}.no-events{text-align:center;color:var(--color-gray);font-size:1.1rem;margin-bottom:3rem}.events-grid{display:grid;gap:2rem;margin-bottom:2rem}.event-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:1.5rem;display:flex;gap:1.5rem;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}.event-card:hover,.event-card:focus-visible{transform:translateY(-2px);box-shadow:0 8px 15px #00000026;outline:2px solid var(--color-green);outline-offset:2px}.event-card--past{opacity:.75}.event-date{background:var(--color-green);color:#fff;padding:1rem;border-radius:8px;text-align:center;min-width:80px;display:flex;flex-direction:column;justify-content:center}.event-date--past{background:var(--color-gray)}.event-date .day{font-size:1.5rem;font-weight:700;line-height:1}.event-date .month{font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.event-date .year{font-size:.75rem;opacity:.85;margin-top:.2rem}.event-content{flex:1}.event-content h3{color:var(--color-dark-blue);margin-bottom:.5rem;font-size:1.3rem}.event-content p{color:var(--color-gray);margin-bottom:1rem;line-height:1.5}.event-details{display:flex;gap:1.5rem;font-size:.9rem;color:var(--color-gray)}.pagination{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:3rem}.btn-page{background:var(--color-dark-blue);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s ease,opacity .2s ease}.btn-page:hover:not(:disabled){background:var(--color-green)}.btn-page:disabled{opacity:.4;cursor:not-allowed}#page-info{font-size:.95rem;color:var(--color-gray);min-width:120px;text-align:center}.past-events-section{margin-top:4rem;margin-bottom:4rem}.section-header{text-align:center;margin-bottom:2rem}.section-header h2{font-size:2rem;color:var(--color-dark-blue);margin-bottom:.5rem}.section-header p{font-size:1.1rem;color:var(--color-gray)}.cta-section{background:var(--color-semi-white);padding:3rem;border-radius:12px;text-align:center}.cta-section h2{color:var(--color-green);margin-bottom:1rem}.cta-section p{color:var(--color-gray);margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}.btn{display:inline-block;padding:1rem 2rem;background:var(--color-dark-blue);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;transition:background .3s ease}.btn:hover{background:var(--color-green)}.event-modal{border:none;border-radius:16px;padding:0;max-width:560px;width:calc(100% - 2rem);box-shadow:0 20px 60px #0000004d}.event-modal::backdrop{background:#00000080;backdrop-filter:blur(2px)}.modal-content{padding:2rem;position:relative}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.8rem;line-height:1;cursor:pointer;color:var(--color-gray);padding:.2rem .5rem;border-radius:4px;transition:color .2s ease,background .2s ease}.modal-close:hover{color:var(--color-dark-blue);background:var(--color-semi-white)}.modal-date-badge{display:inline-block;background:var(--color-green);color:#fff;padding:.3rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600;margin-bottom:1rem}.modal-title{color:var(--color-dark-blue);font-size:1.6rem;margin-bottom:1rem}.modal-description{color:var(--color-gray);line-height:1.7;margin-bottom:1.5rem}.modal-details{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.5rem}.modal-detail-item{display:flex;align-items:center;gap:.6rem;color:var(--color-dark-blue);font-size:.95rem}.modal-detail-icon{font-size:1.1rem}.modal-link-container{margin-top:1rem}@media(max-width:768px){.events-page{padding:1rem}.page-header h1{font-size:2rem}.event-card{flex-direction:column;text-align:center}.event-date{align-self:center}.event-details{flex-direction:column;gap:.5rem}.cta-section{padding:2rem}.modal-content{padding:1.5rem}.section-header h2{font-size:1.6rem}}
