/* Astra & Elementor Global CSS Variables */
:root {
  /* Astra Global Colors */
  --ast-global-color-0: #060097;
  --ast-global-color-1: #c10fff;
  --ast-global-color-2: #1e293b;
  --ast-global-color-3: #67768e;
  --ast-global-color-4: #f9f6fe;
  --ast-global-color-5: #FFFFFF;
  --ast-global-color-6: #F2F5F7;
  --ast-global-color-7: #ffcd57;
  --ast-global-color-8: #000000;
  
  /* Elementor Global Colors (mapped to Astra) */
  --e-global-color-astglobalcolor0: #060097;
  --e-global-color-astglobalcolor1: #c10fff;
  --e-global-color-astglobalcolor2: #1e293b;
  --e-global-color-astglobalcolor3: #67768e;
  --e-global-color-astglobalcolor4: #f9f6fe;
  --e-global-color-astglobalcolor5: #FFFFFF;
  --e-global-color-astglobalcolor6: #F2F5F7;
  --e-global-color-astglobalcolor7: #ffcd57;
  --e-global-color-astglobalcolor8: #000000;
  
  /* Elementor Primary Colors */
  --e-global-color-primary: #060097;
  --e-global-color-secondary: #1e293b;
  --e-global-color-text: #1e293b;
  --e-global-color-accent: #c10fff;
}

/* Elementor Base Styles */
.elementor *, .elementor *:before, .elementor *:after { box-sizing: border-box; }
.elementor img { height: auto; max-width: 100%; border: none; border-radius: 0; box-shadow: none; }
.elementor-element { --flex-direction: initial; --flex-wrap: initial; --justify-content: initial; --align-items: initial; --align-content: initial; --gap: initial; --flex-basis: initial; --flex-grow: initial; --flex-shrink: initial; --order: initial; --align-self: initial; flex-basis: var(--flex-basis); flex-grow: var(--flex-grow); flex-shrink: var(--flex-shrink); order: var(--order); align-self: var(--align-self); }
.elementor-element.e-con { --display: flex; flex-direction: var(--flex-direction); flex-wrap: var(--flex-wrap); justify-content: var(--justify-content); align-items: var(--align-items); align-content: var(--align-content); gap: var(--gap); }

/* Container Styles */
.e-con { --display: flex; --flex-direction: column; --flex-wrap: wrap; --align-items: center; --align-content: center; --gap: var(--gap); width: 100%; }
.e-con.e-flex { display: flex; }
.e-con-full { flex: 1 1 auto; }
.e-con-inner { width: 100%; }
.e-con-boxed { --content-width: min(100%, 1140px); max-width: var(--content-width); margin-left: auto; margin-right: auto; }
.e-con-boxed .e-con-inner { width: 100%; }

/* Header/Footer Location Styles */
.elementor-location-header:before, .elementor-location-footer:before { content: " \; display: table; clear: both; }
.elementor-theme-builder-content-area { height: 400px; }

/* Navigation Menu */
.elementor-nav-menu { display: flex; flex-direction: column; }
.elementor-nav-menu--layout-horizontal { flex-direction: row; }
.elementor-nav-menu__container { overflow: hidden; }
.elementor-nav-menu--main { display: flex; }
.elementor-nav-menu--dropdown { display: none; }
.elementor-nav-menu ul { list-style: none; margin: 0; padding: 0; }
.elementor-nav-menu li { position: relative; }
.elementor-nav-menu a { display: block; }
.elementor-item { font-family: var(--e-global-typography-primary-font-family), sans-serif; }

/* Widget Styles */
.elementor-widget-container { transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s; }
.elementor-widget-heading .elementor-heading-title { margin: 0; }
.elementor-widget-text-editor { color: var(--e-global-color-text); }
.elementor-widget-icon .elementor-icon { display: inline-block; }
.elementor-widget-image { text-align: center; }

/* Responsive */
@media (max-width: 767px) {
 .e-con { --flex-direction: column; --flex-wrap: wrap; }
 .e-con-boxed { --content-width: min(100%, 100%); }
 .elementor-nav-menu--main { display: none; }
 .elementor-nav-menu--dropdown { display: flex; flex-direction: column; }
}
