.vesper-events-wrap{color:#EDEBE6;position:relative}
.vesper-event-card{border:1px solid #262626;background:#141414;padding:12px}
.vesper-event-card-title a{color:#F10000;text-decoration:none;font-weight:700}
.vpe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.vpe-empty{color:#8f8f8f;grid-column:1/-1}
.vpe-notice{padding:10px 14px;margin-bottom:14px;border:1px solid;font-size:13px}
.vpe-notice--ok{border-color:#3ad16b;color:#3ad16b}
.vpe-notice--err{border-color:#ff5252;color:#ff5252}

/* plus upload button (top-left, red, no round bg) */
.vpe-fab{position:absolute;top:-6px;left:-4px;z-index:5;width:46px;height:46px;border:0;background:transparent;color:#F10000;font-size:42px;font-weight:300;line-height:1;cursor:pointer;transition:transform .3s cubic-bezier(.2,.7,.3,1),color .2s ease}
.vpe-fab:hover{color:#fff;transform:scale(1.12)}
.vpe-fab:active{transform:scale(.92)}
.vpe-fab.is-open{transform:rotate(135deg)}

/* lazy-load spinner + sentinel */
.vpe-more{width:100%}
.vpe-sentinel{height:1px;width:100%}
.vpe-sentinel[hidden]{display:none}
.vpe-spin{display:flex;justify-content:center;padding:18px 0}
.vpe-spin[hidden]{display:none}
.vpe-spin span{width:30px;height:30px;border-radius:50%;border:3px solid rgba(241,0,0,.25);border-top-color:#F10000;animation:vpeSpin .7s linear infinite}
@keyframes vpeSpin{to{transform:rotate(360deg)}}

/* static footer — five event varieties */
.vpe-footer{display:flex;align-items:center;justify-content:space-around;gap:6px;margin-top:22px;padding:10px 6px;background:#0C0D0F;border:1px solid #262626}
.vpe-footer__btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 10px;background:transparent;border:0;cursor:pointer;color:#EDEBE6;border-radius:4px}
.vpe-footer__btn .dashicons{font-size:26px;width:26px;height:26px;color:#EDEBE6}
.vpe-footer__lbl{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:#8f8f8f}
.vpe-footer__btn:hover .dashicons{color:#F10000}
.vpe-footer__btn.is-active .dashicons{color:#F10000}
.vpe-footer__btn.is-active .vpe-footer__lbl{color:#F10000}

/* upload modal */
.vpe-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow:auto}
.vpe-modal[hidden]{display:none}
.vpe-modal__backdrop{position:fixed;inset:0;background:rgba(0,0,0,.7)}
.vpe-modal__box{position:relative;z-index:2;width:min(720px,100%);background:#141414;border:1px solid #333;color:#EDEBE6}
.vpe-modal__head{display:flex;align-items:center;justify-content:space-between;background:#0C0D0F;padding:12px 16px;border-bottom:1px solid #262626}
.vpe-modal__head h3{margin:0;color:#EDEBE6;font-size:14px;letter-spacing:.1em;text-transform:uppercase}
.vpe-modal__x{background:transparent;border:0;color:#EDEBE6;font-size:26px;line-height:1;cursor:pointer}
.vpe-modal__x:hover{color:#F10000}
.vpe-modal__foot{padding:14px 16px;border-top:1px solid #262626;display:flex;justify-content:flex-end}
.vpe-save{background:#F10000;border:0;color:#fff;font-weight:700;padding:8px 22px;cursor:pointer;border-radius:3px}
.vpe-save:hover{background:#fff;color:#F10000}
.vpe-form{padding:14px 16px;display:flex;flex-direction:column;gap:12px}
.vpe-field{display:flex;flex-direction:column;gap:5px;flex:1}
.vpe-field>span{color:#EDEBE6;font-size:12px;font-weight:600}
.vpe-field input,.vpe-field select{background:#0C0D0F;border:1px solid #333;color:#EDEBE6;padding:7px 9px;border-radius:3px;min-height:34px;width:100%}
.vpe-field input:focus,.vpe-field select:focus{border-color:#F10000;box-shadow:0 0 0 1px #F10000}
.vpe-field-row{display:flex;gap:12px;flex-wrap:wrap}
.vpe-check{display:flex;align-items:center;gap:8px;color:#EDEBE6;font-size:13px}
.vpe-check input{accent-color:#F10000;width:16px;height:16px}
.vpe-tickets{width:100%;border-collapse:collapse}
.vpe-tickets td{padding:4px;border-bottom:1px solid #1f1f1f}
.vpe-tickets td input{background:#0C0D0F;border:1px solid #333;color:#EDEBE6;padding:6px 8px;border-radius:3px;min-height:30px;width:100%}
.vpe-tdel{background:transparent;border:0;color:#ff5252;font-size:18px;cursor:pointer}
.vpe-tadd{background:#1c1c1c;border:1px solid #3a3a3a;color:#EDEBE6;padding:5px 12px;cursor:pointer;border-radius:3px}
.vpe-tadd:hover{border-color:#F10000;color:#fff}

@media (max-width:600px){
  .vpe-footer{flex-wrap:wrap;gap:4px}
  .vpe-footer__btn{flex:1 0 30%}
}
