/*───────────────────────────────────────────────────────────*/
/*─                         vars
/*───────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─
/*─                                                                                     VARS
/*─
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
:root {
  /* Extended colors (supplement theme.json) */
  --color-disabled: #666666;
  --color-disabled-bg: #f5f5f5;

  /* Spacing */
  --spacing-xs: 0.5rem;
  --spacing-sm: 0.75rem;
  --spacing-md: 1rem;
  --spacing-lg: 1.5rem;
  --spacing-xl: 2rem;

  /* Button */
  --btn-padding: 0.875rem 1.5rem;
  --btn-padding-sm: 0.75rem 1.5rem;

  /* Input */
  --input-padding: 0.75rem;

  /* Transitions */
  --transition-fast: 0.15s ease;
}
/*───────────────────────────────────────────────────────────*/
/*─                         base
/*───────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─
/*─                                                                                     BASE
/*─
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
html {
	height: 100%;
}
body {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}
.wp-site-blocks {
	display: flex;
	flex-direction: column;
	flex: 1;
}
main {
	flex: 1;
}
:root :where(.is-layout-flow) > h4 + p {
	margin-block-start: 0;
}
/*───────────────────────────────────────────────────────────*/
/*─                         common
/*───────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─
/*─                                                                                     HEADER
/*─
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*───────────────────────────────────────────────────────────*/
/*─                         gutenberg
/*───────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─
/*─                                                                                     GUTENBERG
/*─
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*───────────────────────────────────────────────────────────*/
/*─                         page
/*───────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─
/*─                                                                                     PAGE
/*─
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/* Template: page-no-title */
.hide-title .wp-block-post-title {
  display: none;
}
/* Template: page-full-width & page-full-width-no-title */
.wp-block-post-content.alignwide.is-layout-constrained
  > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: var(--wp--style--global--wide-size);
}
/* Responsive Grid: Stack columns on mobile */
/*───────────────────────────────────────────────────────────*/
/*─                         post
/*───────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─
/*─                                                                                     POST
/*─
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*───────────────────────────────────────────────────────────*/
/*─                         plugins
/*───────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─
/*─                                                                              EVENT GENIUS BASE
/*─
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/* ==========================================================================
   Reset Plugin Defaults
   ========================================================================== */
.evge-registration-form-wrap,
.evge-cancel-form-wrap {
  background: transparent;
  border-radius: 0;
  padding: 0;
}
/* ==========================================================================
   Modal Base
   ========================================================================== */
.evge-modal,
.evge-modal-content,
.evge-modal-reveal,
.evge-already-registered-modal {
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--black);
}
.evge-modal {
  padding-top: 4rem;
}
/* Modal Close Button */
.evge-modal .evge-button-link.evge-action-modal-close,
.evge-modal .evge-form-modal-close,
#evge-modal .evge-button-link.evge-action-modal-close,
#evge-modal .evge-form-modal-close {
  top: var(--spacing-md);
  right: 1.125rem;
  width: 40px;
  height: 40px;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: opacity var(--transition-fast);
}
.evge-modal .evge-button-link.evge-action-modal-close:hover,
.evge-modal .evge-form-modal-close:hover,
#evge-modal .evge-button-link.evge-action-modal-close:hover,
#evge-modal .evge-form-modal-close:hover {
  opacity: 0.6;
}
.evge-modal .evge-button-link.evge-action-modal-close svg,
.evge-modal .evge-form-modal-close svg,
#evge-modal .evge-button-link.evge-action-modal-close svg,
#evge-modal .evge-form-modal-close svg {
  width: 30px !important;
  height: 30px !important;
}
.evge-modal .evge-button-link.evge-action-modal-close svg path,
.evge-modal .evge-form-modal-close svg path,
#evge-modal .evge-button-link.evge-action-modal-close svg path,
#evge-modal .evge-form-modal-close svg path {
  stroke: var(--wp--preset--color--black) !important;
}
/* ==========================================================================
   Typography
   ========================================================================== */
.evge-modal h3,
.evge-modal .evge-modal-title,
.evge-registration-form-wrap h3,
#evge-modal-title {
  font-family: inherit;
  font-size: var(--wp--preset--font-size--large);
  font-weight: 600;
  margin: 0;
  padding: 0;
  color: var(--wp--preset--color--black);
}
.evge-modal-title strong {
  font-weight: 600;
}
.evge-modal p,
.evge-modal .evge-meta p {
  font-family: inherit;
  font-size: var(--wp--preset--font-size--normal);
  padding: 0;
  margin: 0;
  color: var(--wp--preset--color--black);
}
/* ==========================================================================
   Field Wrapper Structure
   ========================================================================== */
