/* =========================================================
   EVENTS PAGE — page-specific styles (ev- prefix)
   ========================================================= */

/* hero variant: shorter, filters live just below */
.ev-hero{padding-bottom:120px;}

/* ---- filter pills ---- */
.ev-filterwrap{margin-top:-58px;position:relative;z-index:2;padding:0;}
.ev-filters{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:0 16px 36px rgba(20,20,20,.10);display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.ev-pill{font-family:var(--body);font-weight:600;font-size:14px;padding:10px 20px;border-radius:30px;border:1.5px solid var(--line-strong);background:transparent;color:var(--ink-soft);cursor:pointer;transition:all .18s ease;}
.ev-pill:hover{border-color:var(--ink);color:var(--ink);}
.ev-pill.active{background:var(--ink);border-color:var(--ink);color:#fff;}
.ev-pill.active::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--yellow);margin-right:8px;}
.ev-count{margin-left:auto;font-size:13.5px;color:var(--muted);font-weight:500;}

/* ---- event grid ---- */
.ev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px;}
.ev-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;cursor:pointer;text-align:left;padding:0;font-family:var(--body);display:flex;flex-direction:column;transition:transform .2s ease, box-shadow .2s ease;}
.ev-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(20,20,20,.12);}
.ev-card:focus-visible{outline:3px solid var(--ink);outline-offset:3px;}
.ev-card:hover .ev-more{color:var(--yellow-deep);}
.ev-photo{position:relative;height:220px;background:var(--cream);overflow:hidden;flex:none;}
.ev-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.ev-card:hover .ev-photo img{transform:scale(1.05);}
.ev-tag{position:absolute;top:14px;left:14px;background:var(--yellow);color:var(--ink);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:6px 13px;border-radius:20px;box-shadow:0 2px 0 rgba(20,20,20,.18);}
.ev-tag.tbc{background:var(--ink);color:#fff;}
.ev-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:8px;flex:1;border-top:5px solid var(--yellow);}
.ev-date{font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--yellow-deep);}
.ev-body h3{font-weight:600;font-size:18.5px;color:var(--ink);line-height:1.3;}
.ev-short{font-size:14.5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1;}
.ev-more{padding-top:12px;font-weight:600;font-size:14px;color:var(--ink);display:inline-flex;align-items:center;gap:8px;transition:color .15s;}
.ev-more svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s;}
.ev-card:hover .ev-more svg{transform:translateX(4px);}
.ev-empty{text-align:center;padding:70px 0;color:var(--muted);font-size:16px;display:none;}

/* ---- modal ---- */
.ev-overlay{position:fixed;inset:0;background:rgba(20,20,20,.72);backdrop-filter:blur(4px);z-index:100;display:none;align-items:flex-start;justify-content:center;overflow-y:auto;padding:44px 20px;}
.ev-overlay.open{display:flex;}
.ev-modal{background:var(--paper);border-radius:18px;max-width:820px;width:100%;overflow:hidden;position:relative;margin:auto;animation:evpop .3s cubic-bezier(.2,.9,.3,1.05);}
@keyframes evpop{from{opacity:0;transform:translateY(24px) scale(.98);}to{opacity:1;transform:none;}}
.ev-close{position:absolute;top:16px;right:16px;z-index:5;width:42px;height:42px;border-radius:50%;background:var(--ink);color:#fff;border:none;cursor:pointer;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s, transform .15s;}
.ev-close:hover{background:var(--yellow);color:var(--ink);transform:rotate(90deg);}
.ev-stage{position:relative;aspect-ratio:16/9;background:var(--ink);}
.ev-stage img{width:100%;height:100%;object-fit:cover;}
.ev-navbtn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.92);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.ev-navbtn:hover{background:var(--yellow);}
.ev-navbtn svg{width:20px;height:20px;stroke:var(--ink);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.ev-prev{left:14px;} .ev-next{right:14px;}
.ev-counter{position:absolute;bottom:14px;right:16px;background:rgba(20,20,20,.8);color:#fff;font-size:12.5px;font-weight:600;padding:5px 12px;border-radius:16px;letter-spacing:.06em;}
.ev-modal-body{padding:34px 40px 42px;}
.ev-modal-body .ev-tagrow{display:flex;align-items:center;gap:14px;margin-bottom:12px;flex-wrap:wrap;}
.ev-modal-body .ev-tag{position:static;box-shadow:none;}
.ev-modal-body h2{font-size:clamp(28px,3.4vw,38px);margin-bottom:18px;}
.ev-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 24px;padding:18px 20px;background:var(--warm);border:1px solid var(--line);border-radius:12px;}
.ev-meta div b{display:block;font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--yellow-deep);margin-bottom:3px;}
.ev-meta div span{font-size:14.5px;font-weight:500;color:var(--ink);}
.ev-long{font-size:15.5px;color:var(--ink-soft);line-height:1.75;max-width:66ch;}
.ev-modal-cta{margin-top:28px;}

/* ---- responsive ---- */
@media(max-width:980px){
  .ev-grid{grid-template-columns:1fr 1fr;}
  .ev-meta{grid-template-columns:1fr;gap:10px;}
}
@media(max-width:640px){
  .ev-grid{grid-template-columns:1fr;}
  .ev-filters{border-radius:14px;}
  .ev-count{display:none;}
  .ev-modal-body{padding:26px 22px 32px;}
}
body.ev-lock{overflow:hidden;}
@media (prefers-reduced-motion: reduce){ .ev-modal{animation:none;} }

/* ---- card carousel loop ---- */
.ev-photo .ev-slide{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s ease;}
.ev-photo .ev-slide.on{opacity:1;}
.ev-dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:2;}
.ev-dots i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.55);transition:background .3s, width .3s;}
.ev-dots i.on{background:var(--yellow);width:16px;border-radius:3px;}

/* ---- like + share ---- */
.ev-actions{display:flex;align-items:center;gap:8px;padding-top:12px;margin-top:auto;border-top:1px solid var(--line);}
.ev-like,.ev-share{display:inline-flex;align-items:center;gap:6px;background:none;border:1.5px solid var(--line-strong);border-radius:24px;padding:7px 13px;cursor:pointer;font-family:var(--body);font-size:13px;font-weight:600;color:var(--muted);transition:all .18s ease;}
.ev-like svg,.ev-share svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:fill .2s ease, transform .2s ease;}
.ev-like:hover,.ev-share:hover{border-color:var(--ink);color:var(--ink);}
.ev-like[aria-pressed="true"]{border-color:var(--yellow-deep);color:var(--yellow-deep);background:rgba(249,181,20,.10);}
.ev-like[aria-pressed="true"] svg{fill:var(--yellow);stroke:var(--yellow-deep);transform:scale(1.1);}
.ev-share.copied{border-color:var(--yellow-deep);color:var(--yellow-deep);}


/* modal (full view) actions */
.ev-modal-actions{border-top:1px solid var(--line);margin-top:16px;padding-top:14px;}
.ev-share .ev-sharelabel{font-size:13px;}
.ev-share.copied .ev-sharelabel::after{content:" — link copied";}

/* share feedback toast */
.ev-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,12px);background:var(--ink);color:#fff;font-family:var(--body);font-size:14px;font-weight:600;padding:10px 20px;border-radius:30px;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:9999;max-width:90vw;overflow-wrap:anywhere;}
.ev-toast.show{opacity:1;transform:translate(-50%,0);}
@media (prefers-reduced-motion: reduce){.ev-toast{transition:opacity .25s ease;}}
