/* ==========================================================================
   NexTree Trade — Elementor Canonical Stylesheet
   Compatibilidade com Elementor 3.x+ (Flexbox Containers & Classic Sections)
   Otimizado para Clonagem e Conversão via CloneWebX (https://clonewebx.softlite.io/)
   ========================================================================== */

:root {
  /* Elementor Global Design System Variables */
  --e-global-color-primary: #06b6d4;      /* Cyan 500 */
  --e-global-color-secondary: #2563eb;    /* Blue 600 */
  --e-global-color-text: #e2e8f0;         /* Slate 200 */
  --e-global-color-accent: #38bdf8;       /* Sky 400 */
  --e-global-color-dark: #07090e;         /* Deep Navy / Dark Canvas */
  --e-global-color-surface: #0c1018;      /* Surface Card */
  --e-global-color-emerald: #10b981;      /* Emerald 500 */

  --e-global-typography-primary-font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --e-global-typography-primary-font-weight: 800;
  --e-global-typography-secondary-font-family: 'Inter', sans-serif;
  --e-global-typography-secondary-font-weight: 500;
  --e-global-typography-text-font-family: 'Inter', sans-serif;
  --e-global-typography-text-font-weight: 400;
  --e-global-typography-accent-font-family: 'JetBrains Mono', monospace;
  --e-global-typography-accent-font-weight: 600;

  --widgets-spacing: 20px 20px;
  --container-max-width: 1560px;
}

/* ==========================================================================
   Elementor Container & Grid Primitives (Flexbox Containers e-con)
   ========================================================================== */
.elementor {
  box-sizing: border-box;
  color: var(--e-global-color-text);
  background-color: var(--e-global-color-dark);
  font-family: var(--e-global-typography-text-font-family);
}

.elementor *,
.elementor *:before,
.elementor *:after {
  box-sizing: inherit;
}

/* Base Elementor Flexbox Container */
.elementor-element.e-con {
  --flex-direction: column;
  --flex-wrap: nowrap;
  --justify-content: normal;
  --align-items: normal;
  --align-content: normal;
  --gap: 20px 20px;
  display: flex;
  flex-direction: var(--flex-direction, column);
  position: relative;
  width: 100%;
}

.elementor-element.e-con-boxed {
  max-width: var(--container-max-width, 1560px);
  margin-left: auto;
  margin-right: auto;
}

.elementor-element.e-con-full {
  max-width: 100%;
  width: 100%;
}

/* Flex directions */
.e-con[data-settings*="row"],
.e-con.e-con-direction-row {
  flex-direction: row;
}

.e-con.e-con-direction-column {
  flex-direction: column;
}

.elementor-section {
  position: relative;
  width: 100%;
}

/* Container safety: Non-destructive to Tailwind */
.elementor-container {
  margin-right: auto;
  margin-left: auto;
  position: relative;
  max-width: var(--container-max-width, 1560px);
  width: 100%;
}

.elementor-container:not(.flex) {
  display: block;
}

.elementor-container.flex {
  display: flex;
}

.elementor-row {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.elementor-column {
  position: relative;
  min-height: 1px;
  display: flex;
  flex-direction: column;
  width: 100%;
}

.elementor-column-wrap,
.elementor-widget-wrap {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
}

/* ==========================================================================
   Elementor Widgets
   ========================================================================== */
.elementor-widget {
  position: relative;
  width: 100%;
}

.elementor-widget-container {
  position: relative;
  width: 100%;
  transition: background .3s, border .3s, border-radius .3s, box-shadow .3s;
}

/* Heading Widget */
.elementor-widget-heading .elementor-heading-title {
  padding: 0;
  margin: 0;
  line-height: 1.08;
  font-family: var(--e-global-typography-primary-font-family);
  word-break: break-word;
}

/* Text Editor Widget */
.elementor-widget-text-editor .elementor-text-editor {
  line-height: 1.6;
}

/* Button Widget */
.elementor-widget-button .elementor-button-wrapper {
  display: flex;
  flex-wrap: wrap;
}

.elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--e-global-typography-primary-font-family);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  text-align: center;
  border-radius: 12px;
  padding: 14px 28px;
  transition: all .3s ease;
  cursor: pointer;
  border: none;
}

.elementor-button-primary {
  background: linear-gradient(135deg, #06b6d4 0%, #2563eb 100%);
  color: #000000;
  font-weight: 800;
  box-shadow: 0 10px 25px -5px rgba(6, 182, 212, 0.4);
}

.elementor-button-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 30px -5px rgba(6, 182, 212, 0.6);
  color: #000000;
}

.elementor-button-outline {
  background: rgba(255, 255, 255, 0.04);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.elementor-button-outline:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(6, 182, 212, 0.5);
  color: #38bdf8;
}

/* Image Widget */
.elementor-widget-image .elementor-image {
  text-align: center;
  overflow: hidden;
  border-radius: 16px;
}

.elementor-widget-image img {
  vertical-align: middle;
  display: inline-block;
  max-width: 100%;
  height: auto;
  transition: transform 0.5s ease;
}

/* Form Widget */
.elementor-widget-form .elementor-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.elementor-field-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.elementor-field-label {
  font-family: var(--e-global-typography-accent-font-family);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgba(255, 255, 255, 0.7);
}

.elementor-field-textual {
  width: 100%;
  background: #080a0f;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  padding: 12px 16px;
  color: #ffffff;
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s ease;
}

.elementor-field-textual:focus {
  border-color: #06b6d4;
  box-shadow: 0 0 0 2px rgba(6, 182, 212, 0.2);
}

/* Icon Box Widget */
.elementor-widget-icon-box .elementor-icon-box-wrapper {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.elementor-icon-box-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(6, 182, 212, 0.1);
  color: #06b6d4;
  font-size: 20px;
}

.elementor-icon-box-title {
  font-size: 16px;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
}

.elementor-icon-box-description {
  font-size: 13px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.6);
  margin: 0;
}

/* ==========================================================================
   Tactical Glow & Tech Radar Styling for Elementor
   ========================================================================== */
.elementor-glow-cyan {
  box-shadow: 0 0 40px -10px rgba(6, 182, 212, 0.25);
}

.elementor-glow-blue {
  box-shadow: 0 0 40px -10px rgba(37, 99, 235, 0.25);
}

.elementor-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 9999px;
  background: rgba(8, 51, 68, 0.6);
  border: 1px solid rgba(6, 182, 212, 0.4);
  color: #67e8f9;
  font-family: var(--e-global-typography-accent-font-family);
  font-size: 11px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* Scanline Radar Animation */
@keyframes elementorScanline {
  0% { transform: translateY(-100%); }
  100% { transform: translateY(1000%); }
}

.elementor-scanline {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(6, 182, 212, 0.8), transparent);
  animation: elementorScanline 5s linear infinite;
  pointer-events: none;
}
