/**
 * Darkyn Elementor Freedom Layer
 * Keeps the theme's visual defaults as fallbacks while allowing Elementor
 * document, container and widget controls to take priority.
 */

/* Let Elementor pages own the canvas instead of the theme forcing a site-wide image/cursor. */
body.darkyn-elementor-page {
  background-image: none;
  background-color: var(--black, #000);
  color: var(--e-global-color-text, #fff);
  font-family: var(--e-global-typography-text-font-family, Clashdisplay, sans-serif);
  font-size: var(--e-global-typography-text-font-size, 22px);
  font-weight: var(--e-global-typography-text-font-weight, 400);
  line-height: var(--e-global-typography-text-line-height, 1.35);
  cursor: auto;
}

/* Elementor can still use the Darkyn custom cursor on non-Elementor templates. */
body.darkyn-elementor-page .cursor,
body.darkyn-elementor-page .cursor-follower {
  display: none;
}

/* Prevent old Section/Column CSS from injecting unwanted spacing into modern Elementor layouts. */
body.darkyn-elementor-page .elementor-section .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
  padding: var(--padding-top, 0) var(--padding-right, 0) var(--padding-bottom, 0) var(--padding-left, 0);
}

/* Theme typography remains a fallback. Elementor widget/global styles can override it normally. */
body.darkyn-elementor-page :where(.elementor-widget-text-editor p) {
  margin-top: 0;
}

/* Restore real list behaviour inside Elementor content. The theme previously removed bullets globally. */
body.darkyn-elementor-page :where(.elementor-widget-text-editor, .elementor-widget-theme-post-content) ul {
  list-style: disc;
  padding-inline-start: 1.5em;
}

body.darkyn-elementor-page :where(.elementor-widget-text-editor, .elementor-widget-theme-post-content) ol {
  list-style: decimal;
  padding-inline-start: 1.5em;
}

body.darkyn-elementor-page :where(.elementor-widget-text-editor, .elementor-widget-theme-post-content) li {
  list-style: inherit;
}

/* Make media respect the Elementor container instead of overflowing because of theme rules. */
body.darkyn-elementor-page .elementor img,
body.darkyn-elementor-page .elementor video,
body.darkyn-elementor-page .elementor iframe {
  max-width: 100%;
}

/* Forms should inherit Elementor typography unless a widget explicitly sets it. */
body.darkyn-elementor-page .elementor :where(input, textarea, select, button) {
  font-family: inherit;
}

/* Better editor behaviour, animations and custom cursor must not interfere with selecting elements. */
body.elementor-editor-active,
body.elementor-editor-active * {
  cursor: auto;
}

body.elementor-editor-active .cursor,
body.elementor-editor-active .cursor-follower {
  display: none !important;
}

/* Smooth, predictable sizing for all Elementor descendants. */
body.darkyn-elementor-page .elementor,
body.darkyn-elementor-page .elementor *,
body.darkyn-elementor-page .elementor *::before,
body.darkyn-elementor-page .elementor *::after {
  box-sizing: border-box;
}

@media (prefers-reduced-motion: reduce) {
  body.darkyn-elementor-page .elementor *,
  body.darkyn-elementor-page .elementor *::before,
  body.darkyn-elementor-page .elementor *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
