.nesme-tickets-modal{position:fixed;inset:0;display:none}
.nesme-tickets-modal.is-open{display:block;z-index:9999}
.nesme-tickets-modal .nt-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.nesme-tickets-modal .nt-dialog{position:relative;max-width:720px;margin:6vh auto;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.35)}
.nt-header{font-weight:700;padding:14px 18px;border-bottom:1px solid #eee}
.nt-row{display:grid;grid-template-columns:1fr auto 110px;gap:16px;padding:12px 18px;border-bottom:1px solid #f2f2f2;align-items:center}
.nt-row:last-child{border-bottom:none}
.nt-label{font-weight:600}
.nt-price{opacity:.85}
.nt-qty select{width:100%}
.nt-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid #eee}
.nt-actions .nt-close{background:#e9ecef;border:0;padding:10px 16px;border-radius:8px;cursor:pointer}
.nt-actions .nt-next,.nt-actions .nt-enroll{background:#1f9d6f;color:#fff;border:0;padding:10px 18px;border-radius:8px;cursor:pointer}
.nt-actions .nt-back{background:#e9ecef;border:0;padding:10px 16px;border-radius:8px;cursor:pointer}
.nt-step2{padding:0 18px 18px}
.nt-attendee{border:1px solid #eee;border-radius:8px;padding:12px;margin:12px 0}
.nt-att-title{font-weight:700;margin-bottom:8px}
.nt-field{display:flex;gap:10px;align-items:center;margin:6px 0}
.nt-field label{min-width:90px}
.nt-field input{flex:1}
.nt-error{border-color:#e03131}

/* === FIX: modal com muito conteúdo deve rolar === */
.nesme-tickets-modal { overflow: hidden; } /* bloqueia scroll do fundo */

.nesme-tickets-modal .nt-dialog{
  max-height: 90vh;            /* limita a altura do diálogo */
  overflow: hidden;            /* o scroll fica no conteúdo interno */
  display: flex;
  flex-direction: column;
}

/* a área de conteúdo (cada etapa) passa a rolar */
.nt-step{
  overflow-y: auto;
}

/* header e ações ficam visíveis enquanto rola */
.nt-header{
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 2;
}

.nt-actions{
  position: sticky;
  bottom: 0;
  background: #fff;
  z-index: 2;
  /* opcional: sombra leve para destacar */
  box-shadow: 0 -6px 10px rgba(0,0,0,.04);
}

/* responsivo: inputs em coluna no mobile */
@media (max-width: 640px){
  .nesme-tickets-modal .nt-dialog{ width: calc(100% - 24px); margin: 3vh auto; }
  .nt-field{ flex-direction: column; align-items: stretch; }
  .nt-field label{ min-width: 0; }
}


button.nesme-open-tickets.button {
width: 100%;
background-color: #178866;
padding: 12px;
border-radius: 30px;
font-weight: 500;
color: #ffffff;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
transition-duration: 0s;
}

button.nesme-open-tickets.button > span path {
fill: white;
}

button.nesme-open-tickets.button:hover > span path {
fill: #005c42;
}

button.nesme-open-tickets.button > span {
margin-right: 10px;
}

.nesme-tickets-notes{
margin: 10px;
padding: 18px;
background: #f8faf8;
border: 2px solid #0d7a5f;
border-radius: 6px;
font-size: 14px;
line-height: 1.5;
}
.nesme-tickets-notes p:last-child{ margin-bottom: 0; }