/*
 * Hostiko compatibility layer for newer Elementor / BetterDocs releases.
 * Loaded last to stabilize missing CSS variables and BetterDocs layout/typography.
 */

:root,
html,
body {
  --e-global-color-very-dark-blue: var(--e-global-color-very-dark-blue, #091b4a);
  --e-global-color-very-dark-blue-one: var(--e-global-color-very-dark-blue-one, #050a30);
  --e-global-color-light-gray: var(--e-global-color-light-gray, #e9eef5);
  --e-global-color-very-light-gray: var(--e-global-color-very-light-gray, #dfe7f1);
  --e-global-color-extra-light-gray: var(--e-global-color-extra-light-gray, #edf2f7);
  --e-global-color-very-light-gray-white: var(--e-global-color-very-light-gray-white, #f7f9fc);
  --e-global-color-50a63db: var(--e-global-color-accent, #f2d22f);
  --global--color-text: var(--e-global-color-text, #7c7c7c);
  --global--color-blue: var(--e-global-color-secondary, #0088e9);
  --secondary-color-three: var(--e-global-color-accent, #f2d22f);
  --secondary-font: var(--e-global-body-font, 'Inter', sans-serif);
  --e-global-heading-font: var(--e-global-typography-primary-font-family, var(--e-global-body-font, 'Inter', sans-serif));
  --e-global-typography-b7702d5-font-family: var(--e-global-typography-primary-font-family, var(--e-global-body-font, 'Inter', sans-serif));
  --e-global-typography-b7702d5-font-size: 18px;
  --e-global-typography-b7702d5-font-weight: 700;
  --e-global-typography-b7702d5-line-height: 1.4;
  --e-global-typography-b7702d5-text-decoration: none;
  --e-global-typography-80650e2-font-size: 16px;
  --e-global-typography-6e0e4ef-font-family: var(--e-global-body-font, 'Inter', sans-serif);
  --e-global-typography-eb51cdb-font-size: 28px;
}

/* Elementor newer flex/container and media safety */
.elementor img,
.elementor video,
.elementor iframe,
.elementor canvas,
.elementor svg:not(.e-font-icon-svg):not(.svg-inline--fa) {
  max-width: 100%;
  height: auto;
}

/*
 * Elementor header/footer templates rendered inside non-Elementor pages
 * (e.g. BetterDocs) can miss per-widget CSS in <head>. When that happens,
 * inline SVG icons fall back to the browser default 300x150 size and break
 * footer layouts. Provide a small, widget-safe fallback until Elementor's
 * widget CSS is available.
 */
.elementor svg.e-font-icon-svg,
.elementor svg.svg-inline--fa,
.elementor .elementor-icon svg,
.elementor .elementor-icon-list-icon svg,
.elementor .elementor-social-icon svg {
  width: 1em;
  height: 1em;
  display: inline-block;
  flex-shrink: 0;
}

.elementor .elementor-icon,
.elementor .elementor-icon-list-icon,
.elementor .elementor-social-icon,
.elementor .elementor-grid-item .elementor-social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.elementor .elementor-widget-icon-list .elementor-icon-list-item,
.elementor .elementor-widget-icon-list .elementor-icon-list-item > a {
  display: flex;
  align-items: flex-start;
}

.elementor .elementor-widget-icon-list .elementor-icon-list-icon {
  min-width: 1.25em;
}

.elementor .elementor-widget-icon-list .elementor-icon-list-text {
  flex: 1 1 auto;
}

.elementor .e-con,
.elementor .elementor-container,
.elementor .elementor-column,
.elementor .elementor-column-wrap,
.elementor .elementor-widget-wrap,
.elementor .elementor-widget,
.elementor .elementor-widget-container {
  min-width: 0;
}

.elementor .elementor-icon-list-item,
.elementor .elementor-button,
.elementor .elementor-button-content-wrapper {
  min-width: 0;
}

/* BetterDocs layout / typography stabilization */
body [class*="betterdocs"],
body [class*="betterdocs"] * {
  box-sizing: border-box;
}

body [class*="betterdocs"] {
  min-width: 0;
}

body .betterdocs-wrapper,
body .betterdocs-single-wrapper,
body .betterdocs-single-layout,
body .betterdocs-single-main-content,
body .betterdocs-content-area,
body .betterdocs-entry-body,
body .betterdocs-content-inner-area,
body .docs-single-wrap,
body .docs-single-main,
body .betterdocs-content-wrapper {
  color: var(--e-global-color-primary, #111827);
  font-family: var(--e-global-body-font, 'Inter', sans-serif);
  line-height: 1.75;
}

body .betterdocs-wrapper h1,
body .betterdocs-wrapper h2,
body .betterdocs-wrapper h3,
body .betterdocs-wrapper h4,
body .betterdocs-wrapper h5,
body .betterdocs-wrapper h6,
body .betterdocs-single-wrapper h1,
body .betterdocs-single-wrapper h2,
body .betterdocs-single-wrapper h3,
body .betterdocs-single-wrapper h4,
body .betterdocs-single-wrapper h5,
body .betterdocs-single-wrapper h6,
body .docs-single-wrap h1,
body .docs-single-wrap h2,
body .docs-single-wrap h3,
body .docs-single-wrap h4,
body .docs-single-wrap h5,
body .docs-single-wrap h6 {
  color: var(--e-global-color-primary, #111827);
  font-family: var(--e-global-typography-primary-font-family, var(--e-global-body-font, 'Inter', sans-serif));
  line-height: 1.25;
  word-break: break-word;
}

body .betterdocs-wrapper p,
body .betterdocs-wrapper li,
body .betterdocs-wrapper td,
body .betterdocs-wrapper th,
body .docs-single-wrap p,
body .docs-single-wrap li,
body .docs-single-wrap td,
body .docs-single-wrap th {
  color: var(--e-global-color-primary, #111827);
}

body .betterdocs-wrapper a,
body .docs-single-wrap a,
body [class*="betterdocs"] a {
  color: var(--e-global-color-secondary, #0088e9);
}

body .betterdocs-wrapper img,
body .docs-single-wrap img,
body [class*="betterdocs"] img {
  max-width: 100%;
  height: auto;
}

body .betterdocs-wrapper table,
body .docs-single-wrap table,
body [class*="betterdocs"] table {
  width: 100%;
  max-width: 100%;
  display: block;
  overflow-x: auto;
  border-collapse: collapse;
}

body .betterdocs-wrapper pre,
body .betterdocs-wrapper code,
body .docs-single-wrap pre,
body .docs-single-wrap code,
body [class*="betterdocs"] pre,
body [class*="betterdocs"] code {
  max-width: 100%;
  overflow-x: auto;
}

body .betterdocs-wrapper input,
body .betterdocs-wrapper select,
body .betterdocs-wrapper textarea,
body .docs-single-wrap input,
body .docs-single-wrap select,
body .docs-single-wrap textarea,
body [class*="betterdocs"] input,
body [class*="betterdocs"] select,
body [class*="betterdocs"] textarea {
  color: var(--e-global-color-primary, #111827);
  background: #ffffff;
  border: 1px solid #d7deea;
  border-radius: 8px;
}

body .betterdocs-wrapper button,
body .docs-single-wrap button,
body [class*="betterdocs"] button {
  font-family: var(--e-global-body-font, 'Inter', sans-serif);
}

body .betterdocs-sidebar,
body .betterdocs-sidebar-content,
body .betterdocs-category-box,
body .betterdocs-popular-articles,
body .betterdocs-toc,
body .betterdocs-search-form-wrapper,
body .betterdocs-search-result-wrap,
body .betterdocs-article-list,
body .betterdocs-articles-wrap {
  min-width: 0;
}

/* Prevent theme card visuals from swallowing BetterDocs text on white backgrounds */
body .betterdocs-wrapper .elementor-widget-container,
body .docs-single-wrap .elementor-widget-container {
  color: inherit;
}

body .betterdocs-wrapper .elementor-heading-title,
body .docs-single-wrap .elementor-heading-title,
body .betterdocs-wrapper .elementor-icon-list-text,
body .docs-single-wrap .elementor-icon-list-text {
  color: inherit;
}