.evge-field-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  margin: 0;
  border: none;
  background: transparent;
}
/* Honeypot field - must be hidden */
.evge-field-wrapper.evge-field-wrapper-type-honeypot {
  display: none !important;
}
.evge-field-inner {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}
/* ==========================================================================
   Labels
   ========================================================================== */
.evge-label-wrapper {
  display: block;
  padding: 0;
}
.evge-label-wrapper label,
#evge-registration-form label,
.evge-cancel-form .evge-label-wrapper label {
  font-family: inherit;
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
  color: var(--wp--preset--color--black);
  line-height: 1.4;
  margin: 0;
  padding: 0;
}
/* ==========================================================================
   Text Inputs & Textareas
   ========================================================================== */
.evge-field-wrapper input[type='text'],
.evge-field-wrapper input[type='email'],
.evge-field-wrapper input[type='tel'],
.evge-field-wrapper input[type='url'],
.evge-field-wrapper input[type='number'],
.evge-field-wrapper input[type='date'],
.evge-field-wrapper input[type='time'],
.evge-field-wrapper input[type='password'],
.evge-field-wrapper select,
.evge-field-wrapper textarea,
#evge-registration-form input[type='text'],
#evge-registration-form input[type='email'],
#evge-registration-form input[type='tel'],
#evge-registration-form select,
#evge-registration-form textarea,
.evge-cancel-form input[type='email'],
#evge-cancel-form input[type='email'] {
  font-family: inherit;
  font-size: var(--wp--preset--font-size--normal);
  padding: var(--input-padding);
  border: 1px solid var(--wp--preset--color--black);
  border-radius: 0;
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--black);
  width: 100%;
  height: auto;
  min-width: auto;
  box-sizing: border-box;
  box-shadow: none;
  margin: 0;
  transition: border-color var(--transition-fast);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.evge-field-wrapper textarea {
  min-height: 120px;
  resize: vertical;
  line-height: 1.5;
}
/* Select Dropdowns */
.evge-field-wrapper select {
  padding-right: 2.5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23000000' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--input-padding) center;
  background-size: 12px;
  cursor: pointer;
}
/* Focus States */
.evge-field-wrapper input:focus,
.evge-field-wrapper textarea:focus,
.evge-field-wrapper select:focus,
.evge-modal .evge-field-wrapper input:focus,
.evge-modal .evge-field-wrapper textarea:focus,
.evge-modal .evge-field-wrapper select:focus,
.evge-cancel-form input[type='email']:focus {
  outline: 2px solid var(--wp--preset--color--black);
  outline-offset: 2px;
  border-color: var(--wp--preset--color--black);
  background-color: var(--wp--preset--color--white);
  color: var(--wp--preset--color--black);
}
/* Placeholder Styles */
.evge-field-wrapper input::-moz-placeholder, .evge-field-wrapper textarea::-moz-placeholder, .evge-cancel-form input[type='email']::-moz-placeholder {
  color: var(--color-disabled);
  opacity: 1;
}
.evge-field-wrapper input::placeholder,
.evge-field-wrapper textarea::placeholder,
.evge-cancel-form input[type='email']::placeholder {
  color: var(--color-disabled);
  opacity: 1;
}
/* ==========================================================================
   Checkbox Styling
   ========================================================================== */
.evge-field-wrapper input[type='checkbox'],
.evge-radio-checkbox-input input[type='checkbox'],
.evge-single-checkbox-wrapper input[type='checkbox'] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--wp--preset--color--black);
  border-radius: 0;
  background: var(--wp--preset--color--white);
  cursor: pointer;
  flex-shrink: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
}
.evge-field-wrapper input[type='checkbox']:checked,
.evge-radio-checkbox-input input[type='checkbox']:checked,
.evge-single-checkbox-wrapper input[type='checkbox']:checked {
  background: var(--wp--preset--color--black);
}
.evge-field-wrapper input[type='checkbox']:checked::after,
.evge-radio-checkbox-input input[type='checkbox']:checked::after,
.evge-single-checkbox-wrapper input[type='checkbox']:checked::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 5px;
  width: 5px;
  height: 9px;
  border: solid var(--wp--preset--color--white);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.evge-field-wrapper input[type='checkbox']:focus,
.evge-radio-checkbox-input input[type='checkbox']:focus,
.evge-single-checkbox-wrapper input[type='checkbox']:focus {
  outline: 2px solid var(--wp--preset--color--black);
  outline-offset: 2px;
}
/* ==========================================================================
   Radio Button Styling
   ========================================================================== */
