.dp{position:relative}
.dp-display{width:100%;padding:11px 12px;border:1px solid #E6DDD0;border-radius:8px;background:#fff;color:#2B2620;font:inherit;cursor:pointer}
.dp-display:focus{outline:2px solid #B5646B;outline-offset:2px}
.dp-pop{position:fixed;z-index:1000;width:280px;max-width:92vw;overflow-y:auto;background:#fff;
  border:1px solid #E6DDD0;border-radius:14px;box-shadow:0 18px 50px rgba(43,38,32,.18);padding:12px;
  opacity:0;transform:translateY(-6px);transition:opacity .16s ease,transform .16s ease}
.dp-pop.on{opacity:1;transform:none}
.dp-pop button{-webkit-appearance:none;appearance:none;background:none;border:0;margin:0;font:inherit;color:inherit;cursor:pointer;box-shadow:none}
.dp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.dp-title{font-weight:600;font-size:14px;color:#2B2620;text-transform:capitalize}
.dp-nav,.dp-back{min-width:34px;height:34px;border-radius:8px;background:transparent;color:#8f4d53;font-size:18px;line-height:1;cursor:pointer}
.dp-back{font-size:13px;font-weight:600;padding:0 8px;width:auto}
.dp-nav:hover,.dp-back:hover{background:rgba(181,100,107,.10)}
.dp-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}
.dp-dow span{text-align:center;font-size:11px;font-weight:600;color:#6A6255}
.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.dp-day{height:36px;border-radius:8px;background:transparent;color:#2B2620;font-size:13px;cursor:pointer;
  display:flex;align-items:center;justify-content:center}
.dp-day--empty{visibility:hidden}
.dp-day:not(.dp-day--off):hover{background:rgba(181,100,107,.12)}
.dp-day--hoje{box-shadow:inset 0 0 0 1px #B5646B}
.dp-day--sel{background:#B5646B;color:#fff}
.dp-day--off{color:#C9BDB0;cursor:not-allowed}
.dp-times{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;max-height:200px;overflow-y:auto;padding-top:4px}
.dp-time{height:38px;border:1px solid #E6DDD0;border-radius:8px;background:#fff;color:#2B2620;font-size:13px;cursor:pointer}
.dp-time:hover{background:#B5646B;color:#fff;border-color:#B5646B}
.dp-vazio{font-size:13px;color:#6A6255;padding:12px 4px;margin:0}
@media(prefers-reduced-motion:reduce){.dp-pop{transition:none}}
