/* ─────────────────────────────────────────────
   events.css  —  styles for events page
   ───────────────────────────────────────────── */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--moss:#2d4a2f;--fern:#4a7c4e;--sage:#8aad8c;--mist:#c8ddc9;--cream:#f5f0e8;--soil:#3a2e1e;--amber:#c8921a;--glass:rgba(200,221,201,0.15);--glass-border:rgba(138,173,140,0.3);--nav:92px;}
body{background:#0e1a0f;color:var(--cream);font-family:'Cormorant Garamond',serif;min-height:100vh;overflow-x:hidden;margin-left:var(--nav);cursor:none;}
body::before{content:'';position:fixed;inset:0;background:radial-gradient(circle at 70% 20%,rgba(74,124,78,.16),transparent 35%),radial-gradient(circle at 20% 80%,rgba(45,74,47,.22),transparent 40%);pointer-events:none;z-index:-1}
.cursor{position:fixed;width:10px;height:10px;background:var(--sage);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s;mix-blend-mode:screen;}
.cursor-ring{position:fixed;width:36px;height:36px;border:1px solid var(--sage);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);opacity:.5;}
.page-content{padding:7rem 4rem 6rem;max-width:1200px;margin:0 auto}
.page-eyebrow{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.4em;text-transform:uppercase;color:var(--fern);margin-bottom:1rem}
.page-title{font-family:'Playfair Display',serif;font-size:clamp(3rem,6vw,5rem);line-height:1;color:var(--cream)}
.page-title em{font-style:italic;color:var(--sage)}
.divider{width:60px;height:1px;background:var(--fern);margin:2rem 0}
.page-sub{font-size:1.15rem;line-height:1.8;color:var(--mist);opacity:.68;max-width:680px;}

/* Event cards */
.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;margin-top:3rem;}
.event-card{background:rgba(10,20,11,.92);border:1px solid var(--glass-border);border-radius:14px;overflow:hidden;cursor:none;transition:border-color .2s,transform .2s;}
.event-card:hover{border-color:rgba(138,173,140,.4);transform:translateY(-3px);}
.event-card.active{border-color:rgba(200,146,26,.4);}
.event-card.completed{opacity:.45;}
.event-header{padding:1.4rem 1.6rem 1rem;}
.event-status-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem;}
.event-status{font-family:'DM Mono',monospace;font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;padding:.2rem .7rem;border-radius:4px;border:1px solid;}
.event-status.upcoming{color:var(--sage);border-color:rgba(138,173,140,.35);background:rgba(138,173,140,.06);}
.event-status.active{color:var(--amber);border-color:rgba(200,146,26,.4);background:rgba(200,146,26,.06);}
.event-status.completed{color:var(--mist);border-color:var(--glass-border);background:transparent;opacity:.5;}
.event-type-icon{font-size:1.1rem;}
.event-title{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--cream);margin-bottom:.5rem;}
.event-desc{font-size:1rem;line-height:1.7;color:var(--mist);opacity:.65;}
.event-meta{padding:.9rem 1.6rem;border-top:1px solid var(--glass-border);display:grid;grid-template-columns:1fr 1fr;gap:.5rem;}
.event-meta-item{display:flex;flex-direction:column;gap:.2rem;}
.event-meta-label{font-family:'DM Mono',monospace;font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;color:var(--fern);}
.event-meta-val{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--mist);}
.event-footer{padding:.9rem 1.6rem;border-top:1px solid var(--glass-border);}
.event-route{font-size:.9rem;color:var(--mist);opacity:.55;line-height:1.6;}

/* Popup overlay */
.popup-overlay{position:fixed;inset:0;background:rgba(3,8,3,.88);z-index:500;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s;backdrop-filter:blur(12px);}
.popup-overlay.open{opacity:1;pointer-events:all;}
.popup{background:#0a1a0b;border:1px solid var(--glass-border);border-radius:16px;width:min(560px,92vw);max-height:85vh;overflow-y:auto;padding:2.5rem;position:relative;}
.popup-close{position:absolute;top:1.2rem;right:1.2rem;background:transparent;border:1px solid var(--glass-border);border-radius:6px;color:var(--sage);font-family:'DM Mono',monospace;font-size:.6rem;padding:.35rem .75rem;cursor:none;}
.popup-eyebrow{font-family:'DM Mono',monospace;font-size:.55rem;letter-spacing:.25em;text-transform:uppercase;color:var(--fern);margin-bottom:.5rem;}
.popup-title{font-family:'Playfair Display',serif;font-size:2rem;color:var(--cream);margin-bottom:.3rem;}
.popup-status-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;}
.popup-divider{width:40px;height:1px;background:var(--fern);margin:1.2rem 0;}
.popup-desc{font-size:1.05rem;line-height:1.8;color:var(--mist);opacity:.75;margin-bottom:1.5rem;}
.popup-details{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1.5rem;margin-bottom:1.5rem;}
.popup-detail{display:flex;flex-direction:column;gap:.25rem;}
.popup-detail-label{font-family:'DM Mono',monospace;font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fern);}
.popup-detail-val{font-size:1rem;color:var(--cream);}
.popup-route{background:rgba(20,40,22,.4);border:1px solid rgba(138,173,140,.1);border-radius:8px;padding:1rem 1.2rem;font-size:.95rem;line-height:1.7;color:var(--mist);opacity:.7;}

/* Empty state */
.empty-state{text-align:center;padding:5rem 2rem;color:var(--mist);opacity:.25;}
.empty-state p{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;}

@media(max-width:900px){:root{--nav:72px;}.page-content{padding:5rem 2rem 4rem}.events-grid{grid-template-columns:1fr}}