.evge-field-wrapper input[type='radio'],
.evge-radio-checkbox-input input[type='radio'] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--wp--preset--color--black);
  border-radius: 50%;
  background: var(--wp--preset--color--white);
  cursor: pointer;
  flex-shrink: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
}
.evge-field-wrapper input[type='radio']:checked,
.evge-radio-checkbox-input input[type='radio']:checked {
  border-color: var(--wp--preset--color--black);
}
.evge-field-wrapper input[type='radio']:checked::after,
.evge-radio-checkbox-input input[type='radio']:checked::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--wp--preset--color--black);
}
.evge-field-wrapper input[type='radio']:focus,
.evge-radio-checkbox-input input[type='radio']:focus {
  outline: 2px solid var(--wp--preset--color--black);
  outline-offset: 2px;
}
/* ==========================================================================
   Buttons - Primary
   ========================================================================== */
.evge-form-button,
#evge-registration-submit,
#evge-cancel-submit,
.evge-registration-form-container .evge-form-button,
.evge-cancel-form .evge-form-button {
  font-family: inherit;
  font-size: var(--wp--preset--font-size--small) !important;
  font-weight: 600;
  line-height: 1.5;
  padding: var(--btn-padding) !important;
  border: 1px solid var(--wp--preset--color--black) !important;
  border-radius: 0 !important;
  background: var(--wp--preset--color--black) !important;
  color: var(--wp--preset--color--white) !important;
  cursor: pointer;
  text-transform: none;
  letter-spacing: normal;
  transition: background-color var(--transition-fast), color var(--transition-fast);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.evge-form-button:hover,
#evge-registration-submit:hover,
#evge-cancel-submit:hover,
.evge-registration-form-container .evge-form-button:hover,
.evge-cancel-form .evge-form-button:hover {
  background: var(--wp--preset--color--white) !important;
  color: var(--wp--preset--color--black) !important;
}
.evge-form-button:focus,
#evge-registration-submit:focus,
#evge-cancel-submit:focus {
  outline: 2px solid var(--wp--preset--color--black);
  outline-offset: 2px;
}
/* ==========================================================================
   Buttons - Secondary
   ========================================================================== */
.evge-secondary,
.evge-gray-button {
  background: var(--wp--preset--color--white) !important;
  color: var(--wp--preset--color--black) !important;
}
.evge-secondary:hover,
.evge-gray-button:hover {
  background: var(--wp--preset--color--black) !important;
  color: var(--wp--preset--color--white) !important;
}
/* ==========================================================================
   Field Errors
   ========================================================================== */
.evge-field-error {
  display: none;
  font-family: inherit;
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--black);
  font-weight: 600;
  margin-top: var(--spacing-xs);
}
.evge-field-error span {
  display: block;
}
.evge-field-wrapper.evge-has-error .evge-field-error {
  display: block;
}
.evge-field-wrapper.evge-has-error {
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: var(--wp--preset--color--black);
}
.evge-field-wrapper.evge-has-error input,
.evge-field-wrapper.evge-has-error textarea,
.evge-field-wrapper.evge-has-error select {
  border-width: 2px;
}
/* ==========================================================================
   Disabled States
   ========================================================================== */
.evge-field-wrapper input:disabled,
.evge-field-wrapper textarea:disabled,
.evge-field-wrapper select:disabled,
.evge-cancel-form input:disabled {
  background: var(--color-disabled-bg);
  color: var(--color-disabled);
  cursor: not-allowed;
  opacity: 0.7;
}
.evge-form-button:disabled,
#evge-registration-submit:disabled,
#evge-cancel-submit:disabled {
  background: var(--color-disabled) !important;
  border-color: var(--color-disabled) !important;
  color: var(--wp--preset--color--white) !important;
  cursor: not-allowed;
  opacity: 0.7;
}
/* ==========================================================================
   Loading States
   ========================================================================== */
.evge-form-button.is-loading,
.evge-form-button.evge-loading,
#evge-registration-submit.is-loading,
#evge-cancel-submit.is-loading {
  position: relative;
  color: transparent !important;
  pointer-events: none;
}
.evge-form-button.is-loading::after,
.evge-form-button.evge-loading::after,
#evge-registration-submit.is-loading::after,
#evge-cancel-submit.is-loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  border: 2px solid var(--wp--preset--color--white);
  border-top-color: transparent;
  border-radius: 50%;
  animation: evge-spin 0.8s linear infinite;
}
@keyframes evge-spin {
  to {
    transform: rotate(360deg);
  }
}
/* Form Loading Overlay */
.evge-registration-form.is-loading {
  position: relative;
  pointer-events: none;
}
.evge-registration-form.is-loading::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(254, 254, 254, 0.7);
  z-index: 10;
}
/* ==========================================================================
   Hide Plugin Default Icons
   ========================================================================== */
