/* Use Myriad Pro when available */
.nhf-vs {
  font-family: "Myriad Pro","MyriadPro","Myriad Pro Regular","MyriadPro-Regular",
               -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  max-width: 720px; margin: 0 auto; background:#fff; border-radius:16px;
  box-shadow:0 8px 28px rgba(0,0,0,.08); padding:1rem 1.25rem;
}

/* Calendar wrapper */
.nhf-vs-grid { margin-bottom:.75rem; }
.nhf-vs-nav { display:flex; align-items:center; justify-content:space-between; margin-bottom:.25rem; }
.nhf-vs-nav .nhf-prev, .nhf-vs-nav .nhf-next {
  border:1px solid #e3e3e3; background:#fafafa; border-radius:8px; padding:.25rem .5rem; cursor:pointer;
}
.nhf-vs-nav .nhf-disabled { opacity:.5; cursor:not-allowed; }
.nhf-month-label { font-weight:700; letter-spacing:.3px; }

.nhf-grid { display:flex; flex-direction:column; gap:4px; }
.nhf-row { display:grid; grid-template-columns: repeat(7, 1fr); gap:4px; }

/* Day cells: no layout shift – fixed border and inset highlight */
.nhf-cell {
  box-sizing:border-box;
  display:flex; align-items:center; justify-content:center;
  aspect-ratio:1/1;
  border-radius:12px;
  border:1px solid #e7e7e7;
  background:#fff;
  font-weight:600;
  font-size:1.1rem;                 /* larger day numbers for accessibility */
  cursor:pointer;
}
.nhf-head .nhf-h { border:none; background:transparent; font-weight:700; color:#666; cursor:default; font-size:.95rem; }

.nhf-out { opacity:.35; cursor:default; }
.nhf-weekend { color:#bbb; background:#fafafa; border-style:dashed; }
.nhf-booked { background:#f0f2f5; color:#999; text-decoration:line-through; cursor:not-allowed; }
.nhf-locked { background:#fafafa; color:#bbb; cursor:not-allowed; }

/* Selected: inset ring only (no size change) */
.nhf-selected { box-shadow: inset 0 0 0 3px rgba(0,0,0,.75); background:#f7faff; }

/* Help text */
.nhf-help { font-size:.9rem; color:#666; margin:.25rem 0 .5rem; }

/* Form */
.nhf-vs-form .nhf-field { margin: .6rem 0 .25rem; }
.nhf-vs-form label { display:block; font-weight:600; margin-bottom:.3rem; }
.nhf-vs-form input, .nhf-vs-form textarea {
  width:100%; padding:.6rem .75rem; border:1px solid #ddd; border-radius:10px; background:#fff;
}
.nhf-submit { margin-top:.5rem; width:100%; padding:.75rem 1rem; border:none; border-radius:12px; background:#111; color:#fff; font-weight:700; cursor:pointer; }
.nhf-msg { min-height:1.25rem; margin-top:.5rem; }

/* Selected dates box – matches form styling */
.nhf-selected {
  border:1px solid #ddd; background:#fff; border-radius:10px; padding:.5rem .6rem; margin:.6rem 0 .25rem;
}
.nhf-selected strong { display:block; margin-bottom:.25rem; }
.nhf-chip {
  display:inline-block; margin:.25rem .25rem 0 0; padding:.25rem .5rem;
  border:1px solid #ddd; border-radius:8px; background:#fff; font-size:.92rem; cursor:pointer;
}