/* ---------------------------------------------------------------
   sk-base: loads after Elementor, before site.css.
   Turns Elementor containers (.sk-c) into plain boxes so site.css
   lays them out exactly like the original HTML elements.
   --------------------------------------------------------------- */
.sk-c {
  display: block;
  margin: 0;
  padding: 0;
  gap: normal;
  min-height: 0;
  min-width: 0;
  width: auto;
  max-width: none;
  border: 0;
  border-radius: 0;
  text-align: inherit;
  align-items: normal;
  align-content: normal;
  justify-content: normal;
  flex-wrap: nowrap;
}
.sk-c.e-con-full, .sk-c.e-flex { flex-direction: row; flex: 0 1 auto; }
.sk-c::before { content: none; }
:is([data-elementor-id]) > .sk-c.sk-sec { width: 100%; max-width: 100%; margin: 0; }

/* the original <section> */
.sk-sec { padding-block: clamp(3rem, 6.5vw, 5.5rem); position: relative; }
.sk-sec + .sk-sec { border-top: 1px solid var(--rule); }

/* widgets are invisible wrappers */
.sk-w { margin: 0; min-width: 0; }
.elementor-widget.sk-w:not(:last-child) { margin-block-end: 0; }

/* Elementor's heading element takes the look of the original element */
:where(.sk-w) > :where(p, div, span).elementor-heading-title,
:where(.sk-w > .elementor-widget-container) > :where(p, div, span).elementor-heading-title {
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-transform: inherit;
  font-variation-settings: inherit;
  font-variant-numeric: inherit;
  text-wrap: inherit;
  margin: 0;
  padding: 0;
}
:where(.sk-w) > :where(h1, h2, h3, h4).elementor-heading-title,
:where(.sk-w > .elementor-widget-container) > :where(h1, h2, h3, h4).elementor-heading-title {
  line-height: 1.02;
  color: inherit;
  padding: 0;
}
:where(.sk-w) > :where(.elementor-widget-container) { margin: 0; padding: 0; }
