.elementor-kit-7{--e-global-color-primary:#1F4D3A;--e-global-color-secondary:#16382A;--e-global-color-text:#4B4B4B;--e-global-color-accent:#9C3A2F;--e-global-color-6c49f56:#D28A6A;--e-global-color-61b4c12:#E6F0EC;--e-global-color-f81a16e:#E5E7EB;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:500;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{color:var( --e-global-color-f81a16e );background-color:var( --e-global-color-primary );border-radius:12px 12px 12px 12px;padding:14px 14px 14px 14px;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{background-color:var( --e-global-color-6c49f56 );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===============================
   VARIABLES BASE
================================ */
:root{
  --bc-green:#1F4D3A;
  --bc-green-dark:#16382A;
  --bc-surface:#E6F0EC;
  --bc-text:#4B4B4B;
  --bc-border:#E5E7EB;
}

/* ===============================
   ESTRUCTURA GENERAL
================================ */
.ecos-section{
  position:relative;
}

/* Columna derecha */
.visual-wrap{
  display:flex;
  gap:24px;
  align-items:center;
  justify-content:flex-start;
}

/* ===============================
   DIAGRAMA (DESKTOP)
================================ */
.ecos-diagram{
  position:relative;
  width:620px;
  max-width:100%;
  min-height:320px;
  overflow:visible;
}

/* ===============================
   SVG ÓRBITAS (DESKTOP)
================================ */
.ecos-diagram .bc-orbits{
  position:absolute;
  inset:-26px;
  width: calc(100% + 52px);
  height: calc(100% + 52px);
  z-index:1;
  pointer-events:none;
}

/* Órbita principal */
.ecos-diagram .orbit-main{
  fill:none;
  stroke: rgba(31,77,58,.38);
  stroke-width:2;
  stroke-linecap:round;
  stroke-dasharray:7 11;
  animation: dashFlow 6s linear infinite;
}

/* Arco superior */
.ecos-diagram .orbit-top{
  fill:none;
  stroke: rgba(31,77,58,.26);
  stroke-width:2;
  stroke-linecap:round;
  stroke-dasharray:3 11;
  animation: dashFlow 10s linear infinite;
}

/* Flechas */
.ecos-diagram .orbit-arrow{
  fill: rgba(31,77,58,.55);
}

/* Animación */
@keyframes dashFlow{
  to{ stroke-dashoffset:-220; }
}

/* ===============================
   CÍRCULOS (DESKTOP)
================================ */
.ecos-diagram .circle{
  position:absolute;
  width:180px;
  height:180px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:16px;
  background: var(--bc-surface);
  color: var(--bc-text);
  box-shadow:0 12px 30px rgba(0,0,0,.12);
  z-index:2;
}

/* Texto interno */
.ecos-diagram .circle *{
  margin:0;
  max-width:150px;
  font-size:14px;
  line-height:1.35;
}

/* Centro */
.ecos-diagram .circle-center{
  width:220px;
  height:220px;
  background:#fff;
  border:2px solid var(--bc-green);
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  box-shadow:0 18px 48px rgba(0,0,0,.18);
  z-index:3;
}

/* Izq / Der */
.ecos-diagram .circle-left{
  left:8px;
  top:50%;
  transform:translateY(-50%);
}
.ecos-diagram .circle-right{
  right:8px;
  top:50%;
  transform:translateY(-50%);
}

/* ===============================
   CARD ALIADO
================================ */
.ally-card{
  width:360px;
  max-width:100%;
  background:#fff;
  border:1px solid var(--bc-border);
  border-radius:20px;
  box-shadow:0 18px 50px rgba(0,0,0,.12);
  padding:26px;
}

/* ===============================
   TABLET
================================ */
@media (max-width:1024px){
  .visual-wrap{
    flex-direction:column;
    align-items:stretch;
  }
  .ecos-diagram{
    width:100%;
    min-height:360px;
  }
  .ally-card{
    width:100%;
  }
}

/* ===============================
   MOBILE (FIX DEFINITIVO)
================================ */
@media (max-width:680px){

  /* Diagrama pasa a layout normal */
  .ecos-diagram{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:32px;
    min-height:auto;
  }

  /* Apagamos órbitas en móvil (UX limpio) */
  .ecos-diagram .bc-orbits{
    display:none;
  }

  /* Círculos SIN position absolute */
  .ecos-diagram .circle{
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    transform:none;
    width:200px;
    height:200px;
  }

  /* Centro protagonista */
  .ecos-diagram .circle-center{
    width:220px;
    height:220px;
    order:2;
  }

  /* Orden lógico */
  .ecos-diagram .circle-left{ order:1; }
  .ecos-diagram .circle-right{ order:3; }
}

.bc-solution-list{
  list-style:none;
  padding:0;
  margin:24px auto 0;
  max-width:520px;
}

.bc-solution-list li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:14px;
  color: var(--bc-text);
  font-size:15px;
  line-height:1.5;
}

.bc-solution-list em{
  font-style:italic;
  color:#6B7280;
}

.bc-icon{
  flex-shrink:0;
  width:20px;
  height:20px;
  background: var(--bc-green);
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.bc-icon svg{
  width:14px;
  height:14px;
  fill:#fff;
}

/* ===== Topbar ===== */
.bc-topbar{
  background:#fff;
  border:1px solid var(--bc-border);
  border-radius: var(--bc-radius);
  padding:18px;
  box-shadow: 0 12px 30px rgba(0,0,0,.06);
}
/* ===== KPI cards ===== */
.bc-kpi-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:14px;
  margin-top:16px;
}
.bc-kpi{
  background:#fff;
  border:1px solid var(--bc-border);
  border-radius: 16px;
  padding:14px;
  box-shadow: 0 12px 30px rgba(0,0,0,.06);
}
.bc-kpi-title{ font-size:12px; color: var(--bc-muted); font-weight:700; }
.bc-kpi-value{ font-size:26px; font-weight:900; color: var(--bc-green-dark); margin-top:6px; }

/* ===== Table box ===== */
.bc-box{
  background:#fff;
  border:1px solid var(--bc-border);
  border-radius: var(--bc-radius);
  padding:18px;
  margin-top:16px;
  box-shadow: 0 12px 30px rgba(0,0,0,.06);
}

.bc-table-wrap{ overflow:auto; }
.bc-table{
  width:100%;
  border-collapse:collapse;
  font-size:14px;
}
.bc-table th, .bc-table td{
  padding:12px 10px;
  border-bottom:1px solid var(--bc-border);
  text-align:left;
  white-space:nowrap;
}
.bc-table thead th{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.03em;
  color: var(--bc-muted);
}

.bc-badge{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  border:1px solid rgba(31,77,58,.25);
  background: rgba(31,77,58,.08);
  color: var(--bc-green-dark);
}

/* Responsive */
@media (max-width: 980px){
  .bc-sidebar{ display:none; }  /* en móvil oculta sidebar (simple MVP) */
  .bc-main{ padding:14px; }
  .bc-kpi-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}/* End custom CSS */