/* Popup (modal) calendar used with js/web-datepicker.js: /web pages and the ejen portal.
   Colours come from --w-* variables (defined by css/web.css or the ejen layout). */
/* ---------- dd/mm/yyyy popup date picker (replaces native <input type=date>) ---------- */
.wdp-group { width: 100%; }
.wdp-display { background: #fff; cursor: pointer; caret-color: transparent; }
.wdp-display:focus { box-shadow: 0 0 0 .2rem rgba(47, 125, 58, .18); border-color: var(--w-leaf); }
.wdp-btn { color: var(--w-muted); border-color: var(--bs-border-color); }
.wdp-btn:hover { color: var(--w-forest); background: #eaf5ec; }
.wdp-modal .modal-content { border-radius: 1.1rem; border: 0; box-shadow: 0 20px 60px rgba(20, 60, 40, .25); }
.wdp-modal .modal-header { border-bottom: 0; display: flex; align-items: center; gap: .4rem; }
.wdp-modal .wdp-title { flex: 1; text-align: center; font-weight: 800; font-family: Georgia, "Times New Roman", serif; color: var(--w-forest); }
.wdp-modal .wdp-nav { border-radius: 50%; width: 34px; height: 34px; padding: 0; display: inline-grid; place-items: center; }
.wdp-modal .modal-footer { border-top: 0; }
.wdp-dow, .wdp-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.wdp-dow span { text-align: center; font-size: .72rem; font-weight: 800; color: var(--w-muted); padding: .3rem 0; }
.wdp-grid button { border: 0; background: transparent; padding: .5rem 0; border-radius: .6rem; font-size: .88rem; font-weight: 600; color: var(--w-ink); cursor: pointer; }
.wdp-grid button:hover:not(:disabled) { background: #eaf5ec; }
.wdp-grid button.today { box-shadow: inset 0 0 0 1.5px var(--w-leaf); }
.wdp-grid button.selected { background: var(--w-forest); color: #fff; font-weight: 800; }
.wdp-grid button:disabled { color: #ced4da; cursor: not-allowed; }
.wdp-grid .wdp-empty { visibility: hidden; }
