{"id":83,"date":"2025-10-23T13:51:16","date_gmt":"2025-10-23T13:51:16","guid":{"rendered":"https:\/\/zerocarbono.org\/?page_id=83"},"modified":"2026-01-08T00:52:48","modified_gmt":"2026-01-08T00:52:48","slug":"prefactibilidad","status":"publish","type":"page","link":"https:\/\/zerocarbono.org\/en\/prefactibilidad\/","title":{"rendered":"Pre-feasibility"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"83\" class=\"elementor elementor-83\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-24e65aa e-flex e-con-boxed e-con e-parent\" data-id=\"24e65aa\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a2a6e39 elementor-widget elementor-widget-shortcode\" data-id=\"a2a6e39\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><!DOCTYPE html> \n<html lang=\"es\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Estudio de Prefactibilidad<\/title>\n    <style>\n        :root {\n            --azul-principal: #031e35;\n            --verde-principal: #325825;\n            --verde-claro: #f0f7f0;\n            --gris-oscuro: #374151;\n            --gris-medio: #6b7280;\n            --blanco: #ffffff;\n        }\n\n        * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; }\n\n        body {\n            background: linear-gradient(135deg, #fafcff 0%, #f8fafc 100%);\n            color: var(--gris-oscuro);\n            line-height: 1.6;\n            min-height: 100vh;\n        }\n\n        .container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }\n\n        \/* Header *\/\n        .header { padding: 30px 0 100px; text-align: center; position: relative; }\n        .header::before{\n            content:\"\"; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);\n            width:300px; height:300px; background:radial-gradient(circle, var(--verde-claro) 0%, transparent 70%);\n            opacity:.4; z-index:-1;\n        }\n        .badge{\n            display:inline-block; background:var(--blanco); color:var(--verde-principal);\n            padding:10px 24px; border-radius:24px; font-size:.85rem; font-weight:500; margin-bottom:30px;\n            border:1px solid rgba(50,88,37,.1); box-shadow:0 2px 8px rgba(0,0,0,.04); backdrop-filter:blur(10px);\n        }\n        .title{ font-size:3rem; font-weight:700; color:var(--azul-principal); margin-bottom:25px; line-height:1.1; letter-spacing:-.5px; }\n        .title-gradient{\n            background:linear-gradient(135deg, var(--azul-principal) 0%, var(--verde-principal) 100%);\n            -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;\n        }\n        .subtitle{ font-size:1.3rem; color:var(--gris-medio); max-width:700px; margin:0 auto; font-weight:400; line-height:1.5; }\n\n        \/* Stats (la franja que faltaba) *\/\n        .stats{\n            display:flex; justify-content:center; gap:60px; margin-top:80px; position:relative;\n        }\n        .stats::before{\n            content:\"\"; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);\n            width:1px; height:40px; background:linear-gradient(to bottom, transparent, var(--gris-medio), transparent); opacity:.3;\n        }\n        .stat{ text-align:center; position:relative; }\n        .stat::after{\n            content:\"\"; position:absolute; bottom:-10px; left:50%; transform:translateX(-50%);\n            width:0; height:2px; background:var(--verde-principal); transition:width .6s ease;\n        }\n        .stat:hover::after{ width:30px; }\n        .stat-number{ display:block; font-size:2.2rem; font-weight:700; color:var(--verde-principal); margin-bottom:8px; }\n        .stat-label{ font-size:.9rem; color:var(--gris-medio); font-weight:500; letter-spacing:.5px; }\n\n        \/* Secciones *\/\n        .section{ padding:100px 0; position:relative; }\n        .section-title{\n            font-size:2rem; font-weight:700; color:var(--azul-principal); margin-bottom:60px; text-align:center; position:relative;\n        }\n        .section-title::after{\n            content:\"\"; position:absolute; bottom:-15px; left:50%; transform:translateX(-50%);\n            width:50px; height:2px; background:var(--verde-principal); border-radius:1px;\n        }\n        .grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(340px, 1fr)); gap:30px; }\n        .card{\n            padding:40px 35px; background:var(--blanco); border-radius:16px; box-shadow:0 4px 20px rgba(0,0,0,.06);\n            border:1px solid rgba(0,0,0,.03); transition:all .4s ease; position:relative; overflow:hidden;\n        }\n        .card:hover{ transform:translateY(-3px); box-shadow:0 8px 30px rgba(0,0,0,.1); }\n        .card-icon{ font-size:2.2rem; margin-bottom:25px; color:var(--verde-principal); }\n        .card-title{ font-size:1.3rem; font-weight:600; color:var(--azul-principal); margin-bottom:15px; }\n        .card-text{ color:var(--gris-medio); font-size:.95rem; line-height:1.6; }\n\n        \/* Importancia *\/\n        .importancia-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:25px; }\n        .importancia-item{\n            display:flex; align-items:flex-start; gap:20px; padding:30px; background:var(--blanco);\n            border-radius:12px; box-shadow:0 4px 15px rgba(0,0,0,.04);\n        }\n        .importancia-icon{ font-size:1.8rem; color:var(--verde-principal); background:var(--verde-claro); padding:12px; border-radius:10px; }\n        .importancia-content h4{ color:var(--azul-principal); margin-bottom:10px; font-size:1.1rem; font-weight:600; }\n        .importancia-content p{ color:var(--gris-medio); font-size:.9rem; line-height:1.5; }\n\n        \/* Nota *\/\n        .nota{ background:var(--verde-claro); padding:30px; border-radius:16px; border-left:4px solid var(--verde-principal); margin-top:40px; }\n        .nota p{ color:var(--azul-principal); font-size:1rem; font-weight:500; line-height:1.5; }\n\n        \/* CTA *\/\n        .cta{ text-align:center; padding:100px 0; background:var(--blanco); border-radius:24px; margin:60px 0; box-shadow:0 8px 40px rgba(0,0,0,.08); }\n        .cta-title{ font-size:2.2rem; margin-bottom:20px; color:var(--azul-principal); font-weight:700; }\n        .cta-text{ font-size:1.2rem; margin-bottom:35px; color:var(--gris-medio); max-width:500px; margin-left:auto; margin-right:auto; line-height:1.5; }\n        .cta-button{\n            display:inline-flex; align-items:center; gap:12px; background:var(--verde-principal); color:var(--blanco);\n            padding:16px 40px; border-radius:12px; font-size:1.1rem; font-weight:600; text-decoration:none;\n        }\n\n        \/* Responsive *\/\n        @media (max-width: 768px){\n            .title{ font-size:2.4rem; }\n            .grid, .importancia-grid{ grid-template-columns:1fr; }\n            .stats{ flex-direction:column; gap:40px; margin-top:60px; }\n            .stats::before{ display:none; }\n        }\n        @media (max-width: 480px){\n            .title{ font-size:2rem; }\n            .section-title{ font-size:1.7rem; }\n            .card{ padding:30px 25px; }\n        }\n    <\/style>\n<\/head>\n<body>\n    <div class=\"container\">\n        <!-- Header -->\n        <div class=\"header\">\n            <div class=\"badge\">\ud83c\udf3f Evaluaci\u00f3n de Viabilidad<\/div>\n            <h1 class=\"title\"><span class=\"title-gradient\">5.-Estudio de Prefactibilidad <br>Valida la Viabilidad de Tu Proyecto Ambiental<\/span><\/h1>\n            <p class=\"subtitle\">\n                \u00bfTu proyecto super\u00f3 la etapa inicial?<br> El Estudio de Prefactibilidad es el paso clave para confirmar que tu iniciativa cumple con los est\u00e1ndares internacionales de Alta Integridad (ICVCM) y maximiza su valor en el mercado.\n            <\/p>\n\n            <!-- \u2b50 Stats a\u00f1adidos -->\n            <div class=\"stats\">\n                <div class=\"stat\">\n                    <span class=\"stat-number\">8<\/span>\n                    <span class=\"stat-label\">Semanas<\/span>\n                <\/div>\n                <div class=\"stat\">\n                    <span class=\"stat-number\">ICVCM<\/span>\n                    <span class=\"stat-label\">Alta Integridad<\/span>\n                <\/div>\n                <div class=\"stat\">\n                    <span class=\"stat-number\">\ud83d\udcb0<\/span>\n                    <span class=\"stat-label\">Costo Medio<\/span>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- \u00bfEn qu\u00e9 consiste? -->\n        <div class=\"section\">\n            <h2 class=\"section-title\">\u00bfEn qu\u00e9 consiste?<\/h2>\n            <p>Este estudio profundiza en el contexto espec\u00edfico de tu proyecto mediante:\n<\/p>\n            <div class=\"grid\">\n                <div class=\"card\">\n                    <div class=\"card-icon\">\ud83c\udf0e<\/div>\n                    <h3 class=\"card-title\">An\u00e1lisis t\u00e9cnico-ambiental<\/h3>\n                    <p class=\"card-text\">Estudio de suelo, clima, flora, fauna y cuencas hidrogr\u00e1ficas.<\/p>\n                <\/div>\n                <div class=\"card\">\n                    <div class=\"card-icon\">\ud83e\udd1d<\/div>\n                    <h3 class=\"card-title\">Evaluaci\u00f3n socioecon\u00f3mica<\/h3>\n                    <p class=\"card-text\">Capital social y natural de la regi\u00f3n, impacto en comunidades locales y alineaci\u00f3n con los Objetivos de Desarrollo Sostenible (ODS).<\/p>\n                <\/div>\n                <div class=\"card\">\n                    <div class=\"card-icon\">\u2699\ufe0f<\/div>\n                    <h3 class=\"card-title\">Criterios de elegibilidad<\/h3>\n                    <p class=\"card-text\">Verificaci\u00f3n de adicionalidad (\u00bftu proyecto agrega valor real?), c\u00e1lculo de buffers de reserva (reducci\u00f3n de riesgos) y aplicaci\u00f3n de taxonom\u00edas europeas para precios base.<\/p>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- \u00bfPor qu\u00e9 es esencial? -->\n        <div class=\"section\">\n            <h2 class=\"section-title\">\u00bfPor qu\u00e9 es esencial?<\/h2>\n            <div class=\"importancia-grid\">\n                <div class=\"importancia-item\">\n                    <div class=\"importancia-icon\">\u2705<\/div>\n                    <div class=\"importancia-content\">\n                        <h4>Certificaci\u00f3n garantizada<\/h4>\n                        <p>Asegura que tu proyecto cumple con los est\u00e1ndares m\u00e1s exigentes (ICVCM).<\/p>\n                    <\/div>\n                <\/div>\n                <div class=\"importancia-item\">\n                    <div class=\"importancia-icon\">\ud83d\udcb0<\/div>\n                    <div class=\"importancia-content\">\n                        <h4>Valorizaci\u00f3n de cr\u00e9ditos<\/h4>\n                        <p>La cuantificaci\u00f3n del capital social y natural permite obtener el mejor precio de mercado.<\/p>\n                    <\/div>\n                <\/div>\n                <div class=\"importancia-item\">\n                    <div class=\"importancia-icon\">\ud83d\udcca<\/div>\n                    <div class=\"importancia-content\">\n                        <h4>Proyecciones realistas<\/h4>\n                        <p>Genera escenarios econ\u00f3micos (pesimista, intermedio, optimista) con bases s\u00f3lidas.<\/p>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- Resultados clave -->\n        <div class=\"section\">\n            <h2 class=\"section-title\">Resultados clave<\/h2>\n            <div class=\"grid\">\n                <div class=\"card\">\n                    <div class=\"card-icon\">\ud83d\udcc4<\/div>\n                    <h3 class=\"card-title\">Documentaci\u00f3n base<\/h3>\n                    <p class=\"card-text\">Documentaci\u00f3n base para la elaboraci\u00f3n del Project Description (PD), requerido para certificaci\u00f3n.<\/p>\n                <\/div>\n                <div class=\"card\">\n                    <div class=\"card-icon\">\ud83d\udcb9<\/div>\n                    <h3 class=\"card-title\">Precio base competitivo<\/h3>\n                    <p class=\"card-text\">Determinaci\u00f3n del valor de cr\u00e9ditos seg\u00fan taxonom\u00edas europeas y mercados globales.<\/p>\n                <\/div>\n                <div class=\"card\">\n                    <div class=\"card-icon\">\ud83c\udfaf<\/div>\n                    <h3 class=\"card-title\">Estrategia clara<\/h3>\n                    <p class=\"card-text\">Definici\u00f3n de objetivos de sostenibilidad y plan de acci\u00f3n para maximizar impactos positivos.<\/p>\n                <\/div>\n            <\/div>\n\n            <div class=\"nota\">\n                <p>\ud83d\udca1 <strong>Importante:<\/strong> este es un estudio de costo medio que genera diferentes tipos de informes que\nservir\u00e1n como base para el desarrollo del Project Description de certificaci\u00f3n del proyecto. En\nun per\u00edodo de 8 semanas permite tener los rangos mas importantes de Evaluaci\u00f3n, con el\nobjetivo de establecer cuanto demora el desarrollo del proyecto, que potencial tiene y cual\n\nes su precio de mercado inicial y proyectado a compradores finales.<\/p>\n            <\/div>\n        <\/div>\n\n     <!-- CTA -->\n    <div class=\"cta\">\n    <h2 class=\"cta-title\">\u00bfListo para comenzar?<\/h2>\n    <p class=\"cta-text\">\n      Si quieres m\u00e1s informaci\u00f3n respecto a nuestro servicio y sus costos asociados baja nuestro brochure de presentaci\u00f3n aqu\u00ed\n    <\/p>\n\n    <!--BOT\u00d3N -->\n    <button id=\"abrir-formulario\" class=\"cta-button\" type=\"button\">\n        \ud83d\udce5 Descargar Brochure\n    <\/button>\n\n    <!-- AQU\u00cd  SHORTCODE -->\n    <div class=\"formulario-wrapper\">\n        \n  <div class=\"dg-wrap\" style=\"text-align:center;margin-top:30px;\">\n    <button id=\"dg-btn\" class=\"dg-btn\">\n      DESCARGAR DOCUMENTO <i class=\"fa fa-download\"><\/i>\n    <\/button>\n\n    <form id=\"dg-form\" class=\"dg-form\" style=\"display:none;\" novalidate>\n      <h3 class=\"dg-title\">\ud83c\udf31 Completa los datos para continuar<\/h3>\n\n      <div class=\"dg-row\">\n        <label class=\"lbl-name\">Nombre *<\/label>\n        <input name=\"name\" required>\n      <\/div>\n\n      <div class=\"dg-row-inline\">\n        <div class=\"dg-col\">\n          <label class=\"lbl-company\">Corporaci\u00f3n *<\/label>\n          <input name=\"company\" required>\n        <\/div>\n        <div class=\"dg-col\">\n          <label class=\"lbl-role\">Cargo *<\/label>\n          <input name=\"role\" required>\n        <\/div>\n      <\/div>\n\n      <div class=\"dg-row\">\n        <label class=\"lbl-email\">Correo *<\/label>\n        <input type=\"email\" name=\"email\" required>\n      <\/div>\n\n      <!-- WhatsApp + Pa\u00eds en dos columnas -->\n      <div class=\"dg-row-inline\">\n        <div class=\"dg-col\">\n          <label class=\"lbl-phone\">WhatsApp completo (con c\u00f3digo de \u00e1rea) *<\/label>\n          <input name=\"phone\" required>\n        <\/div>\n        <div class=\"dg-col\">\n          <label class=\"lbl-country\">Pa\u00eds *<\/label>\n          <input name=\"country\" required>\n        <\/div>\n      <\/div>\n\n      <div class=\"dg-row\">\n        <label class=\"lbl-message\">Mensaje<\/label>\n        <textarea name=\"message\" rows=\"2\"><\/textarea>\n      <\/div>\n\n      <div class=\"dg-row dg-acept\">\n        <label>\n          <input type=\"checkbox\" name=\"policy\" required>\n          <span class=\"lbl-policy\">Acepto las pol\u00edticas de privacidad<\/span>\n        <\/label>\n      <\/div>\n\n      <button type=\"submit\" class=\"dg-submit\">\n        ENVIAR Y DESCARGAR <i class=\"fa fa-paper-plane\"><\/i>\n      <\/button>\n    <\/form>\n\n    <p class=\"dg-msg\" style=\"display:none;\"><\/p>\n  <\/div>\n\n<style>\n\/* ===== CONTENEDOR ===== *\/\n.dg-form{\n  margin:25px auto;\n  max-width:750px;\n  background:#ffffff;\n  padding:40px 45px;\n  border-radius:22px;\n  box-shadow:0 20px 45px rgba(0,0,0,0.07);\n  opacity:0;\n  transform:translateY(15px);\n  transition:all .45s ease;\n  \/* Asegurar que se oculte completamente *\/\n  visibility: hidden;\n  height: 0;\n  overflow: hidden;\n}\n\n.dg-form.dg-show{\n  display:block!important;\n  opacity:1!important;\n  transform:translateY(0);\n  \/* Mostrar completamente *\/\n  visibility: visible;\n  height: auto;\n  overflow: visible;\n}\n\n.dg-form[style*=\"display: none\"] {\n  display: none !important;\n  opacity: 0 !important;\n  visibility: hidden !important;\n  height: 0 !important;\n  overflow: hidden !important;\n}\n\n\/* ===== T\u00cdTULO ===== *\/\n.dg-title{\n  text-align:left!important;\n  color:#031e35;\n  font-weight:800;\n  margin-bottom:35px;\n  line-height:1.2;\n  font-size:26px;\n}\n\n\/* ===== ETIQUETAS ===== *\/\n.dg-row label,\n.dg-row-inline label{\n  display:block;\n  color:#031e35;\n  font-weight:600;\n  margin-bottom:10px;\n  margin-top:12px;  \n  font-size:14px;\n  text-align:left !important;\n}\n\n\/* ===== CAMPOS ===== *\/\n.dg-row input,\n.dg-row textarea,\n.dg-row-inline input{\n  width:100%;\n  padding:14px 16px;\n  border:1px solid #dbe3dc;\n  background:#f8fdf8;\n  border-radius:12px;\n  font-size:15px;\n  color:#031e35;\n  outline:none;\n  box-shadow:0 2px 6px rgba(50,88,37,0.06);\n  transition:all .25s ease;\n}\n.dg-row input::placeholder,\n.dg-row textarea::placeholder{\n  color:#8aa09a;\n}\n\n\/* Campos inv\u00e1lidos SOLO cuando se ha intentado enviar *\/\n.dg-form.submitted input:invalid,\n.dg-form.submitted textarea:invalid,\n.dg-form.submitted .dg-row-inline input:invalid{\n  border-color:#ff4444;\n  background:#fff8f8;\n}\n\n\/* Hover y focus *\/\n.dg-row input:focus,\n.dg-row textarea:focus{\n  border-color:#2e7d32;\n  background:#ffffff;\n  box-shadow:0 0 0 3px rgba(46,125,50,0.18);\n}\n\n\/* ===== DOS COLUMNAS ===== *\/\n.dg-row-inline{\n  display:flex;\n  gap:18px;\n  margin-bottom:18px;\n}\n.dg-row-inline .dg-col{\n  flex:1;\n}\n\n\/* ===== CHECKBOX ===== *\/\n.dg-acept label{\n  font-size:14px;\n  color:#031e35;\n  text-align:left !important;\n}\n.dg-acept input{\n  width:auto;\n  transform:scale(1.2);\n  cursor:pointer;\n}\n\n\/* Checkbox inv\u00e1lido SOLO cuando se ha intentado enviar *\/\n.dg-form.submitted .dg-acept input:invalid{\n  outline:2px solid #ff4444;\n}\n\n\/* ===== BOT\u00d3N PREMIUM ===== *\/\n.dg-submit{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  gap:10px;\n  padding:16px 42px;\n  background:linear-gradient(90deg,#031e35,#325825);\n  color:#ffffff;\n  font-size:16px;\n  font-weight:700;\n  border:none;\n  border-radius:50px;\n  cursor:pointer;\n  margin:35px auto 0;\n  position:relative;\n  overflow:hidden;\n  transition:transform .25s ease;\n  box-shadow:0 8px 25px rgba(0,0,0,0.15);\n}\n\n\/* Animaci\u00f3n premium del bot\u00f3n *\/\n.dg-submit::before{\n  content:\"\";\n  position:absolute;\n  top:0;\n  left:-120%;\n  width:120%;\n  height:100%;\n  background:linear-gradient(\n    120deg,\n    transparent,\n    rgba(255,255,255,0.28),\n    transparent\n  );\n  transition:all .6s ease;\n}\n\n.dg-submit:hover::before{\n  left:120%;\n}\n\n.dg-submit:hover{\n  transform:translateY(-3px);\n  box-shadow:0 12px 30px rgba(0,0,0,0.23);\n}\n\n\/* ===== MENSAJE ===== *\/\n.dg-msg{\n  text-align:center;\n  margin-top:30px;\n  font-weight:700;\n  color:#2e7d32;\n  font-size:20px;\n}\n\n\/* Mensaje de error *\/\n.dg-msg.error{\n  color:#ff4444;\n}\n\n\/* ===== RESPONSIVE ===== *\/\n@media(max-width:600px){\n  .dg-row-inline{\n    flex-direction:column;\n  }\n  .dg-form{\n    padding:30px 25px;\n  }\n  .dg-title{\n    font-size:22px;\n  }\n}\n<\/style>\n\n<script>\ndocument.addEventListener('DOMContentLoaded',()=>{\n  const btn  = document.getElementById('dg-btn');\n  const form = document.getElementById('dg-form');\n  const msg  = document.querySelector('.dg-msg');\n\n  const htmlLang=document.documentElement.lang||'';\n  const lang=(location.pathname.includes('\/en\/')||htmlLang.startsWith('en'))?'en':'es';\n\n  const tAll = {\n    es:{\n      title:'\ud83c\udf31 Completa los datos para continuar',\n      name:'Nombre *',\n      company:'Corporaci\u00f3n *',\n      role:'Cargo *',\n      email:'Correo *',\n      phone:'WhatsApp completo (con c\u00f3digo de \u00e1rea) *',\n      country:'Pa\u00eds *',\n      message:'Mensaje',\n      policy:'Acepto las pol\u00edticas de privacidad',\n      submit:'ENVIAR Y DESCARGAR',\n      done:'\u2705 Documento enviado a su correo',\n      error:'\u274c Error al enviar. Por favor revisa los campos.',\n      validation:'\u274c Por favor completa todos los campos obligatorios'\n    },\n    en:{\n      title:'\ud83c\udf31 Complete the information to continue',\n      name:'Name *',\n      company:'Corporation *',\n      role:'Position *',\n      email:'Email *',\n      phone:'Full WhatsApp (with area code) *',\n      country:'Country *',\n      message:'Message',\n      policy:'I accept the privacy policy',\n      submit:'SEND AND DOWNLOAD',\n      done:'\u2705 Document sent to your email',\n      error:'\u274c Error sending. Please check the fields.',\n      validation:'\u274c Please complete all required fields'\n    }\n  };\n  const t = tAll[lang];\n\n  \/\/ Traducci\u00f3n\n  form.querySelector('.dg-title').textContent   = t.title;\n  form.querySelector('.lbl-name').textContent   = t.name;\n  form.querySelector('.lbl-company').textContent= t.company;\n  form.querySelector('.lbl-role').textContent   = t.role;\n  form.querySelector('.lbl-email').textContent  = t.email;\n  form.querySelector('.lbl-phone').textContent  = t.phone;\n  form.querySelector('.lbl-country').textContent= t.country;\n  form.querySelector('.lbl-message').textContent= t.message;\n  form.querySelector('.lbl-policy').textContent = t.policy;\n  form.querySelector('.dg-submit').childNodes[0].textContent = t.submit+' ';\n\n  \/\/ Guardado de datos\n  const fields=form.querySelectorAll('input, textarea');\n  fields.forEach(f=>{\n    const key='dg_'+f.name;\n    const saved=localStorage.getItem(key);\n    if(saved) f.value=saved;\n    f.addEventListener('input',()=>localStorage.setItem(key,f.value));\n  });\n\n  const policy=form.querySelector('input[name=\"policy\"]');\n  if(policy){\n    const savedPolicy=localStorage.getItem('dg_policy');\n    if(savedPolicy==='true') policy.checked=true;\n    policy.addEventListener('change',()=>localStorage.setItem('dg_policy',policy.checked));\n  }\n\n  \/\/ Mostrar \/ ocultar formulario\n  btn.addEventListener('click',e=>{\n    e.preventDefault();\n    if(form.classList.contains('dg-show')){\n      form.classList.remove('dg-show');\n      setTimeout(()=>form.style.display='none',300);\n    } else {\n      form.style.display='block';\n      requestAnimationFrame(()=>form.classList.add('dg-show'));\n    }\n  });\n\n  \/\/ Funci\u00f3n para validar formulario\n  function validateForm() {\n    const requiredFields = form.querySelectorAll('input[required], textarea[required]');\n    let isValid = true;\n    \n    requiredFields.forEach(field => {\n      if (!field.value.trim()) {\n        isValid = false;\n      }\n    });\n    \n    \/\/ Validar checkbox de pol\u00edtica\n    const policyCheckbox = form.querySelector('input[name=\"policy\"]');\n    if (policyCheckbox && !policyCheckbox.checked) {\n      isValid = false;\n    }\n    \n    \/\/ Validar email\n    const emailField = form.querySelector('input[type=\"email\"]');\n    if (emailField && emailField.value && !isValidEmail(emailField.value)) {\n      isValid = false;\n    }\n    \n    return isValid;\n  }\n  \n  \/\/ Funci\u00f3n para validar email\n  function isValidEmail(email) {\n    const emailRegex = \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/;\n    return emailRegex.test(email);\n  }\n\n  \/\/ Env\u00edo\n  form.addEventListener('submit',async e=>{\n    e.preventDefault();\n    msg.style.display='none';\n    msg.classList.remove('error');\n\n    \/\/ Marcar que se intent\u00f3 enviar (para mostrar errores)\n    form.classList.add('submitted');\n\n    \/\/ Validar formulario antes de enviar\n    if (!validateForm()) {\n      msg.textContent = t.validation;\n      msg.classList.add('error');\n      msg.style.display = 'block';\n      return; \/\/ Detener el env\u00edo\n    }\n\n    const fd=new FormData(form);\n    fd.append('action','dg_submit');\n    fd.append('security','2417d6d52c');\n    fd.append('title','Pesta\u00f1a Estudio de Prefactibilidad');\n    fd.append('pdf_es','https:\/\/zerocarbono.org\/wp-content\/uploads\/2026\/01\/5.-Estudio-de-Prefactibilidad.pdf');\n    fd.append('pdf_en','https:\/\/zerocarbono.org\/wp-content\/uploads\/2026\/01\/5.-Pre-feasibility-Study.jpg');\n    fd.append('link_es','');\n    fd.append('link_en','');\n    fd.append('lang',lang);\n\n    try {\n      const res=await fetch('https:\/\/zerocarbono.org\/wp-admin\/admin-ajax.php',{method:'POST',body:fd});\n      const json=await res.json();\n\n      if(json && json.success){\n        \/\/ FORZAR la ocultaci\u00f3n del formulario de m\u00faltiples maneras\n        form.style.display = 'none';\n        form.style.opacity = '0';\n        form.style.visibility = 'hidden';\n        form.style.height = '0';\n        form.style.overflow = 'hidden';\n        form.classList.remove('dg-show', 'submitted');\n        \n        \/\/ Resetear el formulario\n        form.reset();\n        \n        \/\/ Limpiar localStorage\n        fields.forEach(f=>localStorage.removeItem('dg_'+f.name));\n        if(policy) localStorage.removeItem('dg_policy');\n        \n        \/\/ Mostrar mensaje de \u00e9xito\n        msg.textContent=t.done;\n        msg.classList.remove('error');\n        msg.style.display='block';\n        msg.style.opacity='1';\n        \n        \/\/ Ocultar mensaje despu\u00e9s de 4 segundos\n        setTimeout(()=>{\n          msg.style.opacity='0';\n          setTimeout(()=>{\n            msg.style.display='none';\n          },300);\n        },4000);\n        \n      }else{\n        msg.textContent=t.error;\n        msg.classList.add('error');\n        msg.style.display='block';\n        \n        \/\/ Ocultar mensaje de error despu\u00e9s de 5 segundos\n        setTimeout(()=>{\n          msg.style.opacity='0';\n          setTimeout(()=>{\n            msg.style.display='none';\n          },300);\n        },5000);\n      }\n    } catch(error) {\n      msg.textContent=t.error;\n      msg.classList.add('error');\n      msg.style.display='block';\n    }\n  });\n});\n<\/script>\n\n\n    <\/div>\n<\/div>\n    <\/div>\n<\/body>\n<\/html>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-27f8209 e-flex e-con-boxed e-con e-parent\" data-id=\"27f8209\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a39bf58 elementor-widget elementor-widget-html\" data-id=\"a39bf58\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<script>\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n\r\n    const btnCTA = document.getElementById('abrir-formulario');\r\n    const btnShortcode = document.getElementById('dg-btn');\r\n    const form = document.getElementById('dg-form');\r\n\r\n    if(btnCTA && btnShortcode && form){\r\n\r\n        btnCTA.addEventListener('click', e => {\r\n            e.preventDefault();\r\n\r\n            \/\/ activa la l\u00f3gica original (abre\/cierra)\r\n            btnShortcode.click();\r\n\r\n            \/\/ esperamos un poquito para que el shortcode cambie las clases\r\n            setTimeout(() => {\r\n\r\n                \/\/ si el shortcode LO ABRI\u00d3 (tiene dg-show)\r\n                if(form.classList.contains('dg-show')){\r\n                    form.classList.add('dg-visible');      \/\/ mostrar animado\r\n                    form.style.display = 'block';          \/\/ visible\r\n                }\r\n\r\n                \/\/ si el shortcode LO CERR\u00d3 (no tiene dg-show)\r\n                else {\r\n                    form.classList.remove('dg-visible');   \/\/ ocultamos animaci\u00f3n\r\n                    form.style.display = 'none';           \/\/ completamente oculto\r\n                }\r\n\r\n            }, 50);\r\n        });\r\n    }\r\n});\r\n<\/script>\r\n\r\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7cc39df elementor-widget elementor-widget-html\" data-id=\"7cc39df\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n#dg-btn {\r\n    display: none !important;\r\n}\r\n\r\n.formulario-wrapper {\r\n    margin-top: 20px;\r\n}\r\n\r\n#dg-form {\r\n    display: none;\r\n    opacity: 0;\r\n    transform: translateY(-10px);\r\n    transition: all 0.4s ease;\r\n}\r\n\r\n#dg-form.dg-visible {\r\n    display: block !important;\r\n    opacity: 1 !important;\r\n    transform: translateY(0);\r\n}\r\n<\/style>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Estudio de Prefactibilidad \ud83c\udf3f Evaluaci\u00f3n de Viabilidad 5.-Estudio de Prefactibilidad Valida la Viabilidad de Tu Proyecto Ambiental \u00bfTu proyecto super\u00f3 la etapa inicial? El Estudio de Prefactibilidad es el paso clave para confirmar que tu iniciativa cumple con los est\u00e1ndares internacionales de Alta Integridad (ICVCM) y maximiza su valor en el mercado. 8 Semanas ICVCM [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-83","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/zerocarbono.org\/en\/wp-json\/wp\/v2\/pages\/83","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zerocarbono.org\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/zerocarbono.org\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/zerocarbono.org\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zerocarbono.org\/en\/wp-json\/wp\/v2\/comments?post=83"}],"version-history":[{"count":25,"href":"https:\/\/zerocarbono.org\/en\/wp-json\/wp\/v2\/pages\/83\/revisions"}],"predecessor-version":[{"id":1756,"href":"https:\/\/zerocarbono.org\/en\/wp-json\/wp\/v2\/pages\/83\/revisions\/1756"}],"wp:attachment":[{"href":"https:\/\/zerocarbono.org\/en\/wp-json\/wp\/v2\/media?parent=83"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}