/* Shared date calendar — admin panel and public website */
.cal-field { position: relative; display: inline-flex; vertical-align: middle; max-width: 100%; }
.cal-field.is-block { display: flex; width: 100%; }
.cal-btn {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 10px;
  min-width: 148px; min-height: 42px; padding: 8px 12px; width: auto;
  border: 1px solid #d9d4e3; border-radius: 12px; background: #fff; color: #1f1a26;
  font: 600 .92rem/1.2 Poppins, sans-serif; cursor: pointer; text-align: left;
}
.cal-field.is-block .cal-btn { width: 100%; }
.cal-btn .ph { color: #9a93a6; font-weight: 500; }
.cal-btn svg { width: 16px; height: 16px; flex: none; color: #dc1785; }
.cal-btn:hover, .cal-btn:focus { border-color: #dc1785; outline: none; box-shadow: 0 0 0 3px rgba(220, 23, 133, .12); }
.field .cal-btn, .fields .cal-btn {
  min-height: 48px; padding: 12px 16px; border-radius: 12px; border-width: 1.5px;
  background: #fffafc; font-weight: 500;
}
.cal-native {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important; border: 0 !important; opacity: 0 !important;
  pointer-events: none !important;
}
.cal-pop, .cal-inline {
  width: min(320px, calc(100vw - 16px)); background: #fff; color: #1f1a26;
  border: 1px solid #f0e3eb; border-radius: 18px;
  box-shadow: 0 18px 50px rgba(27, 23, 34, .16); padding: 14px 14px 10px;
  font-family: Poppins, sans-serif;
}
.cal-pop { position: fixed; z-index: 200; }
.cal-inline { box-shadow: none; border: 1px solid #f0e3eb; margin: 8px 0 18px; }
.cal-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.cal-head b { font-size: .95rem; font-weight: 700; letter-spacing: -.02em; }
.cal-nav {
  width: 34px; height: 34px; border-radius: 10px; border: 1px solid #f0e3eb; background: #fff;
  color: #1f1a26; cursor: pointer; display: grid; place-items: center; padding: 0;
}
.cal-nav svg { width: 14px; height: 14px; }
.cal-nav:hover { border-color: #dc1785; color: #dc1785; }
.cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.cal-dow { text-align: center; font-size: .68rem; font-weight: 700; color: #8b8496; padding: 4px 0 6px; }
.cal-day {
  height: 36px; border: 0; border-radius: 10px; background: transparent; color: #1f1a26;
  font: 600 .84rem Poppins, sans-serif; cursor: pointer; padding: 0;
}
.cal-day:hover:not(:disabled) { background: #fde8f3; }
.cal-day.is-today { box-shadow: inset 0 0 0 1.5px #dc1785; }
.cal-day.is-sel, .cal-day.is-sel:hover { background: #dc1785; color: #fff; box-shadow: none; }
.cal-day:disabled { color: #d5d0dc; cursor: default; background: transparent; }
.cal-foot { display: flex; justify-content: space-between; margin-top: 8px; }
.cal-link {
  border: 0; background: transparent; color: #dc1785; font: 600 .8rem Poppins, sans-serif;
  cursor: pointer; padding: 6px 4px;
}
.cal-link:disabled { color: #c8c2d0; cursor: default; }
.pd-datebox .cal-field { width: 156px; flex: none; }
.pd-datebox .cal-btn { min-height: 42px; background: #fff; }
.fu-nav .cal-btn { min-height: 38px; border: 0; background: #faf9fb; }
html[data-theme=dark] .cal-btn,
html[data-theme=dark] .cal-pop,
html[data-theme=dark] .cal-inline,
html[data-theme=dark] .cal-nav { background: #1d1828; color: #ece9f3; border-color: #3d3550; }
html[data-theme=dark] .cal-btn .ph,
html[data-theme=dark] .cal-dow { color: #9a93aa; }
html[data-theme=dark] .cal-day { color: #ece9f3; }
html[data-theme=dark] .cal-day:hover:not(:disabled) { background: #3a1830; }
html[data-theme=dark] .cal-day:disabled { color: #5c5468; }
html[data-theme=dark] .pd-datebox .cal-btn,
html[data-theme=dark] .fu-nav .cal-btn { background: #241824; }