.evge-registration-form svg.evge-icon,
.evge-field-wrapper svg.evge-icon,
.evge-modal-icon svg,
.evge-icon-text svg {
  display: none;
}
/* Hide Elementor line breaks */
.evge-registration-form br {
  display: none !important;
}
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─
/*─                                                                         EVENT GENIUS CALENDAR
/*─
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/* ==========================================================================
   Event List Container - 3 Column Grid
   ========================================================================== */
.evge-event-calendar.evge-list-layout.evge-calendar-list,
.evge-event-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-xl);
}
/* ==========================================================================
   Event Card
   ========================================================================== */
.evge-event-list-item-wrap {
  display: flex;
  flex: 0 0 calc(33.333% - 1.34rem);
  max-width: calc(33.333% - 1.34rem);
}
.evge-event-list-item {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: var(--spacing-md);
}
/* ==========================================================================
   Event Thumbnail
   ========================================================================== */
.evge-event-list-thumbnail {
  width: 100%;
  overflow: hidden;
}
.evge-event-list-thumbnail a {
  display: block;
}
.evge-event-list-thumbnail img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 16 / 9;
}
/* ==========================================================================
   Date Display
   ========================================================================== */
.evge-event-date {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
  min-width: 120px;
}
.evge-event-month,
.evge-event-year {
  font-size: var(--wp--preset--font-size--small);
  font-weight: 400;
}
.evge-event-month {
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.evge-event-day {
  font-size: var(--wp--preset--font-size--large);
  font-weight: 600;
  line-height: 1;
}
/* ==========================================================================
   Event Content
   ========================================================================== */
.evge-event-list-details {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}
.evge-event-list-details h3 a {
  color: var(--wp--preset--color--black);
  text-decoration: underline;
}
.evge-event-list-details h3 a:hover {
  text-decoration: none;
}
/* ==========================================================================
   Event Meta Info
   ========================================================================== */
.evge-event-list-meta-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-md);
  font-size: var(--wp--preset--font-size--small);
}
.evge-event-meta-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-xs);
}
.evge-event-meta-item svg {
  width: 16px;
  height: 16px;
  stroke: var(--wp--preset--color--black);
  fill: none;
}
.evge-meta-label {
  font-weight: 600;
}
.evge-participant-count,
.evge-event-list-summary {
  font-size: var(--wp--preset--font-size--small);
}
.evge-participant-count {
  font-weight: 600;
}
.evge-event-list-summary {
  line-height: 1.5;
  margin: 0;
}
/* ==========================================================================
   Event Actions / CTAs
   ========================================================================== */
.evge-event-list-actions {
  display: flex;
  gap: var(--spacing-md);
  margin-top: auto;
  padding-top: var(--spacing-md);
}
.evge-event-list-actions a,
.evge-event-list-actions .evge-cta {
  flex: 1;
  display: block !important;
  height: auto !important;
  font-family: inherit;
  font-size: var(--wp--preset--font-size--small) !important;
  font-weight: 600;
  line-height: 1.5 !important;
  text-decoration: none;
  padding: var(--btn-padding) !important;
  margin: 0 !important;
  border: 1px solid var(--wp--preset--color--black) !important;
  border-radius: 0 !important;
  background: var(--wp--preset--color--white) !important;
  color: var(--wp--preset--color--black) !important;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box !important;
}
.evge-event-list-actions a:hover,
.evge-event-list-actions .evge-cta:hover {
  text-decoration: none;
  background: var(--wp--preset--color--black) !important;
  color: var(--wp--preset--color--white) !important;
}
/* Primary CTA Button (Modal Trigger) */
.evge-event-list-actions .evge-cta.evge-modal-trigger {
  background: var(--wp--preset--color--black) !important;
  color: var(--wp--preset--color--white) !important;
}
.evge-event-list-actions .evge-cta.evge-modal-trigger:hover {
  background: var(--wp--preset--color--white) !important;
  color: var(--wp--preset--color--black) !important;
}
/* ==========================================================================
   Responsive - Tablet (2 Column)
   ========================================================================== */
/* ==========================================================================
   Responsive - Mobile (1 Column)
   ========================================================================== */
/* ==========================================================================
   No Events Found State
   ========================================================================== */
.evge-no-events-found {
  padding: var(--spacing-xl);
  text-align: center;
  background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--black);
  border-radius: 0;
  margin: var(--spacing-lg) 0;
}
.evge-no-events-message {
  max-width: 500px;
  margin: 0 auto;
  padding: 0;
  border-radius: 0;
  background-color: transparent;
  border: none;
  color: inherit;
  font-size: inherit;
}
.evge-no-events-message h3 {
  font-size: var(--wp--preset--font-size--large);
  font-weight: 600;
  margin: 0 0 var(--spacing-sm);
  color: var(--wp--preset--color--black);
}
.evge-no-events-description {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--black);
  margin: 0;
  line-height: 1.5;
}
/* Hide icon and action buttons */
.evge-no-events-icon,
.evge-no-events-actions {
  display: none;
}
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─
/*─                                                                         EVENT GENIUS CANCEL
/*─
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/* ==========================================================================
   Cancel Registration Modal Layout
   ========================================================================== */
