/* Date picker for the public pages. Paired with js/datepicker.js.
   Uses the --rose/--border/--muted tokens each page already defines. */
.dp-host{ position:relative; }
.dp-btn{ display:flex; align-items:center; gap:8px; width:100%; padding:12px 13px; border:1px solid #ddd6df; border-radius:11px; background:#fff; font-size:14.5px; font-family:inherit; cursor:pointer; text-align:left; color:#241c33; transition:border-color .12s; }
.dp-btn:hover{ border-color:var(--rose); }
.dp-btn .ph{ color:#a99fb3; }
.dp-btn svg{ width:18px; height:18px; color:var(--rose); flex:none; }
.dp-pop{ position:absolute; left:0; top:calc(100% + 6px); z-index:50; width:280px; background:#fff; border:1px solid var(--border); border-radius:16px; box-shadow:0 22px 48px -22px rgba(40,18,55,.4); padding:13px; }
.dp-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.dp-mlabel{ font-family:"Fraunces",Georgia,serif; font-size:15px; font-weight:600; }
.dp-nav{ width:28px; height:28px; border:0; background:none; border-radius:8px; cursor:pointer; font-size:19px; color:var(--muted); line-height:1; }
.dp-nav:hover{ background:#f4eef1; }
.dp-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px; text-align:center; }
.dp-wd{ padding:4px 0; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:#a99fb3; }
.dp-cell{ height:34px; border:0; background:none; border-radius:9px; cursor:pointer; font-size:13.5px; color:#3c3350; font-family:inherit; }
.dp-cell:hover:not(:disabled){ background:#f4eef1; }
.dp-cell.out{ color:#d8cdd6; }
.dp-cell.today{ box-shadow:inset 0 0 0 1.5px var(--rose2); }
.dp-cell.sel{ background:var(--rose); color:#fff; font-weight:600; }
.dp-cell:disabled{ color:#e7e0e8; cursor:default; }
.dp-foot{ margin-top:8px; border-top:1px solid #f4eef1; padding-top:8px; }
.dp-today{ font-size:12px; font-weight:700; color:var(--rose); background:none; border:0; cursor:pointer; font-family:inherit; }
