
/* Fase 4.2 — grelha de eventos e ações diretamente nos cartões */
.stun-events-grid,#portal-events-area{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.stun-events-grid>.event,#portal-events-area>.event{margin:0;min-width:0;height:100%;display:flex;flex-direction:column}
.stun-events-grid>.event .info,#portal-events-area>.event .info{display:flex;flex-direction:column;flex:1;min-width:0;gap:8px}
.stun-events-grid>.event .info>.button{margin-top:auto;align-self:flex-start}
#portal-events-area>.event .event-image,.stun-events-grid>.event .event-image{width:100%;height:170px;object-fit:cover}
#portal-events-area .portal-card-actions{display:flex;flex-direction:column;align-items:stretch;gap:9px;margin-top:auto;padding-top:8px}
#portal-events-area .portal-action,.event-detail .portal-action{display:inline-flex;justify-content:center;align-items:center;gap:6px;border:0;border-radius:999px;min-height:42px;padding:10px 15px;font-size:14px;font-weight:800;text-align:center;line-height:1.2}
#portal-events-area .portal-action-signup,.event-detail .portal-action-signup,#portal-events-area .portal-action-confirmed{background:#16803c;color:white}
#portal-events-area .portal-action-pending{background:#f4c542;color:#27200b}
#portal-events-area .portal-action-cancel,.event-detail .portal-action-cancel{background:#b91c1c;color:white}
#portal-events-area .portal-action-unavailable{background:#3b424d;color:#e7e9ed}
#portal-events-area .portal-details-button{border-radius:999px;background:#272e38;color:#f7f7f7;border:1px solid #656e79;min-height:40px}
#portal-events-area button.portal-action:hover,#portal-events-area .portal-details-button:hover{filter:brightness(1.13)}
#portal-events-area button:disabled{opacity:.6;cursor:wait}
#portal-events-area .portal-card-feedback{color:#ffce75;font-size:12px}
#portal-events-area .portal-card-feedback:empty{display:none}
#portal-events-area .event h3{overflow-wrap:anywhere}
@media(max-width:1100px){.stun-events-grid,#portal-events-area{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.stun-events-grid,#portal-events-area{grid-template-columns:1fr}}

/* Estados das inscricoes: etiquetas coloridas e arredondadas. */
.stun-events-grid .pill.stun-status-open, #portal-events-area .pill.stun-status-open, .event-detail .pill.stun-status-open {display:inline-flex;align-items:center;align-self:flex-start;border-radius:999px;padding:7px 13px;background:#16803c;color:#fff;border:1px solid #28a657;font-weight:800;letter-spacing:.02em;}
.stun-events-grid .pill.stun-status-closed, #portal-events-area .pill.stun-status-closed, .event-detail .pill.stun-status-closed {display:inline-flex;align-items:center;align-self:flex-start;border-radius:999px;padding:7px 13px;background:#b91c1c;color:#fff;border:1px solid #e04b4b;font-weight:800;letter-spacing:.02em;}
.event-detail .portal-status-line{margin:10px 0;}


/* Fase 5 — botão único de pagamento com contador em tempo real */
#portal-events-area .portal-payment-upload,.event-detail .portal-payment-upload{display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;width:100%;background:#f4c542;color:#27200b;border:0;border-radius:999px;cursor:pointer;font-weight:800;min-height:62px;line-height:1.25}
#portal-events-area .portal-payment-upload small,.event-detail .portal-payment-upload small{font-size:11px;font-weight:600;opacity:.85}
#portal-events-area .portal-payment-clock,.event-detail .portal-payment-clock{font-variant-numeric:tabular-nums;font-size:14px}
#portal-events-area .portal-payment-urgent,.event-detail .portal-payment-urgent{background:#b91c1c!important;color:white!important}
#portal-events-area .portal-action-review,.event-detail .portal-action-review{background:#2563eb;color:white}
.event-detail .portal-registration-state{margin:14px 0}
#portal-events-area .portal-payment-upload:focus-visible,.event-detail .portal-payment-upload:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* STUNHOUSE: botão secundário do termo, igual formato do botão principal */
#portal-events-area a.portal-term-download,
.event-detail a.portal-term-download {
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  width:100%;min-height:52px;box-sizing:border-box;
  padding:12px 18px;border-radius:999px;
  background:rgba(255,255,255,.12);color:#fff;
  border:1px solid rgba(255,255,255,.24);
  font-size:16px;font-weight:800;line-height:1.2;text-align:center;
  text-decoration:none;transition:background .15s ease;
}
#portal-events-area a.portal-term-download:hover,
.event-detail a.portal-term-download:hover {background:rgba(255,255,255,.19);color:#fff;}

/* Detalhe: ações do termo com o mesmo visual dos cartões */
.event-detail .portal-detail-term-actions{display:flex;flex-direction:column;gap:10px;margin:12px 0 4px}
.event-detail .portal-detail-term-actions .portal-action{width:100%;min-height:52px;box-sizing:border-box;background:#ffe34d;color:#191919;border:0;border-radius:999px;font-size:16px;font-weight:800;cursor:pointer}
.event-detail .portal-detail-term-actions .portal-action:disabled{opacity:.6;cursor:wait}
.event-detail #portal-back{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin-top:14px;border:1px solid #656e79;border-radius:999px;background:#272e38;color:#fff;font-size:16px;font-weight:800;cursor:pointer}
.event-detail #portal-back:hover{filter:brightness(1.13)}
