{"id":340,"date":"2025-10-01T23:12:21","date_gmt":"2025-10-01T23:12:21","guid":{"rendered":"https:\/\/urbanica.mx\/?page_id=340"},"modified":"2025-10-14T17:05:11","modified_gmt":"2025-10-14T17:05:11","slug":"cotizador","status":"publish","type":"page","link":"https:\/\/urbanica.mx\/index.php\/cotizador\/","title":{"rendered":"COTIZADOR"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"340\" class=\"elementor elementor-340\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a5108e6 e-flex e-con-boxed e-con e-parent\" data-id=\"a5108e6\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-75d4e51 e-con-full e-flex e-con e-child\" data-id=\"75d4e51\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-29f8a7f e-con-full e-flex e-con e-child\" data-id=\"29f8a7f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9deea98 elementor-widget elementor-widget-html\" data-id=\"9deea98\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"es\">\n<head>\n  <meta charset=\"UTF-8\">\n  <title>Cotizador de Publipuentes<\/title>\n\n  <!-- Fuente Montserrat -->\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@400;600&display=swap\" rel=\"stylesheet\">\n\n  <style>\n    .cotizador {\n      font-family: 'Montserrat', sans-serif;\n      background: #114E50; \/* fondo verde oscuro solo para el cotizador *\/\n      color: #fff; \/* texto blanco *\/\n      max-width: 600px;\n      margin: 40px auto;\n      padding: 20px;\n      border-radius: 12px;\n      box-shadow: 0 4px 12px rgba(0,0,0,0.3);\n    }\n    .cotizador h2 {\n      text-align: center;\n      margin-bottom: 20px;\n      font-weight: 600;\n      color: #fff;\n    }\n    .cotizador label {\n      display: block;\n      margin-top: 12px;\n      font-weight: 500;\n      color: #fff;\n    }\n    .cotizador select,\n    .cotizador input {\n      width: 100%;\n      margin-top: 5px;\n      padding: 10px;\n      border: 1px solid #ccc;\n      border-radius: 8px;\n      font-size: 14px;\n    }\n    .cotizador button {\n      margin-top: 20px;\n      background: #F5F400; \/* amarillo *\/\n      color: #000; \/* negro para contraste *\/\n      font-weight: 600;\n      cursor: pointer;\n      border: none;\n      padding: 12px;\n      border-radius: 8px;\n      width: 100%;\n      transition: transform 0.2s ease, opacity 0.2s ease;\n    }\n    .cotizador button:hover {\n      opacity: 0.9;\n      transform: scale(1.05);\n    }\n    .cotizador .resultado {\n      margin-top: 20px;\n      padding: 15px;\n      background: rgba(255,255,255,0.1);\n      border: 1px solid rgba(255,255,255,0.2);\n      border-radius: 10px;\n      color: #fff;\n    }\n    .cotizador .resultado p {\n      margin: 5px 0;\n    }\n    .cotizador a {\n      color: #F5F400;\n      font-weight: 600;\n      text-decoration: none;\n    }\n    .cotizador a:hover {\n      text-decoration: underline;\n    }\n  <\/style>\n<\/head>\n<body>\n\n<!-- Aqu\u00ed va tu men\u00fa (NO se ver\u00e1 afectado) -->\n\n<div class=\"cotizador\">\n  <h2>Cotiza tu publipuente<\/h2><label for=\"puente\">Selecciona un puente:<\/label> <select id=\"puente\">\n  <\/select> <label for=\"cantidad\">Cantidad de espacios:<\/label> <input type=\"number\" id=\"cantidad\" min=\"1\" value=\"1\"> <label for=\"meses\">Tiempo (meses):<\/label> <input type=\"number\" id=\"meses\" min=\"1\" value=\"1\"> <button onclick=\"calcular()\">Calcular<\/button>\n  <div id=\"resultado\" class=\"resultado\" style=\"display:none;\"><\/div>\n<\/div>\n<script>\n  const puentes = [\n    { nombre: \"Av. 5 de febrero \/ Puente denominado IMSS\", medida: \"14x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/oyW8Vtf84ikZPzZ16\" },\n    { nombre: \"Av. 5 de Febrero \/ IMSS (Vista Cruzada)\", medida: \"14x2.20\", precio: 25000, url: \"https:\/\/maps.app.goo.gl\/oyW8Vtf84ikZPzZ16\" },\n    { nombre: \"Av. 5 de febrero \/ Puente denominado IMSS (Vista natural)\", medida: \"14x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/oyW8Vtf84ikZPzZ16\" },\n    { nombre: \"Av. 5 de febrero\/ Puente denominado IMSS (Vista Cruzada)\", medida: \"14.00x2.20\", precio: 25000, url: \"https:\/\/maps.app.goo.gl\/oyW8Vtf84ikZPzZ16\" },\n    { nombre: \"5 de febrero \/ Puente denominado Tremec (Vista Natural-Cruzada)\", medida: \"14.00x1.80\", precio: 23000, url: \"https:\/\/goo.gl\/maps\/XtYw68TcjqMy7Am4A\" },\n    { nombre: \"5 de febrero \/ Puente denominado Tremec (Vista Natural)\", medida: \"14.00x1.80\", precio: 25000, url: \"https:\/\/goo.gl\/maps\/XtYw68TcjqMy7Am4A\"  },\n    { nombre: \"5 de febrero \/ Puente denominado Tremec (Vista Natural)\", medida: \"14.00x1.80\", precio: 20000, url: \"https:\/\/goo.gl\/maps\/XtYw68TcjqMy7Am4A\"  },\u2028    { nombre: \"5 de febrero \/ Puente denominado Tremec (Vista Cruzada)\", medida: \"14.00x1.80\", precio: 18000, url: \"https:\/\/goo.gl\/maps\/XtYw68TcjqMy7Am4A\"  },\n    { nombre: \"5 de febrero \/ Puente denominado Tremec (Vista Cruzada)\", medida: \"13.00x1.80\", precio: 23000, url: \"https:\/\/goo.gl\/maps\/XtYw68TcjqMy7Am4A\"  },\n    { nombre: \"5 de febrero \/ Puente denominado Tremec (Vista Natural)\", medida: \"12.00x1.80\", precio: 25000, url: \"https:\/\/goo.gl\/maps\/XtYw68TcjqMy7Am4A\"  },\n    { nombre: \"5 de febrero \/ Puente denominado Tremec (Vista Lateral)\", medida: \"12.00x1.80\", precio: 18000, url: \"https:\/\/goo.gl\/maps\/XtYw68TcjqMy7Am4A\"  },\n    { nombre: \"5 de febrero \/ Puente denominado Jurica (Vista Cruzada)\", medida: \"16.00x1.80\", precio: 25000, url: \"https:\/\/maps.app.goo.gl\/q9dcWGzAJMNzA3tu5\"  },\n    { nombre: \"5 de febrero \/ Puente denominado Jurica (Vista Natural)\", medida: \"20.00x1.80\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/q9dcWGzAJMNzA3tu5\"  },\n    { nombre: \"5 de febrero \/ Puente denominado Jurica (Vista Lateral)\", medida: \"21.00x1.80\", precio: 25000, url: \"https:\/\/maps.app.goo.gl\/q9dcWGzAJMNzA3tu5\"  },\n    { nombre: \"5 de febrero \/ Puente denominado Jurica (Vista Lateral)\", medida: \"21.00x1.80\", precio: 25000, url: \"https:\/\/maps.app.goo.gl\/q9dcWGzAJMNzA3tu5\"  },\n    { nombre: \"Paseo de la Rep\u00fablica \/ Puente denominado Urban Center (Vista Natural)\", medida: \"14.00x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/eMaPUNaMNYymgH4z7\"  },\n    { nombre: \"Paseo de la Rep\u00fablica \/ Puente denominado Urban Center (Vista Natural)\", medida: \"14.00x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/eMaPUNaMNYymgH4z7\"  },\n    { nombre: \"Paseo de la Rep\u00fablica \/ Puente denominado City Suites (Vista Natural)\", medida: \"12.00x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/FX8nBPnxFUHdzXuk8\"  },\n    { nombre: \"Paseo de la Rep\u00fablica \/ Puente denominado City Suites (Vista Natural)\", medida: \"12.00x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/FX8nBPnxFUHdzXuk8\"  },\n    { nombre: \"Paseo de la Rep\u00fablica \/ Puente denominado Salitre (Vista Natural)\", medida: \"14.00x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/4URJxhiHTnFYymhSA\"  },\n    { nombre: \"Paseo de la Rep\u00fablica \/ Puente denominado Salitre (Vista Natural)\", medida: \"14.00x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/4URJxhiHTnFYymhSA\"  },\n    { nombre: \"Paseo de la Rep\u00fablica \/ Puente denominado Interimobel (Vista Natural)\", medida: \"12.00x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/PSBT3J3X55JcdYPX7\"  },\n    { nombre: \"Paseo de la Rep\u00fablica \/ Puente denominado Interimobel (Vista Natural)\", medida: \"12.00x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/PSBT3J3X55JcdYPX7\"  },\n    { nombre: \"Juriquilla \/ Puente denominado UVM (Vista Natural)\", medida: \"12.00x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/Tryxan3FAoU8RNQb7\"  },\n    { nombre: \"Juriquilla \/ Puente denominado UVM (Vista Cruzada)\", medida: \"12.00x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/Tryxan3FAoU8RNQb7\"  },\n    { nombre: \"Juriquilla \/ Puente denominado UVM (Vista Natural)\", medida: \"12.00x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/Tryxan3FAoU8RNQb7\"  },\n    { nombre: \"Fray Jun\u00edpero \/ Puente denominado Jun\u00edpero (Vista Natural)\", medida: \"15.00x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/HkWE11CknCvtFHXs8\"  },\n    { nombre: \"Fray Jun\u00edpero \/ Puente denominado Jun\u00edpero (Vista Natural)\", medida: \"15.00x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/HkWE11CknCvtFHXs8\"  },\n    { nombre: \"Prol. Tecnol\u00f3gico \/ Puente denominado Tec de Monterrey (Vista Natural)\", medida: \"12.00x2.20\", precio: 25000, url: \"https:\/\/maps.app.goo.gl\/gaHVj3SuBZrto585A\"  },\n    { nombre: \"Prol. Tecnol\u00f3gico \/ Puente denominado Tec de Monterrey (Vista Natural)\", medida: \"12.00x2.20\", precio: 25000, url: \"https:\/\/maps.app.goo.gl\/gaHVj3SuBZrto585A\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Tercer Nivel (Vista Natural)\", medida: \"12.90x1.80\", precio: 26000, url: \"https:\/\/goo.gl\/maps\/TgKBbnCn9UEs6WJU7\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Tercer Nivel (Vista Natural)\", medida: \"15.00x1.80\", precio: 26000, url: \"https:\/\/goo.gl\/maps\/TgKBbnCn9UEs6WJU7\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Bella Vista (Vista Natural)\", medida: \"15.00x1.80\", precio: 25000, url: \"https:\/\/goo.gl\/maps\/XHNekziVxfUpYDDc7\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Bella Vista (Vista Natural)\", medida: \"15.00x1.80\", precio: 25000, url: \"https:\/\/goo.gl\/maps\/XHNekziVxfUpYDDc7\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Quer\u00e9taro 2000 (Vista Lateral)\", medida: \"12.15x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/iStcr4p1RqqYGKVf7\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Quer\u00e9taro 2000 (Vista Lateral)\", medida: \"15.15x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/iStcr4p1RqqYGKVf7\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Boulevares (Vista Natural)\", medida: \"13.00x1.80\", precio: 25000, url: \"https:\/\/goo.gl\/maps\/sAZ3vvjKg2KDjEuM9\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Boulevares (Vista Lateral)\", medida: \"15.00x1.80\", precio: 24000, url: \"https:\/\/goo.gl\/maps\/sAZ3vvjKg2KDjEuM9\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Boulevares (Vista Cruzada)\", medida: \"18.00x1.80\", precio: 22000, url: \"https:\/\/goo.gl\/maps\/sAZ3vvjKg2KDjEuM9\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Boulevares (Vista Natural - Cruzada)\", medida: \"15.00x1.80\", precio: 25000, url: \"https:\/\/goo.gl\/maps\/sAZ3vvjKg2KDjEuM9\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Boulevares (Vista Natural)\", medida: \"15.00x1.80\", precio: 25000, url: \"https:\/\/goo.gl\/maps\/sAZ3vvjKg2KDjEuM9\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Boulevares (Vista Lateral)\", medida: \"13.00x1.80\", precio: 24000, url: \"https:\/\/goo.gl\/maps\/sAZ3vvjKg2KDjEuM9\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Bandera (Vista Cruzada)\", medida: \"15.15x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/NDHFXVR2R9a3BzVVA\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Bandera (Vista Natural)\", medida: \"15.15x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/NDHFXVR2R9a3BzVVA\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Bandera (Vista Cruzada)\", medida: \"15.15x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/NDHFXVR2R9a3BzVVA\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Bandera (Vista Natural)\", medida: \"15.25x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/NDHFXVR2R9a3BzVVA\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Terminal (Vista Natural)\", medida: \"18.00x1.80\", precio: 23500, url: \"https:\/\/goo.gl\/maps\/Mv38K2FgGbDF4uux9\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Terminal (Vista Natural)\", medida: \"18.00x1.80\", precio: 23000, url: \"https:\/\/goo.gl\/maps\/Mv38K2FgGbDF4uux9\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Terminal (Vista Lateral)\", medida: \"18.00x1.80\", precio: 21000, url: \"https:\/\/goo.gl\/maps\/Mv38K2FgGbDF4uux9\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Centro C\u00edvico (Vista Natural)\", medida: \"15.20x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/scjNxLkTCs429nJg8\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Centro C\u00edvico (Vista Natural)\", medida: \"15.20x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/scjNxLkTCs429nJg8\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Centro C\u00edvico (Vista Natural)\", medida: \"15.20x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/scjNxLkTCs429nJg8\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Centro C\u00edvico (Vista Natural)\", medida: \"15.20x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/scjNxLkTCs429nJg8\"  },\n    { nombre: \"Prol. Constituyentes Ote. \/ Puente denominado Cuauht\u00e9moc (Vista Natural)\", medida: \"15.20x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/yg9nyoV18JGePwwA6\"  },\n    { nombre: \"Prol. Constituyentes Ote. \/ Puente denominado Cuauht\u00e9moc (Vista Natural)\", medida: \"15.20x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/yg9nyoV18JGePwwA6\"  },\n    { nombre: \"Av. Constituyentes \/ Puente denominado Sanborns (Vista Natural)\", medida: \"15.00x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/oV2DhrecVeG1stHaA\"  },\n    { nombre: \"Av. Constituyentes \/ Puente denominado Sanborns (Vista Natural)\", medida: \"15.00x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/oV2DhrecVeG1stHaA\"  },\n    { nombre: \"Av. Constituyentes \/ Puente denominado Plaza de las am\u00e9ricas (Vista Natural)\", medida: \"12.00x1.80\", precio: 23500, url: \"https:\/\/goo.gl\/maps\/qSAZE1HogYvJUsMk8\"  },\n    { nombre: \"Av. Constituyentes \/ Puente denominado Galer\u00edas (Vista Natural)\", medida: \"13.00x1.80\", precio: 24000, url: \"https:\/\/goo.gl\/maps\/RBfh9ba4NPeiGEFf6\"  },\n    { nombre: \"Av. Constituyentes \/ Puente denominado Galer\u00edas (Vista Natural)\", medida: \"13.00x1.80\", precio: 24000, url: \"https:\/\/goo.gl\/maps\/RBfh9ba4NPeiGEFf6\"  },\n    { nombre: \"Av. Constituyentes \/ Puente denominado Escobedo (Vista Natural)\", medida: \"21.00x1.80\", precio: 24000, url: \"https:\/\/goo.gl\/maps\/eA8Fgg6oujz5Lksx9\"  },\n    { nombre: \"Av. Constituyentes \/ Puente denominado Escobedo (Vista Natural)\", medida: \"21.00x1.80\", precio: 24000, url: \"https:\/\/goo.gl\/maps\/eA8Fgg6oujz5Lksx9\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Plaza de Toros (Vista Natural - Cruzada)\", medida: \"13.90x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/AeJ7koprPivKTQxj7\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Plaza de Toros (Vista Natural)\", medida: \"13.90x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/AeJ7koprPivKTQxj7\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Plaza de Toros (Vista Cruzada)\", medida: \"13.90x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/AeJ7koprPivKTQxj7\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Plaza de Toros (Vista Natural)\", medida: \"13.90x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/AeJ7koprPivKTQxj7\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Unidad Deportiva UAQ (Vista Cruzada)\", medida: \"15.14x2.50\", precio: 24000, url: \"https:\/\/maps.app.goo.gl\/Henp94ow3JA8u96Q6\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Unidad Deportiva UAQ (Vista Natural)\", medida: \"15.14x2.50\", precio: 25000, url: \"https:\/\/maps.app.goo.gl\/Henp94ow3JA8u96Q6\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Unidad Deportiva UAQ (Vista Cruzada)\", medida: \"15.14x2.50\", precio: 24000, url: \"https:\/\/maps.app.goo.gl\/Henp94ow3JA8u96Q6\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Unidad Deportiva UAQ (Vista Natural)\", medida: \"15.14x2.50\", precio: 25000, url: \"https:\/\/maps.app.goo.gl\/Henp94ow3JA8u96Q6\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Plaza Constituyentes (Vista Cruzada)\", medida: \"15.14x2.50\", precio: 24000, url: \"https:\/\/maps.app.goo.gl\/ykQFShs5RF4m57Tu5\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Plaza Constituyentes (Vista Cruzada)\", medida: \"15.14x2.50\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/ykQFShs5RF4m57Tu5\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Plaza Constituyentes (Vista Cruzada)\", medida: \"15.14x2.50\", precio: 24000, url: \"https:\/\/maps.app.goo.gl\/ykQFShs5RF4m57Tu5\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Plaza Constituyentes (Vista Natural)\", medida: \"15.14x2.50\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/ykQFShs5RF4m57Tu5\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Mega (Vista Cruzada)\", medida: \"12.14x2.50\", precio: 22000, url: \"https:\/\/maps.app.goo.gl\/kYdmYvJwiVrRyCuS7\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Mega (Vista Natural)\", medida: \"12.14x2.50\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/kYdmYvJwiVrRyCuS7\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Mega (Vista Cruzada)\", medida: \"12.14x2.50\", precio: 22000, url: \"https:\/\/maps.app.goo.gl\/kYdmYvJwiVrRyCuS7\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Mega (Vista Cruzada)\", medida: \"12.14x2.50\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/kYdmYvJwiVrRyCuS7\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Citadina (Vista Natural)\", medida: \"15.00x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/7rYbAwSFPC6BFw1W9\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Citadina (Vista Natural)\", medida: \"12.90x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/7rYbAwSFPC6BFw1W9\"  },\n    { nombre: \"Carretera Aeropuerto \/ Puente denominado Bombardier (Vista Natural)\", medida: \"12.00x2.20\", precio: 22000, url: \"https:\/\/maps.app.goo.gl\/WhracoJUnSzyanXVA\"  },\n    { nombre: \"Carretera Aeropuerto \/ Puente denominado UNAQ (Vista Natural)\", medida: \"12.00x2.20\", precio: 22000, url: \"https:\/\/maps.app.goo.gl\/28V9TpeTqs5aLppb8\"  },\n    { nombre: \"Carretera Aeropuerto \/ Puente denominado Galeras (Vista Natural)\", medida: \"12.00x2.20\", precio: 22000, url: \"https:\/\/maps.app.goo.gl\/28V9TpeTqs5aLppb8\"  },\n  ];\n\n  \/\/ Generar select din\u00e1micamente\n  const select = document.getElementById(\"puente\");\n  select.innerHTML = '<option value=\"\" disabled selected>-- Selecciona --<\/option>';\n  puentes.forEach((p, i) => {\n    select.innerHTML += `<option value=\"${i}\">${p.nombre} - ${p.medida} - $${p.precio.toLocaleString()}<\/option>`;\n  });\n\n  function calcular() {\n    const iva = 0.16;\n    let i = select.value;\n    if (i === \"\") return;\n    let puente = puentes[i];\n\n    let cantidad = parseInt(document.getElementById(\"cantidad\").value) || 0;\n    let meses = parseInt(document.getElementById(\"meses\").value) || 0;\n\n    let subtotal = cantidad * meses * puente.precio;\n    let impuesto = subtotal * iva;\n    let total = subtotal + impuesto;\n\n    document.getElementById(\"resultado\").style.display = \"block\";\n    document.getElementById(\"resultado\").innerHTML = `\n      <p><strong>Medida:<\/strong> ${puente.medida} mts<\/p>\n      <p><strong>Precio unitario mensual:<\/strong> $${puente.precio.toLocaleString()}<\/p>\n      <p><strong>Cantidad de espacios:<\/strong> ${cantidad}<\/p>\n      <p><strong>Tiempo:<\/strong> ${meses} mes(es)<\/p>\n      <hr>\n      <p><strong>Subtotal:<\/strong> $${subtotal.toLocaleString()}<\/p>\n      <p><strong>IVA (16%):<\/strong> $${impuesto.toLocaleString()}<\/p>\n      <p><strong>Total a pagar:<\/strong> $${total.toLocaleString()}<\/p>\n      <p><a href=\"${puente.url}\" target=\"_blank\">Ver ubicaci\u00f3n en Google Maps<\/a><\/p>\n    `;\n  }\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-70926a6 elementor-widget elementor-widget-html\" data-id=\"70926a6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- Script de Stripe -->\n<script src=\"https:\/\/js.stripe.com\/v3\/\"><\/script>\n\n<!-- Bot\u00f3n de pago -->\n<button id=\"checkout-button\" style=\"\n  margin-top: 20px;\n  background-color: #F5F400;\n  color: #000;\n  font-weight: 600;\n  border: none;\n  border-radius: 8px;\n  padding: 12px 20px;\n  cursor: pointer;\n  font-family: 'Montserrat', sans-serif;\n  font-size: 16px;\">\n  \ud83d\udcb3 Pagar con Stripe\n<\/button>\n\n<script>\n  \/\/ Reemplaza esta clave con tu CLAVE P\u00daBLICA de Stripe\n  const stripe = Stripe(\"pk_live_51SB1JjAExaGeBusUD03M1Etry7xjR8YFw4dEk09N8xSnzao8B4yRAhDydenK7nTv2LENH9FDp978xQp39kWUU1sG001TbNyDhN\");\n\n  document.getElementById(\"checkout-button\").addEventListener(\"click\", function () {\n    \/\/ Aqu\u00ed tomamos el precio que calcula tu cotizador\n    \/\/ Si ya lo tienes en una variable global, puedes cambiar esta l\u00ednea\n    const precioFinal = window.precioCotizador || 1200; \/\/ \ud83d\udcb0 Ejemplo de monto en pesos mexicanos\n\n    \/\/ Enviamos el monto al servidor (WordPress)\n    fetch(\"\/wp-json\/stripe\/v1\/create-checkout-session\", {\n      method: \"POST\",\n      headers: { \"Content-Type\": \"application\/json\" },\n      body: JSON.stringify({ amount: precioFinal })\n    })\n    .then(res => res.json())\n    .then(data => {\n      return stripe.redirectToCheckout({ sessionId: data.sessionId });\n    })\n    .catch(err => {\n      alert(\"Hubo un problema al iniciar el pago: \" + err.message);\n    });\n  });\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aaa5486 elementor-widget elementor-widget-shortcode\" data-id=\"aaa5486\" 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\">[simpay id=\"433\"]<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ad1b9fe e-con-full e-flex e-con e-child\" data-id=\"ad1b9fe\" data-element_type=\"container\" data-e-type=\"container\">\n\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-465f447 e-flex e-con-boxed e-con e-parent\" data-id=\"465f447\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-44bc54a e-con-full e-flex e-con e-child\" data-id=\"44bc54a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-391f167 e-con-full e-flex e-con e-child\" data-id=\"391f167\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1dc310c elementor-widget elementor-widget-html\" data-id=\"1dc310c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"es\">\n<head>\n  <meta charset=\"UTF-8\">\n  <title>Cotizador de Publipuentes<\/title>\n\n  <!-- Fuente Montserrat -->\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@400;600&display=swap\" rel=\"stylesheet\">\n\n  <style>\n    .cotizador {\n      font-family: 'Montserrat', sans-serif;\n      background: #114E50; \/* fondo verde oscuro solo para el cotizador *\/\n      color: #fff; \/* texto blanco *\/\n      max-width: 600px;\n      margin: 40px auto;\n      padding: 20px;\n      border-radius: 12px;\n      box-shadow: 0 4px 12px rgba(0,0,0,0.3);\n    }\n    .cotizador h2 {\n      text-align: center;\n      margin-bottom: 20px;\n      font-weight: 600;\n      color: #fff;\n    }\n    .cotizador label {\n      display: block;\n      margin-top: 12px;\n      font-weight: 500;\n      color: #fff;\n    }\n    .cotizador select,\n    .cotizador input {\n      width: 100%;\n      margin-top: 5px;\n      padding: 10px;\n      border: 1px solid #ccc;\n      border-radius: 8px;\n      font-size: 14px;\n    }\n    .cotizador button {\n      margin-top: 20px;\n      background: #F5F400; \/* amarillo *\/\n      color: #000; \/* negro para contraste *\/\n      font-weight: 600;\n      cursor: pointer;\n      border: none;\n      padding: 12px;\n      border-radius: 8px;\n      width: 100%;\n      transition: transform 0.2s ease, opacity 0.2s ease;\n    }\n    .cotizador button:hover {\n      opacity: 0.9;\n      transform: scale(1.05);\n    }\n    .cotizador .resultado {\n      margin-top: 20px;\n      padding: 15px;\n      background: rgba(255,255,255,0.1);\n      border: 1px solid rgba(255,255,255,0.2);\n      border-radius: 10px;\n      color: #fff;\n    }\n    .cotizador .resultado p {\n      margin: 5px 0;\n    }\n    .cotizador a {\n      color: #F5F400;\n      font-weight: 600;\n      text-decoration: none;\n    }\n    .cotizador a:hover {\n      text-decoration: underline;\n    }\n  <\/style>\n<\/head>\n<body>\n\n<!-- Aqu\u00ed va tu men\u00fa (NO se ver\u00e1 afectado) -->\n\n<div class=\"cotizador\">\n  <h2>Cotiza tu publipuente<\/h2><label for=\"puente\">Selecciona un puente:<\/label> <select id=\"puente\">\n  <\/select> <label for=\"cantidad\">Cantidad de espacios:<\/label> <input type=\"number\" id=\"cantidad\" min=\"1\" value=\"1\"> <label for=\"meses\">Tiempo (meses):<\/label> <input type=\"number\" id=\"meses\" min=\"1\" value=\"1\"> <button onclick=\"calcular()\">Calcular<\/button>\n  <div id=\"resultado\" class=\"resultado\" style=\"display:none;\"><\/div>\n<\/div>\n<script>\n  const puentes = [\n    { nombre: \"Av. 5 de febrero \/ Puente denominado IMSS\", medida: \"14x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/oyW8Vtf84ikZPzZ16\" },\n    { nombre: \"Av. 5 de Febrero \/ IMSS (Vista Cruzada)\", medida: \"14x2.20\", precio: 25000, url: \"https:\/\/maps.app.goo.gl\/oyW8Vtf84ikZPzZ16\" },\n    { nombre: \"Av. 5 de febrero \/ Puente denominado IMSS (Vista natural)\", medida: \"14x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/oyW8Vtf84ikZPzZ16\" },\n    { nombre: \"Av. 5 de febrero\/ Puente denominado IMSS (Vista Cruzada)\", medida: \"14.00x2.20\", precio: 25000, url: \"https:\/\/maps.app.goo.gl\/oyW8Vtf84ikZPzZ16\" },\n    { nombre: \"5 de febrero \/ Puente denominado Tremec (Vista Natural-Cruzada)\", medida: \"14.00x1.80\", precio: 23000, url: \"https:\/\/goo.gl\/maps\/XtYw68TcjqMy7Am4A\" },\n    { nombre: \"5 de febrero \/ Puente denominado Tremec (Vista Natural)\", medida: \"14.00x1.80\", precio: 25000, url: \"https:\/\/goo.gl\/maps\/XtYw68TcjqMy7Am4A\"  },\n    { nombre: \"5 de febrero \/ Puente denominado Tremec (Vista Natural)\", medida: \"14.00x1.80\", precio: 20000, url: \"https:\/\/goo.gl\/maps\/XtYw68TcjqMy7Am4A\"  },\u2028    { nombre: \"5 de febrero \/ Puente denominado Tremec (Vista Cruzada)\", medida: \"14.00x1.80\", precio: 18000, url: \"https:\/\/goo.gl\/maps\/XtYw68TcjqMy7Am4A\"  },\n    { nombre: \"5 de febrero \/ Puente denominado Tremec (Vista Cruzada)\", medida: \"13.00x1.80\", precio: 23000, url: \"https:\/\/goo.gl\/maps\/XtYw68TcjqMy7Am4A\"  },\n    { nombre: \"5 de febrero \/ Puente denominado Tremec (Vista Natural)\", medida: \"12.00x1.80\", precio: 25000, url: \"https:\/\/goo.gl\/maps\/XtYw68TcjqMy7Am4A\"  },\n    { nombre: \"5 de febrero \/ Puente denominado Tremec (Vista Lateral)\", medida: \"12.00x1.80\", precio: 18000, url: \"https:\/\/goo.gl\/maps\/XtYw68TcjqMy7Am4A\"  },\n    { nombre: \"5 de febrero \/ Puente denominado Jurica (Vista Cruzada)\", medida: \"16.00x1.80\", precio: 25000, url: \"https:\/\/maps.app.goo.gl\/q9dcWGzAJMNzA3tu5\"  },\n    { nombre: \"5 de febrero \/ Puente denominado Jurica (Vista Natural)\", medida: \"20.00x1.80\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/q9dcWGzAJMNzA3tu5\"  },\n    { nombre: \"5 de febrero \/ Puente denominado Jurica (Vista Lateral)\", medida: \"21.00x1.80\", precio: 25000, url: \"https:\/\/maps.app.goo.gl\/q9dcWGzAJMNzA3tu5\"  },\n    { nombre: \"5 de febrero \/ Puente denominado Jurica (Vista Lateral)\", medida: \"21.00x1.80\", precio: 25000, url: \"https:\/\/maps.app.goo.gl\/q9dcWGzAJMNzA3tu5\"  },\n    { nombre: \"Paseo de la Rep\u00fablica \/ Puente denominado Urban Center (Vista Natural)\", medida: \"14.00x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/eMaPUNaMNYymgH4z7\"  },\n    { nombre: \"Paseo de la Rep\u00fablica \/ Puente denominado Urban Center (Vista Natural)\", medida: \"14.00x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/eMaPUNaMNYymgH4z7\"  },\n    { nombre: \"Paseo de la Rep\u00fablica \/ Puente denominado City Suites (Vista Natural)\", medida: \"12.00x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/FX8nBPnxFUHdzXuk8\"  },\n    { nombre: \"Paseo de la Rep\u00fablica \/ Puente denominado City Suites (Vista Natural)\", medida: \"12.00x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/FX8nBPnxFUHdzXuk8\"  },\n    { nombre: \"Paseo de la Rep\u00fablica \/ Puente denominado Salitre (Vista Natural)\", medida: \"14.00x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/4URJxhiHTnFYymhSA\"  },\n    { nombre: \"Paseo de la Rep\u00fablica \/ Puente denominado Salitre (Vista Natural)\", medida: \"14.00x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/4URJxhiHTnFYymhSA\"  },\n    { nombre: \"Paseo de la Rep\u00fablica \/ Puente denominado Interimobel (Vista Natural)\", medida: \"12.00x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/PSBT3J3X55JcdYPX7\"  },\n    { nombre: \"Paseo de la Rep\u00fablica \/ Puente denominado Interimobel (Vista Natural)\", medida: \"12.00x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/PSBT3J3X55JcdYPX7\"  },\n    { nombre: \"Juriquilla \/ Puente denominado UVM (Vista Natural)\", medida: \"12.00x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/Tryxan3FAoU8RNQb7\"  },\n    { nombre: \"Juriquilla \/ Puente denominado UVM (Vista Cruzada)\", medida: \"12.00x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/Tryxan3FAoU8RNQb7\"  },\n    { nombre: \"Juriquilla \/ Puente denominado UVM (Vista Natural)\", medida: \"12.00x2.20\", precio: 27000, url: \"https:\/\/maps.app.goo.gl\/Tryxan3FAoU8RNQb7\"  },\n    { nombre: \"Fray Jun\u00edpero \/ Puente denominado Jun\u00edpero (Vista Natural)\", medida: \"15.00x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/HkWE11CknCvtFHXs8\"  },\n    { nombre: \"Fray Jun\u00edpero \/ Puente denominado Jun\u00edpero (Vista Natural)\", medida: \"15.00x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/HkWE11CknCvtFHXs8\"  },\n    { nombre: \"Prol. Tecnol\u00f3gico \/ Puente denominado Tec de Monterrey (Vista Natural)\", medida: \"12.00x2.20\", precio: 25000, url: \"https:\/\/maps.app.goo.gl\/gaHVj3SuBZrto585A\"  },\n    { nombre: \"Prol. Tecnol\u00f3gico \/ Puente denominado Tec de Monterrey (Vista Natural)\", medida: \"12.00x2.20\", precio: 25000, url: \"https:\/\/maps.app.goo.gl\/gaHVj3SuBZrto585A\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Tercer Nivel (Vista Natural)\", medida: \"12.90x1.80\", precio: 26000, url: \"https:\/\/goo.gl\/maps\/TgKBbnCn9UEs6WJU7\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Tercer Nivel (Vista Natural)\", medida: \"15.00x1.80\", precio: 26000, url: \"https:\/\/goo.gl\/maps\/TgKBbnCn9UEs6WJU7\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Bella Vista (Vista Natural)\", medida: \"15.00x1.80\", precio: 25000, url: \"https:\/\/goo.gl\/maps\/XHNekziVxfUpYDDc7\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Bella Vista (Vista Natural)\", medida: \"15.00x1.80\", precio: 25000, url: \"https:\/\/goo.gl\/maps\/XHNekziVxfUpYDDc7\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Quer\u00e9taro 2000 (Vista Lateral)\", medida: \"12.15x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/iStcr4p1RqqYGKVf7\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Quer\u00e9taro 2000 (Vista Lateral)\", medida: \"15.15x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/iStcr4p1RqqYGKVf7\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Boulevares (Vista Natural)\", medida: \"13.00x1.80\", precio: 25000, url: \"https:\/\/goo.gl\/maps\/sAZ3vvjKg2KDjEuM9\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Boulevares (Vista Lateral)\", medida: \"15.00x1.80\", precio: 24000, url: \"https:\/\/goo.gl\/maps\/sAZ3vvjKg2KDjEuM9\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Boulevares (Vista Cruzada)\", medida: \"18.00x1.80\", precio: 22000, url: \"https:\/\/goo.gl\/maps\/sAZ3vvjKg2KDjEuM9\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Boulevares (Vista Natural - Cruzada)\", medida: \"15.00x1.80\", precio: 25000, url: \"https:\/\/goo.gl\/maps\/sAZ3vvjKg2KDjEuM9\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Boulevares (Vista Natural)\", medida: \"15.00x1.80\", precio: 25000, url: \"https:\/\/goo.gl\/maps\/sAZ3vvjKg2KDjEuM9\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Boulevares (Vista Lateral)\", medida: \"13.00x1.80\", precio: 24000, url: \"https:\/\/goo.gl\/maps\/sAZ3vvjKg2KDjEuM9\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Bandera (Vista Cruzada)\", medida: \"15.15x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/NDHFXVR2R9a3BzVVA\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Bandera (Vista Natural)\", medida: \"15.15x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/NDHFXVR2R9a3BzVVA\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Bandera (Vista Cruzada)\", medida: \"15.15x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/NDHFXVR2R9a3BzVVA\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Bandera (Vista Natural)\", medida: \"15.25x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/NDHFXVR2R9a3BzVVA\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Terminal (Vista Natural)\", medida: \"18.00x1.80\", precio: 23500, url: \"https:\/\/goo.gl\/maps\/Mv38K2FgGbDF4uux9\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Terminal (Vista Natural)\", medida: \"18.00x1.80\", precio: 23000, url: \"https:\/\/goo.gl\/maps\/Mv38K2FgGbDF4uux9\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Terminal (Vista Lateral)\", medida: \"18.00x1.80\", precio: 21000, url: \"https:\/\/goo.gl\/maps\/Mv38K2FgGbDF4uux9\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Centro C\u00edvico (Vista Natural)\", medida: \"15.20x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/scjNxLkTCs429nJg8\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Centro C\u00edvico (Vista Natural)\", medida: \"15.20x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/scjNxLkTCs429nJg8\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Centro C\u00edvico (Vista Natural)\", medida: \"15.20x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/scjNxLkTCs429nJg8\"  },\n    { nombre: \"Blvd. Bernardo Quintana \/ Puente denominado Centro C\u00edvico (Vista Natural)\", medida: \"15.20x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/scjNxLkTCs429nJg8\"  },\n    { nombre: \"Prol. Constituyentes Ote. \/ Puente denominado Cuauht\u00e9moc (Vista Natural)\", medida: \"15.20x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/yg9nyoV18JGePwwA6\"  },\n    { nombre: \"Prol. Constituyentes Ote. \/ Puente denominado Cuauht\u00e9moc (Vista Natural)\", medida: \"15.20x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/yg9nyoV18JGePwwA6\"  },\n    { nombre: \"Av. Constituyentes \/ Puente denominado Sanborns (Vista Natural)\", medida: \"15.00x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/oV2DhrecVeG1stHaA\"  },\n    { nombre: \"Av. Constituyentes \/ Puente denominado Sanborns (Vista Natural)\", medida: \"15.00x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/oV2DhrecVeG1stHaA\"  },\n    { nombre: \"Av. Constituyentes \/ Puente denominado Plaza de las am\u00e9ricas (Vista Natural)\", medida: \"12.00x1.80\", precio: 23500, url: \"https:\/\/goo.gl\/maps\/qSAZE1HogYvJUsMk8\"  },\n    { nombre: \"Av. Constituyentes \/ Puente denominado Galer\u00edas (Vista Natural)\", medida: \"13.00x1.80\", precio: 24000, url: \"https:\/\/goo.gl\/maps\/RBfh9ba4NPeiGEFf6\"  },\n    { nombre: \"Av. Constituyentes \/ Puente denominado Galer\u00edas (Vista Natural)\", medida: \"13.00x1.80\", precio: 24000, url: \"https:\/\/goo.gl\/maps\/RBfh9ba4NPeiGEFf6\"  },\n    { nombre: \"Av. Constituyentes \/ Puente denominado Escobedo (Vista Natural)\", medida: \"21.00x1.80\", precio: 24000, url: \"https:\/\/goo.gl\/maps\/eA8Fgg6oujz5Lksx9\"  },\n    { nombre: \"Av. Constituyentes \/ Puente denominado Escobedo (Vista Natural)\", medida: \"21.00x1.80\", precio: 24000, url: \"https:\/\/goo.gl\/maps\/eA8Fgg6oujz5Lksx9\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Plaza de Toros (Vista Natural - Cruzada)\", medida: \"13.90x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/AeJ7koprPivKTQxj7\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Plaza de Toros (Vista Natural)\", medida: \"13.90x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/AeJ7koprPivKTQxj7\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Plaza de Toros (Vista Cruzada)\", medida: \"13.90x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/AeJ7koprPivKTQxj7\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Plaza de Toros (Vista Natural)\", medida: \"13.90x2.20\", precio: 27000, url: \"https:\/\/goo.gl\/maps\/AeJ7koprPivKTQxj7\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Unidad Deportiva UAQ (Vista Cruzada)\", medida: \"15.14x2.50\", precio: 24000, url: \"https:\/\/maps.app.goo.gl\/Henp94ow3JA8u96Q6\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Unidad Deportiva UAQ (Vista Natural)\", medida: \"15.14x2.50\", precio: 25000, url: \"https:\/\/maps.app.goo.gl\/Henp94ow3JA8u96Q6\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Unidad Deportiva UAQ (Vista Cruzada)\", medida: \"15.14x2.50\", precio: 24000, url: \"https:\/\/maps.app.goo.gl\/Henp94ow3JA8u96Q6\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Unidad Deportiva UAQ (Vista Natural)\", medida: \"15.14x2.50\", precio: 25000, url: \"https:\/\/maps.app.goo.gl\/Henp94ow3JA8u96Q6\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Plaza Constituyentes (Vista Cruzada)\", medida: \"15.14x2.50\", precio: 24000, url: \"https:\/\/maps.app.goo.gl\/ykQFShs5RF4m57Tu5\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Plaza Constituyentes (Vista Cruzada)\", medida: \"15.14x2.50\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/ykQFShs5RF4m57Tu5\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Plaza Constituyentes (Vista Cruzada)\", medida: \"15.14x2.50\", precio: 24000, url: \"https:\/\/maps.app.goo.gl\/ykQFShs5RF4m57Tu5\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Plaza Constituyentes (Vista Natural)\", medida: \"15.14x2.50\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/ykQFShs5RF4m57Tu5\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Mega (Vista Cruzada)\", medida: \"12.14x2.50\", precio: 22000, url: \"https:\/\/maps.app.goo.gl\/kYdmYvJwiVrRyCuS7\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Mega (Vista Natural)\", medida: \"12.14x2.50\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/kYdmYvJwiVrRyCuS7\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Mega (Vista Cruzada)\", medida: \"12.14x2.50\", precio: 22000, url: \"https:\/\/maps.app.goo.gl\/kYdmYvJwiVrRyCuS7\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Mega (Vista Cruzada)\", medida: \"12.14x2.50\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/kYdmYvJwiVrRyCuS7\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Citadina (Vista Natural)\", medida: \"15.00x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/7rYbAwSFPC6BFw1W9\"  },\n    { nombre: \"Av. Constituyentes\/ Puente denominado Citadina (Vista Natural)\", medida: \"12.90x2.20\", precio: 26000, url: \"https:\/\/maps.app.goo.gl\/7rYbAwSFPC6BFw1W9\"  },\n    { nombre: \"Carretera Aeropuerto \/ Puente denominado Bombardier (Vista Natural)\", medida: \"12.00x2.20\", precio: 22000, url: \"https:\/\/maps.app.goo.gl\/WhracoJUnSzyanXVA\"  },\n    { nombre: \"Carretera Aeropuerto \/ Puente denominado UNAQ (Vista Natural)\", medida: \"12.00x2.20\", precio: 22000, url: \"https:\/\/maps.app.goo.gl\/28V9TpeTqs5aLppb8\"  },\n    { nombre: \"Carretera Aeropuerto \/ Puente denominado Galeras (Vista Natural)\", medida: \"12.00x2.20\", precio: 22000, url: \"https:\/\/maps.app.goo.gl\/28V9TpeTqs5aLppb8\"  },\n  ];\n\n  \/\/ Generar select din\u00e1micamente\n  const select = document.getElementById(\"puente\");\n  select.innerHTML = '<option value=\"\" disabled selected>-- Selecciona --<\/option>';\n  puentes.forEach((p, i) => {\n    select.innerHTML += `<option value=\"${i}\">${p.nombre} - ${p.medida} - $${p.precio.toLocaleString()}<\/option>`;\n  });\n\n  function calcular() {\n    const iva = 0.16;\n    let i = select.value;\n    if (i === \"\") return;\n    let puente = puentes[i];\n\n    let cantidad = parseInt(document.getElementById(\"cantidad\").value) || 0;\n    let meses = parseInt(document.getElementById(\"meses\").value) || 0;\n\n    let subtotal = cantidad * meses * puente.precio;\n    let impuesto = subtotal * iva;\n    let total = subtotal + impuesto;\n\n    document.getElementById(\"resultado\").style.display = \"block\";\n    document.getElementById(\"resultado\").innerHTML = `\n      <p><strong>Medida:<\/strong> ${puente.medida} mts<\/p>\n      <p><strong>Precio unitario mensual:<\/strong> $${puente.precio.toLocaleString()}<\/p>\n      <p><strong>Cantidad de espacios:<\/strong> ${cantidad}<\/p>\n      <p><strong>Tiempo:<\/strong> ${meses} mes(es)<\/p>\n      <hr>\n      <p><strong>Subtotal:<\/strong> $${subtotal.toLocaleString()}<\/p>\n      <p><strong>IVA (16%):<\/strong> $${impuesto.toLocaleString()}<\/p>\n      <p><strong>Total a pagar:<\/strong> $${total.toLocaleString()}<\/p>\n      <p><a href=\"${puente.url}\" target=\"_blank\">Ver ubicaci\u00f3n en Google Maps<\/a><\/p>\n    `;\n  }\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0c06ea5 elementor-widget elementor-widget-shortcode\" data-id=\"0c06ea5\" 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\">[simpay id=\"433\"]<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bf49615 elementor-widget elementor-widget-html\" data-id=\"bf49615\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- Incluye el script de Stripe -->\n<script src=\"https:\/\/js.stripe.com\/v3\/\"><\/script>\n\n<!-- Bot\u00f3n de pago -->\n<button id=\"checkout-button\" style=\"\n  background:#635bff;\n  color:#fff;\n  padding:12px 24px;\n  border:none;\n  border-radius:6px;\n  cursor:pointer;\n  font-family:Montserrat, sans-serif;\n  font-size:16px;\">\n  Pagar mi publipuente\n<\/button>\n\n<script>\n  \/\/ Reemplaza con tu clave p\u00fablica de Stripe (modo prueba)\n  const stripe = Stripe(\"pk_test_TU_LLAVE_PUBLICA_DE_STRIPE\");\n\n  document.getElementById(\"checkout-button\").addEventListener(\"click\", function () {\n\n    \/\/ Aqu\u00ed debes obtener el precio desde tu cotizador\n    \/\/ Por ejemplo, si lo tienes en una variable global:\n    const precioFinal = window.precioCotizador || 1500; \/\/ <-- Reemplaza con tu l\u00f3gica real\n\n    \/\/ Enviamos el precio al backend de WordPress\n    fetch(\"\/wp-json\/stripe\/v1\/create-checkout-session\", {\n      method: \"POST\",\n      headers: { \"Content-Type\": \"application\/json\" },\n      body: JSON.stringify({ amount: precioFinal })\n    })\n    .then(res => res.json())\n    .then(data => {\n      return stripe.redirectToCheckout({ sessionId: data.sessionId });\n    })\n    .catch(err => {\n      alert(\"Error al iniciar el pago: \" + err.message);\n    });\n  });\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a71c322 e-con-full e-flex e-con e-child\" data-id=\"a71c322\" data-element_type=\"container\" data-e-type=\"container\">\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>Cotizador de Publipuentes Cotiza tu publipuente Selecciona un puente: Cantidad de espacios: Tiempo (meses): Calcular \ud83d\udcb3 Pagar con Stripe [simpay id=&#8221;433&#8243;] Cotizador de Publipuentes Cotiza tu publipuente Selecciona un puente: Cantidad de espacios: Tiempo (meses): Calcular [simpay id=&#8221;433&#8243;] Pagar mi publipuente<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-340","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/urbanica.mx\/index.php\/wp-json\/wp\/v2\/pages\/340","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/urbanica.mx\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/urbanica.mx\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/urbanica.mx\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/urbanica.mx\/index.php\/wp-json\/wp\/v2\/comments?post=340"}],"version-history":[{"count":46,"href":"https:\/\/urbanica.mx\/index.php\/wp-json\/wp\/v2\/pages\/340\/revisions"}],"predecessor-version":[{"id":481,"href":"https:\/\/urbanica.mx\/index.php\/wp-json\/wp\/v2\/pages\/340\/revisions\/481"}],"wp:attachment":[{"href":"https:\/\/urbanica.mx\/index.php\/wp-json\/wp\/v2\/media?parent=340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}