.nuesa-events-section,.nuesa-all-events{--g:#237c5b;--gd:#176347;--ink:#111827;--muted:#50565f;--border:#e9eeeb;font-family:inherit;color:var(--ink)}
.nuesa-events-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:35px;margin:0 0 38px}.nuesa-events-heading h2,.nuesa-all-events h1,.nuesa-event-group h2{margin:0;font-weight:700;letter-spacing:-.025em;line-height:1.1}.nuesa-events-heading h2{font-size:clamp(34px,3.2vw,48px)}.nuesa-events-heading p,.nuesa-all-events-header p{margin:16px 0 0;max-width:650px;color:var(--muted);font-size:17px;line-height:1.55}.nuesa-events-button{display:inline-flex;align-items:center;gap:14px;padding:13px 22px;border:1.5px solid var(--g);border-radius:13px;color:var(--ink);text-decoration:none;font-weight:650;white-space:nowrap}.nuesa-events-button span{font-size:23px}.nuesa-events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.nuesa-event-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 5px 24px rgba(16,24,40,.045);display:flex;flex-direction:column}.nuesa-event-flyer{position:relative;aspect-ratio:1/1;overflow:hidden;background:#f7f8f8}.nuesa-event-flyer img{width:100%;height:100%;object-fit:cover;display:block}.nuesa-event-placeholder{height:100%;display:grid;place-items:center;color:#7b827e;font-weight:700}.nuesa-event-body{padding:22px 24px 24px}.nuesa-event-body h3{margin:0 0 20px;font-size:21px;line-height:1.3}.nuesa-event-meta{display:flex;gap:10px;margin-top:9px;color:#50555c;font-size:15px;line-height:1.45}.nuesa-meta-icon{color:var(--g);width:20px;flex:0 0 20px}.nuesa-ticket-btn{margin-top:18px;width:100%;padding:11px 14px;border:0;border-radius:10px;background:var(--g);color:#fff;font-weight:700;cursor:pointer}.nuesa-past-badge{position:absolute;top:12px;right:12px;padding:5px 9px;border-radius:99px;background:#fff;color:#555;box-shadow:0 2px 8px #0002;font-size:12px;font-weight:700}.nuesa-events-empty{padding:22px;border:1px dashed #cfd8d3;border-radius:14px;color:#68706b}.nuesa-all-events-header{margin-bottom:50px}.nuesa-all-events h1{font-size:clamp(38px,4vw,54px)}.nuesa-event-group{margin-bottom:68px}.nuesa-event-group h2{font-size:clamp(29px,2.5vw,36px);margin-bottom:26px}.nuesa-modal{position:fixed;inset:0;background:#0008;z-index:999999;display:grid;place-items:center;padding:20px}.nuesa-modal-box{position:relative;width:min(500px,100%);background:#fff;border-radius:18px;padding:28px;box-shadow:0 20px 70px #0004}.nuesa-modal-box h2{margin:0 0 20px}.nuesa-modal-close{position:absolute;top:10px;right:12px;border:0;background:none;font-size:30px;cursor:pointer}.nuesa-ticket-form label{display:block;margin:0 0 14px;font-weight:600}.nuesa-ticket-form input{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #ccd7d1;border-radius:9px}.nuesa-ticket-form button{width:100%;padding:12px;border:0;border-radius:10px;background:var(--g);color:#fff;font-weight:700}.nuesa-ticket-message{margin:15px 0 0;line-height:1.5}.nuesa-ticket-message a{color:var(--gd);font-weight:700}@media(max-width:900px){.nuesa-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.nuesa-events-heading{display:block}.nuesa-events-button{margin-top:20px}.nuesa-events-grid{grid-template-columns:1fr;gap:20px}}

.nuesa-registration-required{display:inline-block;margin-top:16px;padding:4px 9px;border-radius:999px;background:#edf8f2;color:#176347;font-size:12px;font-weight:700}.nuesa-ticket-btn{display:block!important;visibility:visible!important;opacity:1!important}
/* Registration modal / ticket controls */
.nuesa-registration-required{display:inline-block;margin:12px 0 8px;padding:5px 9px;border-radius:999px;background:#e9f6ef;color:#176347;font-size:12px;font-weight:700}
.nuesa-ticket-btn{display:block!important;visibility:visible!important;opacity:1!important;width:100%;border:0;border-radius:10px;background:#237c5b;color:#fff;padding:12px 16px;font-weight:700;cursor:pointer;margin-top:8px}

/* Registration form controls: protect NUESA buttons from theme/plugin overrides */
.nuesa-ticket-form button[type="submit"], .nuesa-ticket-form .nuesa-submit-btn {
  display:block !important;
  width:100% !important;
  min-height:48px !important;
  padding:13px 18px !important;
  margin-top:16px !important;
  border:0 !important;
  border-radius:10px !important;
  background:#237c5b !important;
  background-color:#237c5b !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  text-align:center !important;
  opacity:1 !important;
  visibility:visible !important;
  box-shadow:none !important;
  cursor:pointer !important;
}
.nuesa-ticket-form button[type="submit"]:hover { background:#176347 !important; color:#fff !important; }
.nuesa-ticket-success-actions { display:flex !important; flex-direction:column !important; gap:10px !important; margin-top:14px !important; }
.nuesa-ticket-success-actions a {
  display:flex !important; align-items:center !important; justify-content:center !important;
  width:100% !important; box-sizing:border-box !important; min-height:48px !important;
  padding:13px 18px !important; border-radius:10px !important;
  background:#237c5b !important; color:#fff !important;
  -webkit-text-fill-color:#fff !important; text-decoration:none !important;
  font-size:16px !important; font-weight:700 !important;
}
.nuesa-ticket-success-actions a:hover { background:#176347 !important; color:#fff !important; }
.nuesa-package-slot{margin:0 0 14px}.nuesa-package-select{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #ccd7d1;border-radius:9px;background:#fff;color:#18201c;font-size:15px}.nuesa-free-ticket-note{padding:10px 12px;background:#edf8f2;border-radius:9px;color:#176347;font-weight:700}

.nuesa-ticket-success-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.nuesa-ticket-success-actions a{display:inline-block;padding:11px 15px;border-radius:10px;text-decoration:none;font-weight:800}.nuesa-ticket-open{background:#176347;color:#fff}.nuesa-ticket-download{background:#b78921;color:#fff}.nuesa-ticket-success-actions a:hover{opacity:.9}
