/* CHI Event Off-canvas forms: registration + ticket purchase */

.e-off-canvas[aria-label="CHI Event Registration Form"] .e-off-canvas__main,
.e-off-canvas[aria-label="Event Ticket Purchase"] .e-off-canvas__main {
  background: transparent;
  box-shadow: none;
  max-height: 100vh;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

.e-off-canvas[aria-label="CHI Event Registration Form"] .e-off-canvas__content,
.e-off-canvas[aria-label="Event Ticket Purchase"] .e-off-canvas__content {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.e-off-canvas[aria-label="CHI Event Registration Form"] .elementor-widget-icon,
.e-off-canvas[aria-label="Event Ticket Purchase"] .elementor-widget-icon {
  position: fixed;
  top: 1.5rem;
  right: 1.75rem;
  z-index: 12000;
}

#chi_event_registration .elementor-widget-container,
#chi_event_ticket .elementor-widget-container {
  padding: 0;
}

.e-off-canvas[aria-label="CHI Event Registration Form"] .e-off-canvas__content > .elementor-element,
.e-off-canvas[aria-label="Event Ticket Purchase"] .e-off-canvas__content > .elementor-element {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 2.25rem 2.5rem 2.75rem;
  background: #fff;
  border-radius: 26px;
  box-shadow: 0 26px 80px rgba(15, 23, 42, 0.34);
  overflow: visible !important;
}

#chi_event_registration .elementor-form::before,
#chi_event_registration .elementor-form::after,
#chi_event_ticket .elementor-form::before,
#chi_event_ticket .elementor-form::after {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  border-radius: 999px;
  filter: blur(42px);
  opacity: 0.55;
  pointer-events: none;
  z-index: -1;
}

#chi_event_registration .elementor-form-fields-wrapper,
#chi_event_ticket .elementor-form-fields-wrapper {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem 1.25rem;
}

#chi_event_registration .elementor-form .elementor-field-group,
#chi_event_ticket .elementor-form .elementor-field-group {
  margin: 0;
  width: 100%;
}

#chi_event_registration .elementor-form .elementor-field-group.elementor-col-25,
#chi_event_ticket .elementor-form .elementor-field-group.elementor-col-25 {
  grid-column: span 3;
}

#chi_event_registration .elementor-form .elementor-field-group.elementor-col-33,
#chi_event_ticket .elementor-form .elementor-field-group.elementor-col-33 {
  grid-column: span 4;
}

#chi_event_registration .elementor-form .elementor-field-group.elementor-col-50,
#chi_event_ticket .elementor-form .elementor-field-group.elementor-col-50 {
  grid-column: span 6;
}

#chi_event_registration .elementor-form .elementor-field-group.elementor-col-100,
#chi_event_registration .elementor-form .e-form__buttons,
#chi_event_ticket .elementor-form .elementor-field-group.elementor-col-100,
#chi_event_ticket .elementor-form .e-form__buttons {
  grid-column: span 12;
}

#chi_event_registration .elementor-field-label,
#chi_event_ticket .elementor-field-label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #6b7280;
  margin-bottom: 0.3rem;
}

#chi_event_registration .elementor-field-group:focus-within .elementor-field-label,
#chi_event_ticket .elementor-field-group:focus-within .elementor-field-label {
  color: #111827;
}

#chi_event_registration .elementor-mark-required .elementor-field-label::after,
#chi_event_ticket .elementor-mark-required .elementor-field-label::after {
  content: " *";
  color: #ef4444;
}

#chi_event_registration .elementor-field-textual,
#chi_event_registration .elementor-select-wrapper select,
#chi_event_ticket .elementor-field-textual,
#chi_event_ticket .elementor-select-wrapper select {
  width: 100%;
  border-radius: 0.75rem;
  border: 1px solid #e5e7eb;
  background: #f9fafb;
  padding: 0.65rem 0.9rem;
  font-size: 0.95rem;
  line-height: 1.4;
  color: #111827;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease, transform 0.1s ease;
}

#chi_event_registration .elementor-field-textual::placeholder,
#chi_event_registration .elementor-select-wrapper select:invalid,
#chi_event_ticket .elementor-field-textual::placeholder,
#chi_event_ticket .elementor-select-wrapper select:invalid {
  color: #9ca3af;
}

#chi_event_registration .elementor-field-group:hover .elementor-field-textual,
#chi_event_registration .elementor-field-group:hover .elementor-select-wrapper select,
#chi_event_ticket .elementor-field-group:hover .elementor-field-textual,
#chi_event_ticket .elementor-field-group:hover .elementor-select-wrapper select {
  border-color: #d1d5db;
}

#chi_event_registration .elementor-field-textual:focus,
#chi_event_registration .elementor-select-wrapper select:focus,
#chi_event_ticket .elementor-field-textual:focus,
#chi_event_ticket .elementor-select-wrapper select:focus {
  outline: none;
  border-color: #ea580c;
  background-color: #fff;
  box-shadow: 0 0 0 1px #ea580c, 0 0 0 4px rgba(234, 88, 12, 0.16);
  transform: translateY(-1px);
}

