.sw-bk{max-width:640px}
.sw-bk-label{display:block;font-weight:600;margin-bottom:.6rem}

/* Selettore membro del team */
.sw-bk-member{box-sizing:border-box;width:100%;max-width:22rem;padding:.7rem 1rem;border:1px solid #E9E4F0;border-radius:12px;background:#fff;font-family:inherit;font-size:1rem;color:#1A1230;cursor:pointer}
.sw-bk-member:hover{border-color:#6D28D9}
.sw-bk-step{margin-bottom:1.25rem}

/* Calendario */
.sw-cal{border:1px solid #E9E4F0;border-radius:18px;background:#fff;padding:1rem;box-shadow:0 14px 40px rgba(26,18,48,.06)}
.sw-cal-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.85rem}
.sw-cal-title{font-size:1.05rem;font-weight:700;text-transform:capitalize}
.sw-cal-nav{width:2.2rem;height:2.2rem;border:1px solid #E9E4F0;border-radius:50%;background:#fff;font-size:1.2rem;line-height:1;cursor:pointer;color:#1A1230;transition:background-color .15s,border-color .15s,opacity .15s}
.sw-cal-nav:hover:not(:disabled){background:#F7F4FD;border-color:#6D28D9}
.sw-cal-nav:disabled{opacity:.35;cursor:default}
.sw-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem}
.sw-cal-wd{text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6A5F85;padding-bottom:.35rem}
.sw-cal-empty{min-height:2.9rem}
.sw-cal-day{min-height:2.9rem;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:12px;background:#F7F4FD;color:#1A1230;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .12s,background-color .15s,border-color .15s,color .15s}
.sw-cal-day:hover:not(:disabled){transform:translateY(-2px);border-color:#6D28D9;background:#fff}
.sw-cal-day.is-off{background:transparent;color:#BFB9CC;cursor:default;font-weight:400}
.sw-cal-day.is-today{box-shadow:inset 0 0 0 2px rgba(240,144,24,.55)}
.sw-cal-day.is-active,.sw-cal-day.is-active:hover:not(:disabled){background:#1A1230;border-color:#1A1230;color:#fff}
.sw-cal-loading,.sw-cal-none{margin:.5rem 0 0;color:#6A5F85;font-size:.92rem;text-align:center}

/* Slot */
.sw-bk-slots{margin:1.5rem 0}
.sw-bk-slots-title{font-weight:600;margin-bottom:.75rem}
.sw-bk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:.6rem}
.sw-bk-slot{padding:.7rem .4rem;border:1px solid rgba(26,18,48,.18);border-radius:10px;background:#fff;font-family:inherit;font-size:1rem;cursor:pointer;transition:transform .15s,border-color .15s,background-color .15s}
.sw-bk-slot:hover{transform:translateY(-2px);border-color:#6D28D9}
.sw-bk-slot.is-active,.sw-bk-slot.is-active:hover{background:#1A1230;color:#fff;border-color:#1A1230}

/* Form */
.sw-bk-form{margin-top:1rem;padding:1.5rem;border:1px solid #E9E4F0;border-radius:16px;background:#fff;box-shadow:0 20px 50px rgba(109,40,217,.1)}
.sw-bk-chosen{font-weight:700;margin-bottom:1rem}
.sw-bk-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}
.sw-bk-field textarea{box-sizing:border-box;width:100%;padding:.8rem 1rem;border:1px solid rgba(26,18,48,.2);border-radius:12px;font-size:1rem;font-family:inherit;resize:vertical}
.sw-bk-field input{box-sizing:border-box;width:100%;padding:.8rem 1rem;border:1px solid rgba(26,18,48,.2);border-radius:12px;font-size:1rem;font-family:inherit}
.sw-bk-date{padding:.7rem 1rem;border:1px solid rgba(26,18,48,.2);border-radius:12px;font-size:1rem;font-family:inherit}

/* Avvisi */
.sw-bk-notice{padding:1rem;border-radius:12px;margin-bottom:1.25rem}
.sw-bk-ok{background:rgba(29,158,117,.12);border:1px solid rgba(29,158,117,.5)}
.sw-bk-err{background:rgba(226,75,74,.12);border:1px solid rgba(226,75,74,.5)}

@media(max-width:480px){
	.sw-cal{padding:.75rem;border-radius:14px}
	.sw-cal-day{border-radius:10px;font-size:.88rem;min-height:2.5rem}
}
@media(prefers-reduced-motion:reduce){
	.sw-bk-slot,.sw-cal-day,.sw-cal-nav{transition:none}
	.sw-bk-slot:hover,.sw-cal-day:hover:not(:disabled){transform:none}
}
