.elementor-15 .elementor-element.elementor-element-bde8349{--display:flex;--min-height:200px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--background-transition:0.3s;}.elementor-15 .elementor-element.elementor-element-bde8349:not(.elementor-motion-effects-element-type-background), .elementor-15 .elementor-element.elementor-element-bde8349 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-15 .elementor-element.elementor-element-bde8349, .elementor-15 .elementor-element.elementor-element-bde8349::before{--border-transition:0.3s;}.elementor-15 .elementor-element.elementor-element-3e80a73{text-align:center;}.elementor-15 .elementor-element.elementor-element-3e80a73 .elementor-heading-title{color:var( --e-global-color-e5c221a );font-family:"Arial", Sans-serif;font-weight:600;}.elementor-15 .elementor-element.elementor-element-9b41555{text-align:center;}.elementor-15 .elementor-element.elementor-element-9b41555 .elementor-heading-title{color:var( --e-global-color-e5c221a );font-family:"Arial", Sans-serif;font-size:3.5rem;font-weight:600;}.elementor-15 .elementor-element.elementor-element-839f609{--display:flex;--background-transition:0.3s;}.elementor-15 .elementor-element.elementor-element-bfdc918{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--background-transition:0.3s;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-15 .elementor-element.elementor-element-bde8349{--content-width:1500px;}}/* Start custom CSS for html, class: .elementor-element-b4acc48 */.abc-wrap {
  font-family: Arial, Helvetica, sans-serif !important;
  max-width: 960px !important;
  margin: 0 auto !important;
  padding: 0 0 40px !important;
  box-sizing: border-box !important;
}

