/* Pro.Gest Prenotazioni — wizard frontend */
.pgb-app{
  --pg-blu-900:#143E60;--pg-blu-800:#1B4E78;--pg-blu-700:#225d8e;
  --pg-volt:#C7FF18;--pg-volt-600:#A6D900;--pg-volt-hover:#BDF50F;
  --pg-ink:#101829;--pg-s700:#334155;--pg-s600:#475569;--pg-s500:#64748B;
  --pg-s400:#94A3B8;--pg-s300:#CBD5E1;--pg-s200:#E2E8F0;--pg-s100:#F1F5F9;--pg-s50:#F8FAFC;
  --pg-field:#F7FAFC;--pg-border:#E5EBF0;--pg-placeholder:#949EAD;
  --pg-radius:24px;--pg-radius-sm:10px;--pg-radius-btn:12px;
  --pg-shadow:0 1px 2px rgba(16,24,41,.05),0 18px 40px rgba(16,24,41,.06);
  font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  color:var(--pg-ink);max-width:940px;margin:0 auto;-webkit-font-smoothing:antialiased;
}
.pgb-app *,.pgb-app *::before,.pgb-app *::after{box-sizing:border-box;}

.pgb-card{background:#fff;border:1px solid var(--pg-border);border-radius:var(--pg-radius);
  padding:30px 32px;box-shadow:var(--pg-shadow);}

/* loading */
.pgb-loading{display:flex;align-items:center;gap:12px;justify-content:center;
  padding:48px;color:var(--pg-s500);font-weight:500;}
.pgb-spinner{width:22px;height:22px;border-radius:50%;border:3px solid var(--pg-s200);
  border-top-color:var(--pg-blu-900);animation:pgb-spin .7s linear infinite;display:inline-block;}
@keyframes pgb-spin{to{transform:rotate(360deg);}}

/* progress — step fatti navy, step attivo volt, futuri grigi */
.pgb-progress{display:flex;gap:8px;margin-bottom:26px;flex-wrap:wrap;}
.pgb-progress__step{flex:1 1 0;min-width:84px;}
.pgb-progress__label{font-size:13px;font-weight:600;color:var(--pg-s400);margin-bottom:8px;display:block;}
.pgb-progress__bar{height:6px;border-radius:99px;background:var(--pg-border);transition:background .25s;}
.pgb-progress__step.is-active .pgb-progress__label,
.pgb-progress__step.is-done .pgb-progress__label{color:var(--pg-blu-900);}
.pgb-progress__step.is-done .pgb-progress__bar{background:var(--pg-blu-900);}
.pgb-progress__step.is-active .pgb-progress__bar{background:var(--pg-volt);}

.pgb-intro{color:var(--pg-s600);font-size:15px;margin:0 0 22px;}

/* grid fields */
.pgb-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.pgb-field{display:flex;flex-direction:column;gap:6px;margin-bottom:4px;}
.pgb-field--full{grid-column:1 / -1;}
.pgb-label{color:var(--pg-blu-900);font-weight:600;font-size:13.5px;}
.pgb-req{color:#c0362c;}

.pgb-app select,.pgb-app input[type=text],.pgb-app input[type=email],
.pgb-app input[type=tel],.pgb-app input[type=date],.pgb-app textarea{
  width:100%;background:var(--pg-field);color:var(--pg-ink);border:1.5px solid var(--pg-border);
  border-radius:var(--pg-radius-sm);padding:12px 14px;font-size:15px;font-family:inherit;
  min-height:48px;transition:border-color .15s,box-shadow .15s,background .15s;}
.pgb-app select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:40px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;}
.pgb-app select:focus,.pgb-app input:focus,.pgb-app textarea:focus{
  outline:none;border-color:var(--pg-blu-900);background:#fff;box-shadow:0 0 0 3px rgba(199,255,24,.5);}
.pgb-app textarea{min-height:96px;resize:vertical;}
.pgb-app ::placeholder{color:var(--pg-placeholder);}

.pgb-row-inline{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;}
.pgb-row-inline .pgb-field{flex:1;min-width:130px;}

/* buttons — avanti/conferma = volt (testo navy), indietro = ghost */
.pgb-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;
  margin-top:24px;padding-top:20px;border-top:1px solid var(--pg-border);}
.pgb-actions--end{justify-content:flex-end;}
.pgb-btn{font-weight:700;font-size:15px;border-radius:var(--pg-radius-btn);padding:13px 30px;
  border:none;cursor:pointer;font-family:inherit;letter-spacing:.2px;
  transition:transform .08s,background .15s,box-shadow .15s;}
