/* Container */
.benny-booking-wrap{max-width:900px;margin:16px auto;font-family:Arial,Helvetica,sans-serif}

/* Title */
.benny-title{color:#d35400;margin:0 0 8px 0}

/* Nav row */
.benny-nav{
  display:flex;align-items:center;justify-content:center;
  gap:18px; /* più spazio tra frecce e titolo */
  margin:14px 0;
}
.benny-month{
  font-weight:800;text-transform:uppercase; /* mese in MAIUSCOLO */
  letter-spacing:.6px;
  margin-top:6px; /* più aria sopra */
  min-width:220px; /* stabilità del layout su mobile */
  text-align:center;
}
.benny-nav-btn{
  background:#000;color:#fff;border:1px solid #000;border-radius:8px;
  padding:8px 12px; /* spazio touch-friendly */
  cursor:pointer;transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.benny-nav-btn:hover, .benny-nav-btn:focus{
  transform:scale(1.05);
  color:#e74c3c;
  background:#fff7f0;
  border-color:#ffb27a;
  outline:none;
}

/* Calendar grid */
.benny-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cell{padding:10px;border-radius:6px;text-align:center;background:#f4f4f4}
.cell.header{font-weight:700;background:transparent}
.cell.empty{background:transparent}
.cell.busy{background:#e74c3c;color:#fff;cursor:not-allowed}
.cell.free{background:#2ecc71;color:#fff;cursor:pointer}
.cell.canceled{background:#bdc3c7;color:#2c3e50;cursor:pointer;opacity:.9;border:1px dashed #95a5a6}
.cell.past{background:#eeeeee;color:#999;cursor:not-allowed}

/* Legend */
.benny-legend{margin-top:8px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.legend-swatch{display:inline-block;width:14px;height:14px;border-radius:3px;margin-right:6px;vertical-align:middle}
.legend-swatch.free{background:#2ecc71}
.legend-swatch.busy{background:#e74c3c}
.legend-swatch.canceled{background:#bdc3c7}

/* Modal */
.benny-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.45);display:flex;align-items:center;justify-content:center;z-index:9999}
.benny-modal-content{background:#fff;padding:18px;border-radius:8px;max-width:520px;width:90%}
.benny-row{display:flex;gap:8px;flex-wrap:wrap}
.benny-row label{flex:1 1 220px}
.benny-modal-content label{display:block;margin-top:10px}
.benny-modal-content input, .benny-modal-content textarea{width:100%;padding:8px;margin-top:6px;border:1px solid #ddd;border-radius:6px}
.benny-actions{display:flex;gap:8px;margin-top:12px}
.benny-btn{flex:1;padding:10px;border-radius:6px;border:none;color:#fff;background:#d35400;cursor:pointer}
.benny-btn-secondary{background:#777;color:#fff;border:none}
.benny-response .error{color:#c0392b}
.benny-response .success{color:#27ae60;font-weight:700}
.benny-row-canceled td{background:#f2f2f2;color:#7f8c8d}

/* Responsive */
@media (max-width:540px){
  .benny-month{min-width:180px;font-size:15px;margin-top:8px}
  .benny-nav{gap:14px}
  .benny-nav-btn{padding:8px 10px}
}