/* ══ ENCABEZADO ══ */
.abc-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  padding-bottom: 24px !important;
  margin-bottom: 28px !important;
  border-bottom: 3px solid #FFCD00 !important;
  flex-wrap: wrap !important;
}
.abc-header-text { flex: 1 !important; min-width: 260px !important; }
.abc-tag {
  font-size: .65rem !important;
  font-weight: 800 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: #888 !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin-bottom: 6px !important;
}
.abc-tag::before {
  content: '' !important;
  width: 14px !important; height: 2px !important;
  background: #888 !important; display: block !important;
}
.abc-title {
  font-size: clamp(1.5rem, 2.8vw, 2.1rem) !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  color: #1A1A1A !important;
  line-height: 1.1 !important;
  margin: 0 0 6px !important;
}
.abc-title span { color: #FFCD00 !important; }
.abc-sub {
  font-size: .875rem !important;
  color: #666 !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

/* Botón principal */
.abc-btn-main {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 22px !important;
  background: #1A1A1A !important;
  color: #FFCD00 !important;
  font-weight: 800 !important;
  font-size: .82rem !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border-radius: 6px !important;
  border: 2px solid #1A1A1A !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  transition: background .22s, color .22s, transform .18s !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.15) !important;
}
.abc-btn-main svg {
  width: 16px !important; height: 16px !important;
  stroke: currentColor !important; fill: none !important; flex-shrink: 0 !important;
  stroke-width: 2.2 !important; stroke-linecap: round !important; stroke-linejoin: round !important;
}
.abc-btn-main:hover {
  background: #FFCD00 !important;
  color: #000 !important;
  border-color: #FFCD00 !important;
  transform: translateY(-2px) !important;
}

/* ══ OBJETIVO ══ */
.abc-objetivo {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  padding: 16px 20px !important;
  background: #FFFBEA !important;
  border-left: 4px solid #FFCD00 !important;
  border-radius: 0 8px 8px 0 !important;
  margin-bottom: 32px !important;
  font-size: .875rem !important;
  color: #444 !important;
  line-height: 1.65 !important;
}
.abc-objetivo-ico {
  width: 32px !important; height: 32px !important;
  flex-shrink: 0 !important;
  color: #9A7800 !important;
  margin-top: 2px !important;
}
.abc-objetivo-ico svg {
  width: 100% !important; height: 100% !important;
  stroke: #9A7800 !important; fill: none !important;
}

/* ══ LABEL DE SECCIÓN ══ */
.abc-section-label {
  font-size: .65rem !important;
  font-weight: 800 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: #AAA !important;
  margin-bottom: 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.abc-section-label::after {
  content: '' !important; flex: 1 !important;
  height: 1px !important; background: #F0EEE8 !important;
}

/* ══ ETAPAS ══ */
.abc-etapas {
  display: flex !important;
  align-items: stretch !important;
  gap: 0 !important;
  margin-bottom: 32px !important;
}
.abc-etapa {
  flex: 1 !important;
  background: #FFFFFF !important;
  border: 1px solid #E8E6E0 !important;
  border-radius: 8px !important;
  padding: 20px 18px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  position: relative !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.06) !important;
  transition: transform .25s, box-shadow .25s !important;
}
.abc-etapa::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 3px !important;
  background: #E8E6E0 !important;
  border-radius: 8px 8px 0 0 !important;
  transition: background .22s !important;
}
.abc-etapa:hover { transform: translateY(-4px) !important; box-shadow: 0 8px 24px rgba(0,0,0,.1) !important; }
.abc-etapa:hover::before { background: #FFCD00 !important; }
.abc-etapa--last { background: #1A1A1A !important; border-color: #1A1A1A !important; }
.abc-etapa--last::before { background: #FFCD00 !important; }
.abc-etapa--last .abc-etapa-title { color: #FFCD00 !important; }
.abc-etapa--last .abc-etapa-list li { color: rgba(255,255,255,.75) !important; }
.abc-etapa--last .abc-etapa-list li strong { color: #FFCD00 !important; }
.abc-etapa--last .abc-etapa-num { background: rgba(255,205,0,.15) !important; color: #FFCD00 !important; }

.abc-etapa-num {
  width: 32px !important; height: 32px !important;
  background: #F4F2EE !important;
  border-radius: 50% !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-size: .82rem !important; font-weight: 900 !important; color: #9A7800 !important;
  flex-shrink: 0 !important;
}
.abc-etapa-title {
  font-size: .78rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: #1A1A1A !important;
  margin-bottom: 4px !important;
  display: block !important;
}
.abc-etapa-list {
  list-style: none !important;
  padding: 0 !important; margin: 0 !important;
  display: flex !important; flex-direction: column !important; gap: 5px !important;
}
.abc-etapa-list li {
  font-size: .8rem !important;
  color: #555 !important;
  line-height: 1.45 !important;
  display: flex !important; align-items: flex-start !important; gap: 6px !important;
}
.abc-etapa-list li::before {
  content: '·' !important;
  color: #FFCD00 !important;
  font-weight: 900 !important;
  flex-shrink: 0 !important;
}

/* Flecha entre etapas */
.abc-etapa-arrow {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 28px !important; flex-shrink: 0 !important;
}
.abc-etapa-arrow svg {
  width: 18px !important; height: 18px !important;
  stroke: #CCCCCC !important; fill: none !important;
  stroke-width: 1.8 !important; stroke-linecap: round !important;
}

/* ══ CLAVES ══ */
.abc-claves {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
  margin-bottom: 32px !important;
}
.abc-clave {
  background: #FFFFFF !important;
  border: 1px solid #E8E6E0 !important;
  border-radius: 8px !important;
  padding: 18px 16px !important;
  display: flex !important; flex-direction: column !important; gap: 8px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.05) !important;
  transition: transform .25s, box-shadow .25s, border-color .22s !important;
}
.abc-clave:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.09) !important;
  border-color: rgba(255,205,0,.4) !important;
}
.abc-clave-ico { font-size: 1.5rem !important; line-height: 1 !important; }
.abc-clave-title {
  font-size: .78rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  color: #1A1A1A !important;
}
.abc-clave-txt {
  font-size: .78rem !important;
  color: #666 !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* ══ EXTRANJEROS ══ */
.abc-extran {
  background: #F7F5F0 !important;
  border-radius: 8px !important;
  border: 1px solid #E8E6E0 !important;
  padding: 16px 20px !important;
  margin-bottom: 28px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
}
.abc-extran-label {
  display: flex !important; align-items: center !important; gap: 8px !important;
  font-size: .72rem !important; font-weight: 800 !important;
  text-transform: uppercase !important; letter-spacing: .1em !important;
  color: #1A1A1A !important; white-space: nowrap !important; flex-shrink: 0 !important;
}
.abc-extran-label svg {
  width: 16px !important; height: 16px !important;
  stroke: #9A7800 !important; fill: none !important;
}
.abc-extran-items {
  display: flex !important; flex-wrap: wrap !important; gap: 8px !important; flex: 1 !important;
}
.abc-extran-items span {
  font-size: .78rem !important;
  background: #fff !important;
  border: 1px solid #E8E6E0 !important;
  padding: 5px 12px !important;
  border-radius: 20px !important;
  color: #444 !important;
  white-space: nowrap !important;
}

/* ══ CTA FINAL ══ */
.abc-cta {
  background: #1A1A1A !important;
  border-radius: 10px !important;
  padding: 22px 26px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
}
.abc-cta-txt {
  color: rgba(255,255,255,.65) !important;
  font-size: .875rem !important;
  line-height: 1.55 !important;
  flex: 1 !important;
}
.abc-cta-txt strong { color: #fff !important; display: block !important; margin-bottom: 4px !important; font-size: .95rem !important; }
.abc-btn-cta {
  display: inline-flex !important;
  align-items: center !important; gap: 8px !important;
  padding: 12px 22px !important;
  background: #FFCD00 !important;
  color: #000 !important;
  font-weight: 800 !important; font-size: .82rem !important;
  letter-spacing: .07em !important; text-transform: uppercase !important;
  text-decoration: none !important; border-radius: 6px !important;
  white-space: nowrap !important; flex-shrink: 0 !important;
  transition: background .22s, transform .18s !important;
  box-shadow: 0 4px 14px rgba(255,205,0,.3) !important;
}
.abc-btn-cta svg {
  width: 16px !important; height: 16px !important;
  stroke: currentColor !important; fill: none !important; flex-shrink: 0 !important;
  stroke-width: 2.2 !important; stroke-linecap: round !important; stroke-linejoin: round !important;
}
.abc-btn-cta:hover { background: #fff !important; transform: translateY(-2px) !important; }

/* ══ RESPONSIVE ══ */
@media (max-width: 900px) {
  .abc-claves { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 640px) {
  .abc-etapas { flex-direction: column !important; }
  .abc-etapa-arrow { transform: rotate(90deg) !important; width: 100% !important; height: 24px !important; }
  .abc-claves { grid-template-columns: 1fr 1fr !important; }
  .abc-header { flex-direction: column !important; align-items: flex-start !important; }
  .abc-btn-main { width: 100% !important; justify-content: center !important; }
  .abc-cta { flex-direction: column !important; }
  .abc-btn-cta { width: 100% !important; justify-content: center !important; }
  .abc-extran { flex-direction: column !important; align-items: flex-start !important; }
}
@media (max-width: 400px) {
  .abc-claves { grid-template-columns: 1fr !important; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2dce721 */.cc-wrap {
  font-family: Arial, Helvetica, sans-serif !important;
  max-width: 960px !important;
  margin: 0 auto !important;
  padding: 0 0 40px !important;
  box-sizing: border-box !important;
}

/* ══ ENCABEZADO ══ */
.cc-header {
  margin-bottom: 24px !important;
  padding-bottom: 18px !important;
  border-bottom: 3px solid #FFCD00 !important;
}
.cc-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-size: .65rem !important;
  font-weight: 800 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: #888 !important;
  margin-bottom: 6px !important;
}
.cc-tag::before {
  content: '' !important;
  width: 14px !important; height: 2px !important;
  background: #888 !important; display: block !important;
}
.cc-title {
  font-size: clamp(1.4rem, 2.6vw, 2rem) !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  color: #1A1A1A !important;
  line-height: 1 !important;
  margin: 0 !important;
}
.cc-title span { color: #FFCD00 !important; }

/* ══ GRID — 3 col, última centrada ══ */
.cc-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
}

/* Última tarjeta ocupa columna central */
.cc-card--wide {
  grid-column: 2 !important;
}

/* ══ TARJETA ══ */
.cc-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 22px 20px 18px !important;
  background: #FFFFFF !important;
  border: 1px solid #E8E6E0 !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  color: inherit !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.06) !important;
  transition: transform .28s cubic-bezier(.4,0,.2,1), box-shadow .28s, border-color .22s !important;
}
.cc-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 3px !important;
  background: #E8E6E0 !important;
  transition: background .22s !important;
}
.cc-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.11) !important;
  border-color: rgba(255,205,0,.4) !important;
}
.cc-card:hover::before { background: #FFCD00 !important; }

/* Variante destacada (SECOP) */
.cc-card--highlight {
  background: #1A1A1A !important;
  border-color: #1A1A1A !important;
}
.cc-card--highlight::before { background: #FFCD00 !important; }
.cc-card--highlight .cc-card-ico { background: rgba(255,205,0,.15) !important; }
.cc-card--highlight .cc-card-ico svg { stroke: #FFCD00 !important; }
.cc-card--highlight .cc-card-title { color: #FFFFFF !important; }
.cc-card--highlight .cc-card-arrow svg { stroke: rgba(255,255,255,.3) !important; }
.cc-card--highlight:hover .cc-card-arrow svg { stroke: #FFCD00 !important; }
.cc-card--highlight:hover { border-color: #FFCD00 !important; }

/* Ícono */
.cc-card-ico {
  width: 44px !important; height: 44px !important;
  background: #F4F2EE !important;
  border-radius: 8px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  flex-shrink: 0 !important;
  transition: background .22s !important;
}
.cc-card:not(.cc-card--highlight):hover .cc-card-ico { background: rgba(255,205,0,.12) !important; }
.cc-card-ico svg {
  width: 20px !important; height: 20px !important;
  stroke: #9A7800 !important; fill: none !important;
  stroke-width: 1.8 !important; stroke-linecap: round !important; stroke-linejoin: round !important;
}

/* Título */
.cc-card-title {
  font-size: .88rem !important;
  font-weight: 800 !important;
  color: #1A1A1A !important;
  line-height: 1.3 !important;
  flex: 1 !important;
  transition: color .22s !important;
}
.cc-card:not(.cc-card--highlight):hover .cc-card-title { color: #9A7800 !important; }

/* Flecha */
.cc-card-arrow {
  align-self: flex-end !important;
  margin-top: auto !important;
}
.cc-card-arrow svg {
  width: 16px !important; height: 16px !important;
  stroke: #CCC !important; fill: none !important;
  stroke-width: 2 !important; stroke-linecap: round !important;
  transition: stroke .22s, transform .22s !important;
}
.cc-card:hover .cc-card-arrow svg {
  stroke: #FFCD00 !important;
  transform: translate(2px, -2px) !important;
}

/* ══ RESPONSIVE ══ */
@media (max-width: 768px) {
  .cc-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .cc-card--wide { grid-column: auto !important; }
}
@media (max-width: 480px) {
  .cc-grid { grid-template-columns: 1fr !important; }
  .cc-card { flex-direction: row !important; align-items: center !important; padding: 16px !important; }
  .cc-card-arrow { margin-top: 0 !important; }
}/* End custom CSS */