.nwc-tb-card{
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  background:#fff;
  padding:18px;
  max-width:440px;
}

.nwc-tb-alert{
  padding:12px 14px;
  border-radius:12px;
  margin-bottom:12px;
  font-weight:700;
  font-size:13px;
}
.nwc-tb-ok{background:rgba(46, 204, 113, .12); border:1px solid rgba(46, 204, 113, .25)}
.nwc-tb-err{background:rgba(231, 76, 60, .10); border:1px solid rgba(231, 76, 60, .22)}

.nwc-tb-head{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.nwc-tb-title{font-weight:800;letter-spacing:.4px;font-size:16px;text-transform:uppercase}
.nwc-tb-accent{width:54px;height:4px;border-radius:6px;background:linear-gradient(90deg,#1aa37a,#28c7a3)}

.nwc-tb-price{display:flex;align-items:baseline;gap:8px;margin-bottom:14px}
.nwc-tb-from{opacity:.7;font-size:13px}
.nwc-tb-amount{font-size:22px;font-weight:900}
.nwc-tb-per{opacity:.7;font-size:13px}

.nwc-tb-code{display:flex;justify-content:space-between;align-items:center;border:1px dashed rgba(0,0,0,.18);border-radius:12px;padding:10px 12px;margin-bottom:14px;font-size:13px}

.nwc-tb-field{margin-bottom:12px}
.nwc-tb-field label{display:block;font-size:12px;font-weight:800;letter-spacing:.3px;margin-bottom:6px;opacity:.85;text-transform:uppercase}

.nwc-tb-field select,
.nwc-tb-field input[type="text"],
.nwc-tb-field input[type="email"],
.nwc-tb-field textarea{
  width:100%;
  border:1px solid rgba(0,0,0,.15);
  border-radius:12px;
  padding:11px 12px;
  outline:none;
  background:#fff;
  box-sizing:border-box;
}
.nwc-tb-field textarea{resize:vertical}

.nwc-tb-cta-row{
  display:flex;
  gap:10px;
  align-items:stretch;
  margin-top:8px;
}

/* Stepper Persone */
.nwc-tb-stepper{
  width:132px;
  display:flex;
  border:1px solid rgba(0,0,0,.15);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  height:48px;
}
.nwc-tb-stepper .nwc-tb-step{
  width:42px;
  border:0;
  background:rgba(0,0,0,.04);
  font-size:20px;
  font-weight:900;
  cursor:pointer;
  line-height:1;
  height:48px;
}
.nwc-tb-stepper input{
  width:48px;
  border:0;
  margin:0;
  padding:0 !important;
  text-align:center;
  font-weight:900;
  font-size:16px;
  color:#111;
  background:#fff;
  outline:none;
  line-height:48px !important;
  height:48px !important;
  display:block;
  min-width:48px;
  -moz-appearance: textfield;
}
.nwc-tb-stepper input::-webkit-outer-spin-button,
.nwc-tb-stepper input::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; }

.nwc-tb-btn{
  flex:1;
  border-radius:12px !important;
  padding:12px 14px !important;
  font-weight:900 !important;
  letter-spacing:.3px;
  text-transform:uppercase;
  min-height:48px;
}

.nwc-tb-btn-secondary{
  width:100%;
  border-radius:12px !important;
  padding:12px 14px !important;
  font-weight:900 !important;
  letter-spacing:.3px;
  text-transform:uppercase;
  min-height:48px;
}

.nwc-tb-total{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:14px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(0,0,0,.04);
}
.nwc-tb-total strong{font-size:15px}

.nwc-tb-request{margin-top:14px;border-top:1px dashed rgba(0,0,0,.14);padding-top:14px}
.nwc-tb-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.nwc-tb-actions{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.nwc-tb-action{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.18);
  text-decoration:none !important;
  font-weight:800;
  letter-spacing:.3px;
  text-transform:uppercase;
  font-size:12px;
  color:inherit;
}

@media (max-width: 520px){
  .nwc-tb-card{max-width:100%}
  .nwc-tb-grid2{grid-template-columns:1fr}
  .nwc-tb-cta-row{flex-direction:column}
  .nwc-tb-stepper{width:100%}
  .nwc-tb-stepper input{width:100%}
}


/* Single period display (no dropdown) */
.nwc-tb-single-period{display:flex;gap:8px;align-items:baseline;padding:10px 12px;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:#fff}
.nwc-tb-single-label{font-weight:800}
.nwc-tb-single-sub{opacity:.65;font-size:12px}
