/* Softlancer — let native Elementor elements carry the theme design unchanged. */
.elementor .sl-box.e-con {
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
  --margin-top: 0px; --margin-right: 0px; --margin-bottom: 0px; --margin-left: 0px;
  --gap: 0px; --row-gap: 0px; --column-gap: 0px; --widgets-spacing: 0px; --kit-widget-spacing: 0px;
  --display: block !important; --flex-direction: initial !important; --flex-wrap: initial; --align-items: initial; --justify-content: initial;
  --width: auto; --min-height: 0; --container-max-width: none; --content-width: none;
  min-width: 0;
}
.elementor .sl-box.e-con > .elementor-widget { max-width: none; }
.elementor .sl-box .elementor-widget-container { margin: 0; padding: 0; }
.elementor .sl-box .elementor-widget { margin-block-end: 0; }
.elementor .sl-box.flex { --display: flex !important; --flex-direction: row !important; }
.elementor .sl-box.inline-flex { --display: inline-flex !important; --flex-direction: row !important; }
.elementor .sl-box.grid { --display: grid !important; }
.elementor .sl-box.hidden { --display: none !important; }
.elementor .sl-box.flex-col { --flex-direction: column !important; }
.elementor .sl-box.flex-wrap { --flex-wrap: wrap; }
.elementor .sl-box.items-center { --align-items: center; }
.elementor .sl-box.items-start { --align-items: flex-start; }
.elementor .sl-box.items-end { --align-items: flex-end; }
.elementor .sl-box.justify-center { --justify-content: center; }
.elementor .sl-box.justify-between { --justify-content: space-between; }
@media (min-width: 640px) { .elementor .sl-box.sm\:flex { --display: flex !important; } .elementor .sl-box.sm\:flex-row { --flex-direction: row !important; } .elementor .sl-box.sm\:grid { --display: grid !important; } .elementor .sl-box.sm\:items-center { --align-items: center; } .elementor .sl-box.sm\:justify-between { --justify-content: space-between; } }
@media (min-width: 768px) { .elementor .sl-box.md\:flex { --display: flex !important; } .elementor .sl-box.md\:flex-row { --flex-direction: row !important; } .elementor .sl-box.md\:grid { --display: grid !important; } }
@media (min-width: 1024px) { .elementor .sl-box.lg\:flex { --display: flex !important; } .elementor .sl-box.lg\:flex-row { --flex-direction: row !important; } .elementor .sl-box.lg\:grid { --display: grid !important; } .elementor .sl-box.lg\:block { --display: block !important; } }

/* Headings + text: the widget wrapper carries the theme classes. */
.elementor .sl-heading .elementor-heading-title { font-size: inherit; font-weight: inherit; line-height: inherit; text-align: inherit; margin: 0; padding: 0; }
.elementor .sl-heading:is([class*="text-primary"],[class*="text-navy"],[class*="text-muted"],[class*="text-foreground"]) .elementor-heading-title { color: inherit; }
.elementor-widget-text-editor.sl-text { color: inherit; font: inherit; }
.elementor .sl-decor, .elementor .sl-decor > .elementor-widget-container { display: contents; }

/* Images. */
.elementor .sl-img { text-align: inherit; }
.elementor .sl-img img { display: block; max-width: 100%; height: auto; border-radius: inherit; }
.elementor .sl-img.h-full img, .elementor .sl-img.object-cover img { width: 100%; height: 100%; object-fit: cover; }
.elementor .sl-img.w-auto img { width: auto; height: 100%; }

/* Buttons: same look as the theme; Elementor Style controls still override. */
.elementor .sl-btn .elementor-button {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem; white-space: nowrap;
  border-radius: 9999px; font-family: inherit; font-weight: 600; line-height: 1; transition: all .2s;
  border: 1px solid transparent; fill: currentColor;
}
.elementor .sl-btn--lg .elementor-button { height: 3rem; padding: 0 1.75rem; font-size: 1rem; }
.elementor .sl-btn--sm .elementor-button { height: 2.75rem; padding: 0 1.25rem; font-size: .875rem; }
.elementor .sl-btn--primary .elementor-button { background: var(--primary); color: var(--primary-foreground); box-shadow: 0 10px 24px -14px var(--brand); }
.elementor .sl-btn--primary .elementor-button:hover { background: color-mix(in oklab, var(--primary) 90%, transparent); transform: translateY(-2px); }
.elementor .sl-btn--outline .elementor-button { background: var(--background); color: var(--navy); border-color: var(--input); }
.elementor .sl-btn--outline .elementor-button:hover { background: color-mix(in oklab, var(--accent) 50%, transparent); }
.elementor .sl-btn .elementor-button-icon svg { width: 1rem; height: 1rem; }

body.elementor-editor-active .reveal { opacity: 1 !important; transform: none !important; }
body.elementor-editor-active .sl-decor > :not(.elementor-widget-container), body.elementor-editor-active .sl-decor .elementor-widget-container > * { pointer-events: none; }