.pgb-btn--primary{background:var(--pg-volt);color:var(--pg-blu-900);box-shadow:0 2px 10px rgba(199,255,24,.45);}
.pgb-btn--primary:hover{background:var(--pg-volt-hover);transform:translateY(-1px);}
.pgb-btn--primary:disabled{background:var(--pg-border);color:var(--pg-s400);cursor:not-allowed;transform:none;box-shadow:none;}
.pgb-btn--ghost{background:#fff;color:var(--pg-blu-900);border:1.5px solid var(--pg-border);}
.pgb-btn--ghost:hover{background:var(--pg-s50);border-color:var(--pg-blu-900);}

/* slots */
.pgb-day{margin-bottom:18px;}
.pgb-day__title{color:var(--pg-blu-900);font-weight:700;font-size:15px;
  padding-bottom:8px;border-bottom:1px solid var(--pg-border);margin-bottom:12px;text-transform:capitalize;}
.pgb-slots{display:flex;flex-wrap:wrap;gap:10px;}
/* reset bottoni nel wizard per neutralizzare il tema */
.pgb-app .pgb-slots button{margin:0;text-transform:none;letter-spacing:normal;line-height:1.2;text-decoration:none;text-shadow:none;}
.pgb-app .pgb-slot{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--pg-field) !important;color:var(--pg-blu-900) !important;
  border:1.5px solid var(--pg-border) !important;border-radius:10px !important;
  padding:10px 16px !important;font-weight:600 !important;font-size:14px !important;
  font-family:inherit;cursor:pointer;transition:all .12s;box-shadow:none !important;min-width:78px;}
.pgb-app .pgb-slot:hover{border-color:var(--pg-blu-900) !important;background:#fff !important;color:var(--pg-blu-900) !important;}
.pgb-app .pgb-slot.is-selected{background:var(--pg-volt) !important;border-color:var(--pg-volt-hover) !important;
  color:var(--pg-blu-900) !important;box-shadow:0 2px 8px rgba(199,255,24,.4) !important;}
.pgb-empty{color:var(--pg-s500);padding:24px;text-align:center;background:var(--pg-field);
  border:1px solid var(--pg-border);border-radius:var(--pg-radius-sm);}

/* help */
.pgb-help{margin-top:28px;border-top:1px solid var(--pg-border);padding-top:20px;}
.pgb-help__title{color:var(--pg-blu-900);font-weight:700;font-size:18px;margin:0 0 14px;}
.pgb-help__topic{font-weight:700;color:var(--pg-s700);margin:14px 0 6px;text-transform:capitalize;}
.pgb-help__topic::before{content:"•";color:var(--pg-volt-600);margin-right:8px;font-weight:800;}
.pgb-help__line{color:var(--pg-s600);font-size:14.5px;margin:4px 0;}

/* consents — checkbox custom navy con spunta volt */
.pgb-consent{display:flex;align-items:flex-start;gap:10px;margin:10px 0;}
.pgb-consent input[type=checkbox]{appearance:none;-webkit-appearance:none;width:20px;height:20px;flex:none;
  margin-top:1px;border:1.5px solid var(--pg-s300);border-radius:6px;background:#fff;cursor:pointer;
  position:relative;transition:background .15s,border-color .15s;}
.pgb-consent input[type=checkbox]:checked{background:var(--pg-blu-900);border-color:var(--pg-blu-900);}
.pgb-consent input[type=checkbox]:checked::after{content:"";position:absolute;left:6px;top:2px;
  width:6px;height:11px;border:solid var(--pg-volt);border-width:0 2.5px 2.5px 0;transform:rotate(45deg);}
.pgb-consent input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(199,255,24,.5);}
.pgb-consent label{color:var(--pg-s700);font-size:14px;line-height:1.45;}
.pgb-app a{color:var(--pg-blu-700);text-decoration:underline;}

/* summary */
.pgb-summary{border:1px solid var(--pg-border);border-radius:var(--pg-radius-sm);overflow:hidden;}
.pgb-summary__row{display:flex;justify-content:space-between;gap:16px;padding:13px 18px;border-bottom:1px solid var(--pg-s100);}
.pgb-summary__row:last-child{border-bottom:none;}
.pgb-summary__k{color:var(--pg-s500);font-weight:500;}
.pgb-summary__v{color:var(--pg-ink);font-weight:600;text-align:right;}

/* final */
.pgb-final{text-align:center;padding:24px 8px;}
.pgb-final__icon{width:72px;height:72px;border-radius:50%;background:var(--pg-volt);
  display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:0 6px 18px rgba(199,255,24,.4);}
.pgb-final__icon svg{width:36px;height:36px;stroke:var(--pg-blu-900);}
.pgb-final__title{color:var(--pg-blu-900);font-size:22px;font-weight:700;margin:0 0 8px;}
.pgb-final__text{color:var(--pg-s600);font-size:15px;margin:0 auto 18px;max-width:460px;}
.pgb-final .pgb-summary{text-align:left;max-width:460px;margin:0 auto 18px;}

/* alerts */
.pgb-alert{background:#fdecea;color:#9b271b;border:1px solid #f5c4bd;border-radius:var(--pg-radius-sm);
  padding:12px 14px;font-size:14px;margin:0 0 16px;}
.pgb-alert--ok{background:#eefce3;color:#3c6312;border-color:#cdef9f;}

@media (max-width:640px){
  .pgb-card{padding:20px 16px;border-radius:18px;}
  .pgb-grid{grid-template-columns:1fr;}
  .pgb-progress__label{font-size:11px;}
  .pgb-actions{flex-direction:row;}
  .pgb-btn{padding:12px 20px;}
}