#chi_event_registration .elementor-select-wrapper,
#chi_event_ticket .elementor-select-wrapper {
  border-radius: 0.75rem;
  overflow: hidden;
}

#chi_event_registration .elementor-select-wrapper .select-caret-down-wrapper,
#chi_event_ticket .elementor-select-wrapper .select-caret-down-wrapper {
  right: 0.75rem;
}

#chi_event_registration .elementor-field-group-dob,
#chi_event_ticket .elementor-field-group-dob {
  position: relative;
}

#chi_event_registration .elementor-date-field,
#chi_event_ticket .elementor-date-field {
  cursor: pointer;
}

#chi_event_registration .chi-field-error .elementor-field-textual,
#chi_event_ticket .chi-field-error .elementor-field-textual {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 1px #dc2626, 0 0 0 4px rgba(220, 38, 38, 0.15) !important;
}

#chi_event_registration .chi-phone-error,
#chi_event_registration .chi-email-error,
#chi_event_registration .chi-zip-error,
#chi_event_ticket .chi-phone-error,
#chi_event_ticket .chi-email-error,
#chi_event_ticket .chi-zip-error {
  margin-top: 0.25rem;
  font-size: 0.78rem;
  color: #b91c1c;
}

#chi_event_registration .elementor-message.elementor-message-danger,
#chi_event_ticket .elementor-message.elementor-message-danger {
  background: #fef2f2;
  color: #b91c1c;
  border-radius: 0.75rem;
  padding: 0.75rem 1rem;
  font-size: 0.8rem;
}

#chi_event_registration .e-form__buttons,
#chi_event_ticket .e-form__buttons {
  margin-top: 1.75rem;
}

#chi_event_registration .e-form__buttons .elementor-button,
#chi_event_ticket .e-form__buttons .elementor-button {
  width: 100%;
  border-radius: 999px;
  padding: 0.9rem 1.5rem;
  border: none;
  background-image: linear-gradient(90deg, #ea580c, #f97316);
  color: #fff;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  box-shadow: 0 16px 40px rgba(234, 88, 12, 0.35);
  transition: transform 0.1s ease, box-shadow 0.1s ease, filter 0.1s ease;
}

#chi_event_registration .e-form__buttons .elementor-button:hover,
#chi_event_ticket .e-form__buttons .elementor-button:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  box-shadow: 0 20px 55px rgba(234, 88, 12, 0.45);
}

#chi_event_registration .e-form__buttons .elementor-button:active,
#chi_event_ticket .e-form__buttons .elementor-button:active {
  transform: translateY(0);
  box-shadow: 0 10px 30px rgba(234, 88, 12, 0.35);
}

.flatpickr-calendar,
.flatpickr-calendar.open {
  z-index: 9999999999 !important;
}

@media (max-width: 768px) {
  .e-off-canvas[aria-label="CHI Event Registration Form"] .e-off-canvas__content,
  .e-off-canvas[aria-label="Event Ticket Purchase"] .e-off-canvas__content {
    align-items: flex-start;
    padding: 1.5rem 0.75rem;
  }

  .e-off-canvas[aria-label="CHI Event Registration Form"] .e-off-canvas__content > .elementor-element,
  .e-off-canvas[aria-label="Event Ticket Purchase"] .e-off-canvas__content > .elementor-element {
    padding: 1.8rem 1.4rem 2.1rem;
    margin: 3rem;
    border-radius: 22px;
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.35);
  }

  #chi_event_registration .elementor-form-fields-wrapper,
  #chi_event_ticket .elementor-form-fields-wrapper {
    grid-template-columns: minmax(0, 1fr);
    column-gap: 0.75rem;
    row-gap: 0.85rem;
  }

  #chi_event_registration .elementor-form .elementor-field-group,
  #chi_event_registration .elementor-form .elementor-field-group.elementor-col-25,
  #chi_event_registration .elementor-form .elementor-field-group.elementor-col-33,
  #chi_event_registration .elementor-form .elementor-field-group.elementor-col-50,
  #chi_event_registration .elementor-form .elementor-field-group.elementor-col-100,
  #chi_event_registration .elementor-form .e-form__buttons,
  #chi_event_ticket .elementor-form .elementor-field-group,
  #chi_event_ticket .elementor-form .elementor-field-group.elementor-col-25,
  #chi_event_ticket .elementor-form .elementor-field-group.elementor-col-33,
  #chi_event_ticket .elementor-form .elementor-field-group.elementor-col-50,
  #chi_event_ticket .elementor-form .elementor-field-group.elementor-col-100,
  #chi_event_ticket .elementor-form .e-form__buttons {
    grid-column: 1 / -1 !important;
  }
}