.evge-single-col-modal-content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
  max-width: 600px;
  margin: 0 auto;
  padding: var(--spacing-xl);
}
/* ==========================================================================
   Event Details Section
   ========================================================================== */
.evge-already-registered-modal .evge-modal-event-details {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
  padding-bottom: var(--spacing-lg);
  border-bottom: 1px solid var(--wp--preset--color--black);
}
.evge-already-registered-modal .evge-modal-date-venue {
  display: flex;
  flex-direction: column;
  gap: 0;
}
/* ==========================================================================
   Cancel Form Wrapper
   ========================================================================== */
.evge-cancel-form-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}
.evge-cancel-form-wrap .evge-modal-section-heading {
  font-family: inherit;
  font-size: var(--wp--preset--font-size--normal);
  font-weight: 600;
  margin: 0;
  padding: 0;
  color: var(--wp--preset--color--black);
}
.evge-cancel-form-wrap p {
  font-family: inherit;
  font-size: var(--wp--preset--font-size--normal);
  line-height: 1.5;
  margin: 0;
  padding: 0;
  color: var(--wp--preset--color--black);
}
/* ==========================================================================
   Cancel Form
   ========================================================================== */
.evge-cancel-form {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-top: var(--spacing-xs);
}
/* Input Wrapper - Email + Button inline */
.evge-cancel-form .evge-input-wrapper {
  display: flex;
  gap: var(--spacing-sm);
  align-items: stretch;
}
/* Email Input - specific flex behavior */
.evge-cancel-form input[type='email'],
#evge-cancel-form input[type='email'] {
  flex: 3;
  min-width: 0;
}
/* Field wrapper full width */
#evge-cancel-form .evge-field-wrapper {
  width: 100%;
  flex: 1;
}
/* Submit Button - specific flex behavior */
.evge-cancel-form .evge-form-button,
.evge-cancel-form #evge-cancel-submit {
  flex: 1;
}
/* ==========================================================================
   Responsive
   ========================================================================== */
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─
/*─                                                                    EVENT GENIUS REGISTRATION
/*─
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/* ==========================================================================
   Reset Plugin Defaults
   ========================================================================== */
.evge-registration-form-wrap .evge-field-wrapper * {
  line-height: 1.5;
  font-size: inherit;
}
.evge-registration-form-container {
  max-width: none;
  background-color: transparent;
  border-radius: 0;
  box-shadow: none;
}
.evge-registration-form-container .evge-registration-form-fields {
  padding: 0;
}
/* ==========================================================================
   Modal Layout - Two Columns
   ========================================================================== */
.evge-modal .evge-cols {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 3rem;
  align-items: start;
}
.evge-modal-col-left {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);
  margin-bottom: 6rem;
}
.evge-modal-col-right {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);
  padding: var(--spacing-lg);
  border: 1px solid var(--wp--preset--color--black);
  background: var(--wp--preset--color--white);
}
/* ==========================================================================
   Modal Title
   ========================================================================== */
.evge-registration-form-wrap h3 {
  margin: 0 0 var(--spacing-md) 0;
}
/* ==========================================================================
   Form Messages
   ========================================================================== */
.evge-form-messages {
  padding: var(--spacing-md);
  margin-bottom: var(--spacing-md);
  font-family: inherit;
  font-size: var(--wp--preset--font-size--normal);
  line-height: 1.5;
  background: var(--color-disabled-bg);
  color: var(--wp--preset--color--black);
}
.evge-form-messages:empty,
.evge-form-messages.evge-screen-reader-text {
  display: none;
}
/* ==========================================================================
   Registration Form Container
   ========================================================================== */
