/* Shared birth pickers: visual treatment only; retain the existing
   dialog geometry, option grids, scrolling, focus handling and step sequence. */
body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #timePicker, #locationPicker) .app-dialog-mask {
  background: #2b263d52;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #timePicker, #locationPicker) .app-dialog-surface {
  color: var(--ink-soft, #514a63);
  border-color: var(--line, rgba(121, 89, 188, .14));
  /* Retain the opaque mobile paint layer while allowing this scoped treatment
     through the shared sheet guardrail in site-nav.css. */
  background-color: var(--surface-panel, #ffffff) !important;
  background-image:
    var(--surface-card-gradient, linear-gradient(145deg, #ffffff, #f8f5fc)) !important;
  box-shadow: var(--shadow-card, inset 0 1px 0 #ffffffcc, 0 16px 40px #3e286313);
}

body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #timePicker, #locationPicker) .app-dialog-surface::before {
  inset: 0 0 auto;
  height: 170px;
  border: 0;
  border-radius: inherit;
  background: radial-gradient(ellipse 280px 215px at 100% -34%, transparent 69.5%, rgba(121, 89, 188, .15) 70%, transparent 70.5%);
  pointer-events: none;
}

body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #timePicker, #locationPicker) .dialog-glow {
  border: 0;
  background: radial-gradient(circle, rgba(178, 130, 218, .12), transparent 70%);
  box-shadow: none;
}

body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #timePicker, #locationPicker) .app-dialog-head h3 {
  color: var(--ink, #2b263d);
  text-shadow: none;
}

body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #timePicker, #locationPicker) .dialog-kicker { color: var(--gold, #7959bc); }
body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #timePicker, #locationPicker) .dialog-lead { color: var(--dim, #736b83); }

body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #timePicker, #locationPicker) :is(.calendar-picker-summary, .location-draft-summary) {
  color: var(--gold, #7959bc);
  border-color: var(--line, rgba(121, 89, 188, .14));
  background: var(--surface-control, #fcfaff);
}
body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #locationPicker) :is(.calendar-picker-summary, .location-draft-summary)::before {
  color: var(--gold, #7959bc);
  background: rgba(121, 89, 188, .08);
}

body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #locationPicker) :is(.calendar-picker-tabs, .location-stepper) {
  border-color: var(--line, rgba(121, 89, 188, .14));
  background: var(--surface-control, #fcfaff);
  box-shadow: inset 0 1px 3px #3e28630d;
}
body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #locationPicker) :is(.calendar-picker-tab, .location-step) { color: var(--ink-soft, #514a63); }
body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #locationPicker) :is(.calendar-picker-tab, .location-step) small { color: var(--dim, #736b83); }
body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #locationPicker) :is(.calendar-picker-tab, .location-step).active {
  color: var(--gold, #7959bc);
  border-color: #7959bc78;
  background: linear-gradient(135deg, #f0e8fa, #f2edf9);
  box-shadow: inset 0 1px 0 #ffffffcc;
}
body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #locationPicker) :is(.calendar-picker-tab, .location-step).active > span {
  color: var(--gold, #7959bc);
  border-color: #7959bc78;
  background: linear-gradient(135deg, #f0e8fa, #f2edf9);
}
body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #locationPicker) :is(.calendar-picker-tab, .location-step).active small { color: var(--gold, #7959bc); }

body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #timePicker, #locationPicker) :is(.calendar-picker-option, .time-option, .location-option) {
  color: var(--ink-soft, #514a63);
  border-color: var(--line, rgba(121, 89, 188, .14));
  background: var(--surface-control, #fcfaff);
  box-shadow: inset 0 1px 3px #3e28630d;
}
body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #timePicker, #locationPicker) :is(.calendar-picker-option, .time-option, .location-option):hover {
  color: var(--gold, #7959bc);
  border-color: var(--line-strong, rgba(121, 89, 188, .29));
  background: var(--surface-raised, #f2edf9);
}
body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #timePicker, #locationPicker) :is(.calendar-picker-option, .time-option, .location-option).is-selected {
  color: var(--gold, #7959bc);
  border-color: #7959bc78;
  background: linear-gradient(135deg, #f0e8fa, #f2edf9);
  box-shadow: inset 0 1px 0 #ffffffcc;
}
body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #timePicker, #locationPicker) :is(.time-option, .location-option) small { color: var(--dim, #736b83); }
body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#timePicker, #locationPicker) :is(.time-option, .location-option).is-selected small { color: var(--gold, #7959bc); }
body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) #calendarPicker .calendar-picker-option i { background: #7959bc; }
body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) #calendarPicker .calendar-picker-option i::before { border-color: #ffffff; }
body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) #locationPicker .location-option.is-selected .location-option-check {
  color: #ffffff;
  border-color: #7959bc78;
  background: var(--gold, #7959bc);
  box-shadow: none;
}

body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) #locationPicker .dialog-search {
  border-color: var(--line, rgba(121, 89, 188, .14));
  background: var(--surface-control, #fcfaff);
}
body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) #locationPicker .dialog-search input { color: var(--ink-soft, #514a63); background: transparent; }
body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) #locationPicker .dialog-search input::placeholder { color: var(--faint, #80768f); }

body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #timePicker, #locationPicker) .app-dialog-actions { border-color: var(--line, rgba(121, 89, 188, .14)); }
body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #timePicker, #locationPicker) :is(.dialog-icon-btn, .ghost-btn) {
  color: var(--ink-soft, #514a63);
  border-color: var(--line, rgba(121, 89, 188, .14));
  background: var(--surface-control, #fcfaff);
}
body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #timePicker, #locationPicker) .dialog-text-btn { color: var(--dim, #736b83); }
body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) #locationPicker .dialog-primary-btn {
  color: #ffffff;
  border-color: #7959bc78;
  background: linear-gradient(115deg, #8860c4, #7952b8);
  box-shadow: inset 0 1px 0 #ffffff77, 0 5px 18px #3e28631a;
}

body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) :is(#calendarPicker, #timePicker, #locationPicker) :is(button, input):focus-visible {
  outline: 2px solid var(--gold, #7959bc);
  outline-offset: 2px;
}
body:is([data-orchid-tool="bazi"], [data-orchid-tool="ziwei"]) #locationPicker .dialog-search:focus-within {
  border-color: #7959bc78;
  box-shadow: 0 0 0 3px #7959bc14;
}
