.ndo-booking{max-width:760px;margin:0 auto;font-family:inherit;color:#172033}.ndo-card{background:#fff;border:1px solid #dce3ea;border-radius:24px;padding:34px;box-shadow:0 12px 34px rgba(15,23,42,.06)}.ndo-kicker{font-size:14px;font-weight:800;letter-spacing:.08em;color:#756f68}.ndo-card h2{font-size:36px;margin:8px 0 6px}.ndo-intro{color:#6b7280;margin:0 0 28px}.ndo-label{display:block;font-size:20px;margin:22px 0 10px}.ndo-type-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ndo-type,.ndo-primary{border:0;border-radius:8px;padding:18px;font-size:20px;font-weight:700;cursor:pointer}.ndo-type{background:#f1f3f5;color:#7a7f87}.ndo-type.active,.ndo-primary{background:#08d995;color:#fff}#ndo-model,#ndo-start-date,#ndo-end-date,#ndo-start-time,#ndo-end-time{width:100%;height:60px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;padding:0 18px;font-size:18px;box-sizing:border-box}.ndo-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.ndo-date-wrap{position:relative}.ndo-date-wrap span{position:absolute;right:18px;top:17px;pointer-events:none}.ndo-primary{width:100%;margin-top:28px}.ndo-disabled{opacity:.5;cursor:not-allowed}.ndo-message{margin-top:26px;padding:20px;border-radius:14px;font-weight:700}.ndo-message.ok{background:#e8f8ee;color:#5f665f}.ndo-message.error{background:#fff0f0;color:#a33}.ndo-quote{margin-top:22px;border:1px solid #d5dee8;border-radius:18px;padding:24px}.ndo-quote h3{font-size:28px;margin:0 0 4px}.ndo-quote-model{font-size:18px;margin-bottom:24px}.ndo-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #e5e7eb;font-size:19px}.ndo-note{text-align:center;margin-top:12px;color:#6b7280}
/* Flatpickr: compatto, italiano, senza deformazioni dal tema WordPress */
.ndo-booking .flatpickr-calendar{font-family:inherit!important;border-radius:14px!important;box-shadow:0 12px 35px rgba(15,23,42,.18)!important;width:307.875px!important;padding:0!important}
.ndo-booking .flatpickr-days,.ndo-booking .dayContainer{width:307.875px!important;min-width:307.875px!important;max-width:307.875px!important}
.ndo-booking .flatpickr-day{width:39px!important;max-width:39px!important;height:39px!important;line-height:39px!important;border-radius:50%!important;padding:0!important;margin:0!important;font-size:14px!important}
.ndo-booking .flatpickr-day.selected,.ndo-booking .flatpickr-day.startRange,.ndo-booking .flatpickr-day.endRange{background:#08d995!important;border-color:#08d995!important}
.ndo-booking .flatpickr-months .flatpickr-month{height:42px!important}.ndo-booking .flatpickr-current-month{font-size:110%!important;padding-top:9px!important}.ndo-booking .flatpickr-weekday{font-size:12px!important}.ndo-booking .flatpickr-prev-month,.ndo-booking .flatpickr-next-month{padding:12px!important}
@media(max-width:600px){.ndo-card{padding:20px 16px}.ndo-card h2{font-size:29px}.ndo-grid{grid-template-columns:1fr}.ndo-type,.ndo-primary{font-size:17px}}
.ndo-customer-step{margin-top:24px;border:1px solid #d5dee8;border-radius:18px;padding:24px}
.ndo-customer-step h3{font-size:28px;margin:0 0 6px}
.ndo-hold-info{margin:0 0 18px;color:#596273}
.ndo-customer-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.ndo-customer-grid input{width:100%;height:58px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;padding:0 16px;font-size:17px;box-sizing:border-box}
.ndo-hold-countdown{margin-top:22px;padding:15px 18px;background:#eefbf6;border-radius:12px;text-align:center;font-size:18px}
@media(max-width:600px){.ndo-customer-grid{grid-template-columns:1fr}}

.ndo-form-error{margin-top:16px;padding:14px 16px;border-radius:10px;background:#fff0f0;color:#a33;font-weight:700}
.ndo-final-step{margin-top:24px;border:1px solid #d5dee8;border-radius:18px;padding:24px}
.ndo-final-step h3{font-size:28px;margin:0 0 8px}
.ndo-summary-model{font-size:20px;font-weight:700;margin-bottom:5px}
.ndo-summary-period{color:#626b78;margin-bottom:20px;line-height:1.5}
.ndo-summary-customer{margin-top:20px;padding:16px 18px;background:#f7f9fb;border-radius:12px;line-height:1.7}
.ndo-test-box{margin-top:18px;padding:16px 18px;background:#fff8e8;border-radius:12px;color:#6d5b2d;line-height:1.5}

.ndo-payment-box{margin-top:20px;padding:20px;border:1px solid #dce3ea;border-radius:14px;background:#fff}
.ndo-payment-title{font-size:18px;font-weight:700;margin-bottom:4px}
.ndo-payment-amount{font-size:28px;font-weight:800;margin-bottom:16px}
.ndo-paypal-test{width:100%;height:54px;border:0;border-radius:10px;background:#ffc439;color:#111;font-size:18px;font-weight:800;cursor:not-allowed;opacity:.58}
.ndo-payment-note{text-align:center;margin-top:10px;color:#6b7280;font-size:14px}


/* v0.5.3 - rifinitura responsive, nessuna modifica alla logica booking */
#ndo-booking{width:100%;max-width:760px;margin:0 auto;box-sizing:border-box}
#ndo-booking *{box-sizing:border-box}

.ndo-card,
.ndo-customer-step,
.ndo-final-step{width:100%;overflow:hidden}

.ndo-primary,
.ndo-paypal-test{min-height:56px;touch-action:manipulation}

.ndo-label{display:block;margin-bottom:9px}
.ndo-row{gap:18px}
.ndo-summary-period{overflow-wrap:anywhere}
.ndo-summary-customer{overflow-wrap:anywhere}

@media (max-width: 700px){
  #ndo-booking{max-width:100%}

  .ndo-card,
  .ndo-customer-step,
  .ndo-final-step{padding:20px 16px;border-radius:15px}

  .ndo-customer-step h3,
  .ndo-final-step h3{font-size:24px;line-height:1.2}

  .ndo-customer-grid{grid-template-columns:1fr;gap:0}

  .ndo-customer-grid input,
  #ndo-booking select,
  #ndo-booking input{font-size:16px;max-width:100%}

  .ndo-row{align-items:flex-start}
  .ndo-row span{min-width:0}
  .ndo-row strong{text-align:right;white-space:nowrap}

  .ndo-summary-model{font-size:19px}
  .ndo-payment-amount{font-size:26px}

  .ndo-primary,
  .ndo-paypal-test{width:100%}
}

@media (max-width: 420px){
  .ndo-card,
  .ndo-customer-step,
  .ndo-final-step{padding:17px 13px}

  .ndo-row{font-size:16px}
  .ndo-hold-countdown{font-size:16px;padding:13px 10px}

  .ndo-summary-customer,
  .ndo-payment-box,
  .ndo-test-box{padding:15px}

  .ndo-payment-title{font-size:17px}
}

/* v0.5.4 - mobile piu compatto; solo CSS, nessuna modifica alla logica */
@media (max-width: 700px){
  .ndo-card{padding:18px 16px}
  .ndo-card h2{font-size:29px;line-height:1.15;margin:6px 0 5px}
  .ndo-intro{margin-bottom:18px;line-height:1.45}
  .ndo-label{font-size:18px;margin:16px 0 8px}

  .ndo-type-buttons{gap:10px}
  .ndo-type{min-height:54px;padding:13px 10px;font-size:17px}

  #ndo-model,#ndo-start-date,#ndo-end-date,#ndo-start-time,#ndo-end-time{height:54px;padding-left:14px;padding-right:14px}
  .ndo-date-wrap span{right:15px;top:14px}

  .ndo-grid{gap:0 14px}
  .ndo-primary{min-height:54px;margin-top:20px;padding:14px}
  .ndo-message{margin-top:18px;padding:16px}

  .ndo-quote{margin-top:18px;padding:20px 16px}
  .ndo-quote h3{font-size:25px}
  .ndo-quote-model{font-size:17px;margin-bottom:14px}
  .ndo-row{padding:11px 0;font-size:17px}

  .ndo-customer-step,.ndo-final-step{margin-top:18px;padding:20px 16px}
  .ndo-hold-info{margin-bottom:12px}
  .ndo-customer-grid .ndo-label{margin-top:14px}
  .ndo-customer-grid input{height:54px}
  .ndo-hold-countdown{margin-top:16px}

  .ndo-summary-period{margin-bottom:14px}
  .ndo-summary-customer{margin-top:14px}
  .ndo-payment-box{margin-top:16px}
}

@media (max-width: 420px){
  .ndo-card,.ndo-customer-step,.ndo-final-step{padding:16px 12px}
  .ndo-card h2{font-size:27px}
  .ndo-intro{margin-bottom:16px}
  .ndo-label{margin-top:14px}
  .ndo-type{min-height:52px;padding:12px 7px;font-size:16px}
  #ndo-model,#ndo-start-date,#ndo-end-date,#ndo-start-time,#ndo-end-time{height:52px}
  .ndo-primary{min-height:52px;margin-top:18px}
  .ndo-quote{padding:18px 14px}
}


/* v0.5.5 - anteprima schermata finale, nessuna conferma reale */
.ndo-preview-confirmation{width:100%;min-height:54px;margin-top:12px;border:1px solid #08d995;border-radius:10px;background:#fff;color:#087d5b;font-size:17px;font-weight:800;cursor:pointer}
.ndo-confirmation-step{margin-top:24px;border:1px solid #d5dee8;border-radius:18px;padding:28px;background:#fff;text-align:left}
.ndo-confirmation-icon{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#08d995;color:#fff;font-size:34px;font-weight:800;margin:0 auto 14px}
.ndo-confirmation-step h3{text-align:center;font-size:28px;margin:0 0 8px}
.ndo-confirmation-lead{text-align:center;color:#596273;margin:0 0 24px;line-height:1.5}
.ndo-confirm-model{font-size:21px;font-weight:800;margin-bottom:5px}
.ndo-confirm-period{color:#626b78;margin-bottom:18px;line-height:1.5}
.ndo-confirm-test-note{margin-top:20px;padding:15px 17px;border-radius:12px;background:#fff8e8;color:#6d5b2d;line-height:1.45;text-align:center}
@media(max-width:700px){.ndo-confirmation-step{padding:20px 16px;border-radius:15px}.ndo-confirmation-step h3{font-size:24px}.ndo-confirm-model{font-size:19px}}


/* v0.5.6 - anteprima email, nessun invio reale */
.ndo-email-preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.ndo-email-preview-btn{min-height:52px;border:1px solid #08d995;border-radius:10px;background:#fff;color:#087d5b;font-size:16px;font-weight:800;padding:12px;cursor:pointer}
.ndo-email-preview{margin-top:24px;border:1px solid #d5dee8;border-radius:18px;background:#f6f8fa;overflow:hidden}
.ndo-email-preview-toolbar{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;border-bottom:1px solid #d5dee8;background:#eef2f5}
.ndo-email-preview-toolbar button{border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#53606d}
.ndo-email-sheet{margin:20px;background:#fff;border-radius:14px;padding:28px;box-shadow:0 4px 18px rgba(0,0,0,.05)}
.ndo-email-brand{font-size:13px;letter-spacing:.12em;font-weight:800;color:#6d6d6d;margin-bottom:12px}
.ndo-email-sheet h3{font-size:26px;margin:0 0 10px}
.ndo-email-sheet>p{color:#596273;line-height:1.55}
.ndo-email-booking-box,.ndo-email-customer-details{margin:18px 0;padding:16px;border-radius:12px;background:#f5f7f9;line-height:1.55}
.ndo-email-booking-box strong{display:block;font-size:19px;margin-bottom:4px}
.ndo-email-footer{margin-top:18px}
@media(max-width:700px){.ndo-email-preview-actions{grid-template-columns:1fr}.ndo-email-sheet{margin:12px;padding:18px 14px}.ndo-email-sheet h3{font-size:22px}}


/* v0.5.7 - branding email cliente */
.ndo-email-customer-brand{text-align:center;margin:0 0 22px}
.ndo-email-customer-brand img{display:block;width:100%;max-width:430px;height:auto;margin:0 auto}
.ndo-email-business-details{margin-top:20px;padding:18px;border-top:1px solid #e1e6eb;text-align:center;color:#4f5966;line-height:1.65;font-size:15px}
.ndo-email-business-details strong{display:block;color:#102033;font-size:17px;margin-bottom:3px}
.ndo-email-business-details .ndo-business-brand{font-size:19px;font-weight:800}
.ndo-email-business-details .ndo-brand-orange{color:#f04b18}
.ndo-email-business-details .ndo-brand-blue{color:#0783b7}
@media(max-width:700px){.ndo-email-customer-brand img{max-width:300px}.ndo-email-business-details{padding:16px 8px;font-size:14px}}


/* v0.6.0 - scadenza HOLD lato interfaccia */
.ndo-hold-expired-step{margin-top:24px;border:1px solid #f0c36a;border-radius:18px;padding:28px;background:#fffaf0;text-align:center}
.ndo-hold-expired-icon{font-size:42px;line-height:1;margin-bottom:10px}
.ndo-hold-expired-step h3{font-size:27px;margin:0 0 10px;color:#7a4d00}
.ndo-hold-expired-step p{margin:0 auto 18px;max-width:620px;color:#66583e;line-height:1.55}
.ndo-hold-expired-step .ndo-primary{margin-top:4px}
@media(max-width:700px){.ndo-hold-expired-step{padding:22px 16px;border-radius:15px}.ndo-hold-expired-step h3{font-size:24px}}

/* Consegna ed opzioni prenotazione */
.ndo-booking-option-section{
  margin:18px 0;
  padding:16px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#f8fafc;
}

.ndo-option-check{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  cursor:pointer;
  margin:0;
}

.ndo-option-check input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:0;
  cursor:pointer;
}

#ndo-delivery-fields{
  margin-top:14px;
}

#ndo-delivery-zone{
  width:100%;
}

.ndo-option-price{
  margin-top:10px;
  font-weight:700;
}

.ndo-customer-delivery{
  margin-top: 28px;
}