#horoscope-form .hm-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-bottom: 16px !important;
  align-items: end;
}
#horoscope-form .hm-row.hm-row-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
#horoscope-form .hm-row.hm-row-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
#horoscope-form .hm-row.hm-row-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
#horoscope-form .hm-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  min-width: 0;
}
#horoscope-form .hm-picker-shell { position: relative; min-height: 46px; }
#horoscope-form .hm-picker-proxy { display: none !important; }
#horoscope-form .hm-field label { margin: 0; font-weight: 600; }
#horoscope-form .hm-field input,
#horoscope-form .hm-field select,
#horoscope-form .hm-picker-proxy {
  width: 100%;
  max-width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid #d8d8d8;
  border-radius: 8px;
  box-sizing: border-box;
  background: #fff;
  line-height: 1.2;
  font-size: 16px;
  color: #111827;
}
#horoscope-form .hm-field select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
#horoscope-form .hm-field input[type="date"],
#horoscope-form .hm-field input[type="time"] {
  appearance: auto;
  -webkit-appearance: auto;
  -moz-appearance: auto;
  min-width: 0;
  overflow: hidden;
  padding: 10px 12px;
  width: 100% !important;
  max-width: 100% !important;
  display: block;
}
#horoscope-form .hm-loader-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 20px;
  text-align: left;
}
#horoscope-form .hm-loader-spinner {
  width: 50px;
  height: 50px;
  border: 5px solid #f3f3f3;
  border-top: 5px solid #007bff;
  border-radius: 50%;
  flex: 0 0 50px;
  animation: hm-loader-spin 1s linear infinite;
}
#horoscope-form .hm-loader-text {
  white-space: nowrap;
  animation: none !important;
  transform: none !important;
}
@keyframes hm-loader-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@media (max-width: 1024px) {
  #horoscope-form .hm-row,
  #horoscope-form .hm-row.hm-row-2,
  #horoscope-form .hm-row.hm-row-3,
  #horoscope-form .hm-row.hm-row-4,
  #horoscope-form .hm-row.hm-row-1[style],
  #horoscope-form .hm-row.hm-row-2[style],
  #horoscope-form .hm-row.hm-row-3[style],
  #horoscope-form .hm-row.hm-row-4[style] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  #horoscope-form .hm-row,
  #horoscope-form .hm-row.hm-row-2,
  #horoscope-form .hm-row.hm-row-3,
  #horoscope-form .hm-row.hm-row-4,
  #horoscope-form .hm-row[style] {
    grid-template-columns: 1fr !important;
  }
  #horoscope-form .hm-field input,
  #horoscope-form .hm-field select,
  #horoscope-form .hm-picker-proxy {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 48px;
    font-size: 16px;
  }
  #horoscope-form .hm-picker-shell input[type="date"],
  #horoscope-form .hm-picker-shell input[type="time"] {
    position: absolute;
    inset: 0;
    opacity: 0.01;
    z-index: 2;
  }
  #horoscope-form .hm-picker-proxy {
    display: flex !important;
    align-items: center;
    color: #9ca3af;
    position: relative;
    z-index: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  #horoscope-form .hm-picker-shell.has-value .hm-picker-proxy { color: #111827; }
}