.evge-registration-form-fields {
  border: none;
  padding: 0;
  margin: 0;
  background: transparent;
}
.evge-registration-form-inner .evge-registration-form-fields {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.evge-registration-form,
#evge-registration-form {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);
  width: 100%;
  background: transparent;
  max-width: 100%;
  margin: 0;
  padding: 0;
}
.evge-registration-form-inner {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);
}
.evge-form-fields-information {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
/* ==========================================================================
   Input Wrapper
   ========================================================================== */
.evge-input-wrapper,
.evge-registration-form .evge-input-wrapper {
  display: block;
  gap: 0;
}
/* ==========================================================================
   Checkbox/Radio Group
   ========================================================================== */
.evge-radio-checkbox-inputs-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-xs) var(--spacing-lg);
}
.evge-radio-checkbox-input {
  display: flex;
  align-items: center;
  gap: var(--spacing-xs);
  margin: 0;
}
.evge-radio-checkbox-input label {
  font-family: inherit;
  font-weight: 400;
  cursor: pointer;
  line-height: 1.4;
  font-size: var(--wp--preset--font-size--normal);
  color: var(--wp--preset--color--black);
}
.evge-radio-checkbox-input input {
  margin: 0;
  line-height: 1;
}
/* ==========================================================================
   Single Checkbox (Terms/Consent)
   ========================================================================== */
.evge-single-checkbox-wrapper {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-sm);
}
.evge-single-checkbox-wrapper input[type='checkbox'] {
  margin-top: 3px;
}
.evge-single-checkbox-wrapper label {
  font-family: inherit;
  font-weight: 400;
  cursor: pointer;
  line-height: 1.5;
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--black);
}
.evge-single-checkbox-wrapper label a {
  color: var(--wp--preset--color--black);
  text-decoration: underline;
}
.evge-single-checkbox-wrapper label a:hover {
  text-decoration: none;
}
/* ==========================================================================
   Submit Button Wrapper
   ========================================================================== */
.evge-form-button-wrapper {
  padding: 0;
  margin-top: var(--spacing-xs);
}
.evge-form-button,
#evge-registration-submit,
.evge-registration-form-container .evge-form-button {
  width: 100%;
}
/* ==========================================================================
   Modal Right Column - Event Details
   ========================================================================== */
.evge-modal-event-details {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--spacing-xs);
}
.evge-modal-event-details .evge-meta.evge-meta-minimal {
  margin-bottom: 0;
}
.evge-modal-date-venue {
  display: flex;
  flex-direction: column;
  gap: 0;
}
/* Summary Section */
.evge-modal-col-right h3 {
  font-family: inherit;
  font-size: var(--wp--preset--font-size--normal);
  font-weight: 600;
  margin: 0;
  padding: 0;
  color: var(--wp--preset--color--black);
}
/* ==========================================================================
   Order Summary / Cost Details
   ========================================================================== */
.evge-modal-summary,
.evge-modal-cost-details {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}
.evge-modal-order-detail {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.evge-modal-line-item,
.evge-cost-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: inherit;
  font-size: var(--wp--preset--font-size--small);
  padding: 0.25rem 0;
  color: var(--wp--preset--color--black);
}
.evge-line-item-left {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  color: var(--wp--preset--color--black);
}
.evge-line-item-quantity {
  font-weight: 600;
}
.evge-line-item-name {
  margin-left: 0.25rem;
}
.evge-line-item-right {
  font-weight: 600;
  color: var(--wp--preset--color--black);
}
.evge-line-item-total {
  display: flex;
  align-items: center;
  gap: 0.125rem;
}
/* ==========================================================================
   Responsive - Mobile Adjustments
   ========================================================================== */
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─
/*─                                                                           EVENT GENIUS SINGLE
/*─
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/*─────────────────────────────────────────────────────────────────────────────────────────────────*/
/* ==========================================================================
   Container
   ========================================================================== */
.evge[data-evge-type='single-event'],
.evge-single-event-content,
.evge-single-event-content-wrapper {
  max-width: var(--wp--style--global--wide-size);
  padding: 0;
}
/* ==========================================================================
   Header Columns Layout (Desktop)
   ========================================================================== */
/* ==========================================================================
   Featured Image
   ========================================================================== */
.evge-single-event-featured-image {
  margin-bottom: 0;
}
.evge-single-event-header:empty {
  display: none;
}
.evge-featured-image-wrapper {
  position: relative;
  overflow: hidden;
}
.evge-featured-image-blur {
  display: none;
}
.evge-featured-image-main img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
/* ==========================================================================
   Meta Section
   ========================================================================== */
.evge-meta.evge-meta-minimal {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: var(--spacing-xl);
}
.evge-meta-minimal .evge-event-meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--spacing-xs);
  font-size: var(--wp--preset--font-size--normal);
  padding: 8px 0 0 0;
}
.evge-meta-minimal .evge-meta-label {
  font-weight: 600;
  min-width: 80px;
}
.evge-meta-minimal .evge-event-meta-item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--spacing-xs);
}
.evge-meta-minimal .evge-meta-venue-title a {
  color: var(--wp--preset--color--black);
  text-decoration: underline;
}
.evge-meta-minimal .evge-meta-venue-title a:hover {
  text-decoration: none;
}
/* Hide default plugin icons in meta */
.evge-meta svg,
.evge-single-event-meta svg.evge-icon {
  display: none;
}
/* ==========================================================================
   Column Layout
   ========================================================================== */
