/* ============================================================
   Chez Manou — custom date picker + form enhancements
   Brand: wine on cream, gold highlight, serif numerals.
   ============================================================ */

.datepicker{ position:relative; }

/* trigger button (replaces the native date input look) */
.dp-trigger{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px;
  font-family:var(--body); font-size:16px; color:var(--ink); cursor:pointer;
  background:transparent; border:0; border-bottom:1px solid var(--hairline-2);
  padding:11px 2px; text-align:left; transition:border-color .2s;
}
.dp-trigger:hover{ border-bottom-color:var(--wine); }
.dp-trigger[aria-expanded="true"]{ border-bottom:2px solid var(--wine); padding-bottom:10px; }
.dp-value{ color:var(--ink-mute); }
.dp-value.set{ color:var(--ink); font-family:var(--display); font-size:19px; }
.dp-cal-icon{ color:var(--wine); flex-shrink:0; display:flex; }
.dp-cal-icon svg{ width:18px; height:18px; display:block; }

/* popover */
.dp-pop{
  position:absolute; z-index:60; top:calc(100% + 10px); left:0; width:min(330px,92vw);
  background:var(--paper); border:1px solid var(--hairline-2);
  box-shadow:0 26px 60px -28px rgba(46,35,32,0.55); padding:18px 18px 20px;
  opacity:0; transform:translateY(-6px) scale(.99); transform-origin:top left;
  transition:opacity .18s ease, transform .18s ease; pointer-events:none;
}
.dp-pop.open{ opacity:1; transform:none; pointer-events:auto; }
.dp-pop::before{ /* double-rule brand frame */
  content:""; position:absolute; inset:6px; border:1px solid var(--wine); opacity:.16; pointer-events:none;
}

.dp-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.dp-title{ font-family:var(--display); font-size:21px; font-weight:500; color:var(--wine); letter-spacing:.01em; text-transform:capitalize; }
.dp-nav{ background:transparent; border:1px solid var(--hairline-2); width:32px; height:32px; cursor:pointer;
  display:flex; align-items:center; justify-content:center; color:var(--ink); border-radius:2px; transition:.18s; }
.dp-nav:hover:not(:disabled){ background:var(--wine); border-color:var(--wine); color:var(--paper); }
.dp-nav:disabled{ opacity:.3; cursor:not-allowed; }
.dp-nav svg{ width:14px; height:14px; }

.dp-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px; }
.dp-dow{ font-family:var(--body); font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-mute); text-align:center; padding:6px 0 8px; }
.dp-day{
  aspect-ratio:1; display:flex; align-items:center; justify-content:center;
  font-family:var(--display); font-size:16px; color:var(--ink); background:transparent;
  border:0; cursor:pointer; border-radius:50%; transition:background .15s, color .15s; position:relative;
}
.dp-day:hover:not(:disabled){ background:var(--wine-soft); }
.dp-day.is-today{ color:var(--wine); font-weight:600; }
.dp-day.is-today::after{ content:""; position:absolute; bottom:6px; width:4px; height:4px; border-radius:50%; background:var(--gold); }
.dp-day.is-selected{ background:var(--wine); color:var(--paper); }
.dp-day.is-selected.is-today::after{ background:var(--paper); }
.dp-day:disabled{ color:var(--hairline-2); cursor:not-allowed; }
.dp-day.is-empty{ pointer-events:none; }

.dp-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:14px; padding-top:12px; border-top:1px solid var(--hairline); }
.dp-today-btn{ font-family:var(--body); font-size:12px; letter-spacing:.04em; color:var(--wine); background:none; border:0; cursor:pointer; padding:4px; }
.dp-today-btn:hover{ text-decoration:underline; }
.dp-hint{ font-family:var(--mono); font-size:10px; letter-spacing:.1em; color:var(--ink-mute); text-transform:uppercase; }

/* ---- custom select chevron (applies site-wide via brand .field select) ---- */
.field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238A2A33' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 4px center; padding-right:26px; cursor:pointer;
}

/* ---- laurel sprig ornament (from the brand card) ---- */
.sprig{ display:inline-flex; align-items:center; justify-content:center; color:var(--wine); }
.sprig svg{ display:block; }
.sprig.gold{ color:var(--gold); }
.sprig.paper{ color:var(--paper); }
