/* Basil Smash — calendrier du champ date */
.dp-field{cursor:pointer;caret-color:transparent}
.dp{position:absolute;z-index:120;box-sizing:border-box;width:min(320px,calc(100vw - 24px));background:#FBF8F1;color:#2C3A2A;border:1px solid rgba(44,58,42,.14);border-radius:12px;box-shadow:0 24px 60px -24px rgba(20,28,18,.45);padding:16px 16px 12px;font-family:var(--font-display,-apple-system,"Segoe UI",sans-serif);text-align:left;letter-spacing:0;text-transform:none}
.dp *{box-sizing:border-box}
.dp-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px}
.dp-title{font-size:16px;font-weight:500;line-height:1.2}
.dp-title::first-letter{text-transform:uppercase}
.dp-nav{width:36px;height:36px;padding:0;border-radius:999px;border:1px solid rgba(44,58,42,.18);background:transparent;color:#2C3A2A;font-family:inherit;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.dp-nav:hover:not([disabled]){background:rgba(44,58,42,.06)}
.dp-nav[disabled]{opacity:.3;cursor:default}
.dp-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.dp-wd{font-size:12px;font-weight:500;color:#8A9A7B;text-align:center;padding:4px 0 6px}
.dp-day{height:38px;padding:0;border:0;border-radius:999px;background:transparent;color:#2C3A2A;font-family:inherit;font-size:14.5px;line-height:1;cursor:pointer}
.dp-day:hover:not([disabled]){background:rgba(44,58,42,.07)}
.dp-day.is-today{box-shadow:inset 0 0 0 1px rgba(44,58,42,.35)}
.dp-day.is-sel,.dp-day.is-sel:hover{background:#C8A96A;color:#2C3A2A;font-weight:500;box-shadow:none}
.dp-day[disabled]{opacity:.28;cursor:default}
.dp-day:focus-visible,.dp-nav:focus-visible,.dp-clear:focus-visible{outline:2px solid #C8A96A;outline-offset:2px}
.dp-clear{display:block;margin:10px auto 0;padding:4px 8px;background:none;border:0;color:#6F7F61;font-family:inherit;font-size:13.5px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media(prefers-reduced-motion:no-preference){.dp{animation:dp-in .16s ease-out}}
@keyframes dp-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
