.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}
}