.evge-cols {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-xl);
  align-items: flex-start;
}
.evge-event-single-col-left {
  flex: 0 0 calc(66.66% - 1rem);
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
}
.evge-event-single-col-right {
  flex: 0 0 calc(33.33% - 1rem);
  min-width: 0;
  position: sticky;
  top: var(--spacing-xl);
}
.evge-single-event-section {
  margin-bottom: 0;
}
/* ==========================================================================
   CTA Box (Right Sidebar)
   ========================================================================== */
.evge-single-event-cta {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
  padding: var(--spacing-lg);
  margin-top: var(--spacing-xl);
  border: 1px solid var(--wp--preset--color--black);
  background: var(--wp--preset--color--white);
}
.evge-single-event-cost {
  display: none;
}
.evge-single-event-capacity {
  font-size: var(--wp--preset--font-size--large);
  font-weight: 400;
}
/* CTA Button */
.evge-single-event-cta .evge-cta {
  display: block;
  width: 100%;
  font-family: inherit;
  font-size: var(--wp--preset--font-size--normal);
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  padding: var(--btn-padding);
  border: 1px solid var(--wp--preset--color--black);
  border-radius: 0;
  background: var(--wp--preset--color--black) !important;
  color: var(--wp--preset--color--white) !important;
  cursor: pointer;
}
.evge-single-event-cta .evge-cta:hover {
  background: var(--wp--preset--color--white) !important;
  color: var(--wp--preset--color--black) !important;
}
/* Secondary buttons */
.evge-single-event-cta .evge-secondary,
.evge-single-event-cta .evge-gray-button {
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--black);
}
.evge-single-event-cta .evge-secondary:hover,
.evge-single-event-cta .evge-gray-button:hover {
  background: var(--wp--preset--color--black);
  color: var(--wp--preset--color--white);
}
.evge-already-registered {
  font-size: var(--wp--preset--font-size--normal);
}
/* ==========================================================================
   Status Messages
   ========================================================================== */
.evge-single-event-cta .evge-status-message {
  margin-top: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  font-size: var(--wp--preset--font-size--normal);
  text-align: center;
}
.evge-single-event-cta .evge-filled-message {
  font-size: var(--wp--preset--font-size--large);
  background-color: transparent;
  border-color: transparent;
  color: inherit;
  margin-bottom: 0;
}
.evge-registration-closed,
.evge-registration-not-open {
  padding: 0;
  background: transparent;
  color: inherit;
  border-radius: 0;
  margin: 0;
}
.evge-single-event-cta .evge-closed-message {
  background-color: transparent;
  border-color: transparent;
  color: inherit;
}
.evge-single-event-cta .evge-registration-closed .evge-status-message,
.evge-single-event-cta .evge-registration-not-open .evge-status-message {
  font-size: var(--wp--preset--font-size--large);
}
/* ==========================================================================
   Export to Calendar
   ========================================================================== */
.evge-export-list-wrap {
  position: relative;
  width: 100%;
}
.evge-export-list-wrap .evge-export-list,
.evge .evge-secondary.evge-export-list,
.evge-secondary.evge-export-list {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-family: inherit;
  font-size: var(--wp--preset--font-size--normal);
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  padding: var(--btn-padding);
  border: 1px solid var(--wp--preset--color--black) !important;
  border-radius: 0;
  background: var(--wp--preset--color--white) !important;
  color: var(--wp--preset--color--black) !important;
  cursor: pointer;
}
.evge-export-list-wrap .evge-export-list:hover,
.evge .evge-secondary.evge-export-list:hover,
.evge-secondary.evge-export-list:hover {
  background: var(--wp--preset--color--black) !important;
  color: var(--wp--preset--color--white) !important;
}
.evge-export-list-wrap .evge-icon-text svg {
  display: none;
}
/* Export Options Dropdown */
.evge-export-list-wrap .evge-export-options-dropdown {
  left: 0;
  right: 0;
  min-width: 100%;
}
.evge-export-options-dropdown {
  position: absolute;
  display: none;
  margin: var(--spacing-xs) 0 0 0;
  padding: 0;
  border: 1px solid var(--wp--preset--color--black);
  border-radius: 0;
  background: var(--wp--preset--color--white);
  box-shadow: none;
  z-index: 100;
}
.evge-export-options-dropdown a,
.evge-export-options-dropdown .evge-export-option {
  display: block;
  width: 100%;
  padding: var(--spacing-sm) var(--spacing-md);
  font-family: inherit;
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.4;
  color: var(--wp--preset--color--black);
  text-decoration: none;
  background: var(--wp--preset--color--white);
  border: none;
  border-bottom: 1px solid var(--wp--preset--color--black);
  box-sizing: border-box;
}
.evge-export-options-dropdown a:last-child {
  border-bottom: none;
}
/* Override plugin default beige colors */
.evge-beige-background,
#evge-export-options-dropdown .evge-beige,
.evge-export-options-dropdown .evge-beige {
  background: var(--wp--preset--color--white) !important;
  color: var(--wp--preset--color--black) !important;
}
#evge-export-options-dropdown .evge-beige:hover,
.evge-export-options-dropdown .evge-export-option.evge-beige:hover {
  background: var(--wp--preset--color--black) !important;
  color: var(--wp--preset--color--white) !important;
}
/* ==========================================================================
   Responsive - Mobile
   ========================================================================== */
