/* nepali-calendar-toolkit/react — plain-CSS defaults. Hosts theme by overriding
   these classes or passing `classNames` (which are MERGED after `nct-*`). */
.nct-wrap { position: relative; display: inline-block; }
.nct-trigger { display: inline-flex; align-items: center; gap: 0.5rem; height: 2.25rem; min-width: 13rem; padding: 0 0.625rem; font-size: 0.875rem; border: 1px solid var(--nct-border, #e2e2e2); border-radius: 0.375rem; background: var(--nct-bg, #fff); color: var(--nct-fg, #222); cursor: pointer; }
.nct-trigger:disabled { cursor: not-allowed; opacity: 0.5; }
.nct-trigger:hover:not(:disabled) { background: var(--nct-hover, #f5f5f5); }
.nct-cal { opacity: 0.55; }
.nct-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nct-popup { position: absolute; left: 0; top: calc(100% + 4px); z-index: 50; width: 18rem; padding: 0.75rem; border: 1px solid var(--nct-border, #e2e2e2); border-radius: 0.5rem; background: var(--nct-bg, #fff); color: var(--nct-fg, #222); box-shadow: 0 10px 30px rgb(0 0 0 / 0.12); }
.nct-header { display: flex; align-items: center; justify-content: space-between; gap: 0.25rem; margin-bottom: 0.5rem; }
.nct-nav { padding: 0.25rem 0.5rem; border-radius: 0.25rem; color: var(--nct-muted, #777); font-size: 1.1rem; line-height: 1; }
.nct-nav:hover:not(:disabled) { background: var(--nct-hover, #f2f2f2); color: var(--nct-fg, #222); }
.nct-title { display: flex; align-items: center; gap: 0.25rem; font-size: 0.875rem; font-weight: 600; }
.nct-month, .nct-year { border: 1px solid var(--nct-border, #e2e2e2); border-radius: 0.25rem; background: inherit; color: inherit; padding: 0.125rem 0.25rem; font-size: 0.875rem; }
/* Unpublished-month options are disabled; keep the currently selected one readable. */
.nct-month option:disabled { color: var(--nct-muted, #999); }
.nct-weekdays, .nct-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.nct-weekdays { text-align: center; font-size: 11px; font-weight: 600; color: var(--nct-muted, #777); }
.nct-wd { padding: 0.25rem 0; }
.nct-day { position: relative; display: flex; height: 2rem; align-items: center; justify-content: center; border-radius: 0.25rem; font-size: 0.875rem; }
.nct-day:hover:not(:disabled) { background: var(--nct-hover, #f2f2f2); }
.nct-sel { background: var(--nct-accent, #623df5); color: #fff; font-weight: 600; }
.nct-today { font-weight: 700; color: var(--nct-accent, #623df5); box-shadow: inset 0 0 0 1px var(--nct-accent, #623df5); }
.nct-we, .nct-hol { color: var(--nct-danger, #c0392b); }
.nct-off { cursor: not-allowed; opacity: 0.4; }
.nct-off:hover { background: transparent; }
/* Legend: red is the only "off day" cue, so it is spelled out once. */
.nct-legend { display: flex; flex-wrap: wrap; gap: 0.25rem 0.75rem; margin-top: 0.5rem; font-size: 11px; color: var(--nct-muted, #777); }
.nct-lg { display: inline-flex; align-items: center; gap: 0.25rem; }
.nct-num { color: var(--nct-danger, #c0392b); }
.nct-ph { display: flex; height: 2rem; align-items: center; justify-content: center; font-size: 0.875rem; opacity: 0.35; }
.nct-ad { margin-top: 0.5rem; border-top: 1px solid var(--nct-border, #eee); padding-top: 0.375rem; font-size: 11px; color: var(--nct-muted, #777); }
.nct-empty { padding: 1rem 0; text-align: center; font-size: 0.75rem; color: var(--nct-muted, #777); }
