/* ── JV EDITORIAL DATE PICKER · PRESENTATION ONLY ──
   Mantiene los inputs y valores existentes; sustituye únicamente
   la interfaz nativa del navegador por el calendario editorial JV. ── */
.jv-date-input{
  position:relative;
  min-height:48px;
  padding:13px 42px 13px 0!important;
  border-bottom:1px solid var(--cd)!important;
  color:var(--ink)!important;
  cursor:pointer!important;
  caret-color:transparent;
  background-color:transparent!important;
  background-repeat:no-repeat;
  background-position:right 3px center;
  background-size:18px 18px;
  transition:border-color .45s var(--e),box-shadow .45s var(--e),color .35s var(--e)!important;
}
.jv-date-input[type=date],
.jv-date-input[type=month]{
  -webkit-appearance:none!important;
  appearance:none!important;
}
.jv-date-input::-webkit-calendar-picker-indicator{display:none!important;opacity:0!important;width:0!important;height:0!important}
.jv-date-input::-webkit-inner-spin-button{display:none!important}
.jv-date-input:focus,
.jv-date-input:hover{
  border-bottom-color:var(--gold)!important;
}
.jv-date-input:focus{box-shadow:0 1px 0 var(--gold)!important;outline:none!important}
.jv-date-input:not(:placeholder-shown){color:var(--ink)!important}
.jv-date-input[data-jv-empty=true]{color:var(--ink4)!important}
.jv-date-input[data-jv-empty=true]::placeholder{color:var(--ink4)!important}
.jv-date-input[data-jv-empty=true]{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238F795A' stroke-width='1.25'%3E%3Crect x='3.5' y='5.5' width='17' height='15' rx='1'/%3E%3Cpath d='M7 3.5v4M17 3.5v4M3.5 9.5h17'/%3E%3C/svg%3E");
}
.jv-date-input[data-jv-empty=false]{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238F795A' stroke-width='1.25'%3E%3Crect x='3.5' y='5.5' width='17' height='15' rx='1'/%3E%3Cpath d='M7 3.5v4M17 3.5v4M3.5 9.5h17'/%3E%3C/svg%3E");
}
.jv-date-picker{
  position:fixed;
  z-index:1700;
  width:min(344px,calc(100vw - 32px));
  padding:22px;
  background:#F6F4EF;
  color:#171715;
  border:1px solid rgba(143,121,90,.24);
  box-shadow:0 24px 70px rgba(15,14,12,.20),0 2px 8px rgba(15,14,12,.05);
  opacity:0;
  transform:translateY(-5px) scale(.985);
  pointer-events:none;
  transition:opacity .24s var(--e),transform .24s var(--e);
}
.jv-date-picker.is-open{opacity:1;transform:none;pointer-events:auto}
.jv-date-picker::before{
  content:'';
  display:block;
  width:28px;height:1px;
  margin:0 0 15px;
  background:#B8935F;
}
.jv-date-picker-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:17px;
}
.jv-date-picker-month{
  font-family:'Playfair Display',serif;
  font-size:1.28rem;
  font-weight:300;
  line-height:1.15;
  letter-spacing:-.15px;
}
.jv-date-picker-year{
  display:block;
  margin-top:3px;
  font-family:'Inter',sans-serif;
  font-size:.47rem;
  letter-spacing:3px;
  text-transform:uppercase;
  color:#777067;
}
.jv-date-picker-nav{
  display:flex;
  gap:6px;
}
.jv-date-picker-nav button{
  width:30px;height:30px;
  padding:0;
  border:1px solid rgba(143,121,90,.20);
  border-radius:50%;
  background:transparent;
  color:#3B3935;
  cursor:pointer;
  font:300 16px/1 'Inter',sans-serif;
  transition:border-color .25s var(--e),background .25s var(--e),color .25s var(--e),transform .25s var(--e);
}
.jv-date-picker-nav button:hover{border-color:#B8935F;background:rgba(184,147,95,.08);color:#171715;transform:translateY(-1px)}
.jv-date-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:3px;
}
.jv-date-weekday{
  padding:0 0 8px;
  text-align:center;
  font:300 .43rem/1 'Inter',sans-serif;
  letter-spacing:1.4px;
  text-transform:uppercase;
  color:#8A8278;
}
.jv-date-day{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  aspect-ratio:1;
  border:1px solid transparent;
  background:transparent;
  color:#292722;
  cursor:pointer;
  font:300 .67rem/1 'Inter',sans-serif;
  transition:background .20s var(--e),border-color .20s var(--e),color .20s var(--e),transform .20s var(--e);
}
.jv-date-day:hover{border-color:rgba(184,147,95,.45);background:rgba(184,147,95,.07);transform:translateY(-1px)}
.jv-date-day.is-muted{color:#B6B0A7}
.jv-date-day.is-today::after{
  content:'';
  position:absolute;
  left:50%;bottom:4px;
  width:3px;height:3px;
  transform:translateX(-50%);
  border-radius:50%;
  background:#B8935F;
}
.jv-date-day.is-selected{
  background:#171715;
  color:#F6F4EF;
  border-color:#171715;
}
.jv-date-day.is-selected::after{background:#F6F4EF}
.jv-date-day.is-selected:hover{background:#2A2926;border-color:#2A2926}
.jv-date-picker-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:17px;
  padding-top:13px;
  border-top:1px solid rgba(143,121,90,.15);
}
.jv-date-picker-hint{
  font:300 .46rem/1.5 'Inter',sans-serif;
  letter-spacing:.8px;
  color:#817A71;
}
.jv-date-picker-today{
  border:0;
  background:none;
  padding:0;
  color:#7E684A;
  cursor:pointer;
  font:300 .46rem/1.5 'Inter',sans-serif;
  letter-spacing:1.6px;
  text-transform:uppercase;
}
.jv-month-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
}
.jv-month-option{
  min-height:52px;
  padding:7px 5px;
  border:1px solid rgba(143,121,90,.17);
  background:transparent;
  color:#393631;
  cursor:pointer;
  font:300 .57rem/1.25 'Inter',sans-serif;
  transition:border-color .22s var(--e),background .22s var(--e),color .22s var(--e),transform .22s var(--e);
}
.jv-month-option:hover{border-color:rgba(184,147,95,.48);background:rgba(184,147,95,.07);transform:translateY(-1px)}
.jv-month-option.is-selected{background:#171715;color:#F6F4EF;border-color:#171715}
.jv-month-option strong{display:block;margin-top:3px;font-family:'Playfair Display',serif;font-size:.78rem;font-weight:300}
.jv-month-option small{display:block;color:#8A8278;font-size:.42rem;letter-spacing:1.4px;text-transform:uppercase}
.jv-month-option.is-selected small{color:rgba(246,244,239,.58)}

@media(max-width:680px){
  .jv-date-picker{padding:18px;width:min(344px,calc(100vw - 24px));}
  .jv-date-picker-month{font-size:1.18rem}
  .jv-date-day{font-size:.64rem}
  .jv-month-option{min-height:49px}
}

/* ── DATE PICKER · YEAR SELECT + RESPONSIVE CONTAINMENT ── */
.jv-date-picker-year-btn{
  display:block;
  margin-top:3px;
  padding:0;
  border:0;
  background:none;
  color:#777067;
  cursor:pointer;
  font:300 .47rem/1 'Inter',sans-serif;
  letter-spacing:3px;
  text-transform:uppercase;
}
.jv-date-picker-year-btn:hover{color:#7E684A;text-decoration:underline;text-underline-offset:4px}
.jv-date-picker-year-range{
  display:block;
  margin-top:3px;
  font:300 .47rem/1 'Inter',sans-serif;
  letter-spacing:3px;
  color:#777067;
}
.jv-year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.jv-year-option{
  min-height:48px;padding:8px 5px;border:1px solid rgba(143,121,90,.17);
  background:transparent;color:#393631;cursor:pointer;
  font:300 .67rem/1 'Inter',sans-serif;
  transition:border-color .22s var(--e),background .22s var(--e),color .22s var(--e),transform .22s var(--e);
}
.jv-year-option:hover{border-color:rgba(184,147,95,.48);background:rgba(184,147,95,.07);transform:translateY(-1px)}
.jv-year-option.is-selected{background:#171715;color:#F6F4EF;border-color:#171715}
.jv-date-picker-back{margin-top:14px;padding-top:12px;border-top:1px solid rgba(143,121,90,.15)}
.jv-date-picker-back button{padding:0;border:0;background:none;color:#7E684A;cursor:pointer;font:300 .46rem/1.5 'Inter',sans-serif;letter-spacing:1.5px;text-transform:uppercase}
.jv-date-picker-back button:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:680px){
  .jv-date-picker{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
  .jv-year-option{min-height:44px}
}