@media (max-width: 768px) {
  .is-layout-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .evge-event-calendar.evge-list-layout.evge-calendar-list {
    flex-direction: column;
  }

  .evge-event-list-item-wrap {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .evge-event-date {
    flex-direction: row;
    gap: var(--spacing-sm);
    align-items: baseline;
  }

  .evge-event-day {
    font-size: var(--spacing-lg);
  }

  .evge-event-list-actions {
    flex-direction: column;
  }
  .evge-single-col-modal-content {
    padding: var(--spacing-lg);
  }

  .evge-cancel-form .evge-input-wrapper {
    flex-direction: column;
    gap: var(--spacing-sm);
  }

  .evge-cancel-form .evge-form-button,
  .evge-cancel-form #evge-cancel-submit {
    width: 100%;
  }

  /* Prevent iOS zoom on focus */
  .evge-cancel-form input[type='email'] {
    font-size: 16px;
  }
  .evge-modal-col-right {
    padding: var(--spacing-md);
  }

  .evge-registration-form-inner .evge-registration-form-fields {
    gap: var(--spacing-md);
  }

  .evge-form-button,
  #evge-registration-submit {
    padding: var(--btn-padding-sm) !important;
  }

  /* Prevent iOS zoom on focus */
  .evge-field-wrapper input[type='text'],
  .evge-field-wrapper input[type='email'],
  .evge-field-wrapper input[type='tel'],
  .evge-field-wrapper textarea,
  .evge-field-wrapper select {
    font-size: 16px;
  }
}
@media (min-width: 769px) and (max-width: 1100px) {
  .evge-event-list-item-wrap {
    flex: 0 0 calc(50% - 1rem);
    max-width: calc(50% - 1rem);
  }
}
@media (max-width: 480px) {
  .evge-single-col-modal-content {
    padding: var(--spacing-md);
    gap: var(--spacing-lg);
  }
  .evge-single-checkbox-wrapper {
    gap: var(--spacing-xs);
  }

  .evge-single-checkbox-wrapper label {
    font-size: 13px;
  }
}
@media (max-width: 900px) {
  .evge-modal .evge-cols {
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
  }

  .evge-modal-col-right {
    order: -1;
    width: 100%;
    margin-bottom: 3rem;
  }
  .evge[data-evge-type='single-event'] {
    padding: 0 !important;
    margin-top: var(--spacing-xl);
  }

  .single-evge_event .wp-block-columns.alignwide {
    flex-direction: column;
  }

  .single-evge_event .wp-block-columns.alignwide > .wp-block-column {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  .evge-cols {
    flex-direction: column;
    align-items: stretch;
  }

  .evge-event-single-col-left,
  .evge-event-single-col-right {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .evge-event-single-col-right {
    position: static;
    order: -1;
  }
}
@media (min-width: 901px) {
  .single-evge_event .wp-block-columns.alignwide {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--spacing-xl);
    align-items: flex-start;
  }

  .single-evge_event .wp-block-columns.alignwide > .wp-block-column:first-child {
    flex: 0 0 66.66%;
    max-width: 66.66%;
  }

  .single-evge_event .wp-block-columns.alignwide > .wp-block-column:last-child {
    flex: 0 0 calc(33.33% - 2rem);
    max-width: calc(33.33% - 2rem);
  }

  /* Pull meta into header area with responsive negative margin */
  .evge-single-event-meta.evge-single-event-section {
    width: calc(66.66% - 1rem);
    margin-top: clamp(-11.5rem, -17.5vw, -5rem);
    position: relative;
    z-index: 1;
  }
}
@media (max-width: 695px) {
  .single-evge_event .evge-is-small .evge-sticky {
    padding: 30px;
  }

  .single-evge_event footer {
    padding-bottom: var(--evge-sticky-height, 0px);
  }
}
