{"id":992087,"date":"2026-09-04T11:04:40","date_gmt":"2026-09-04T09:04:40","guid":{"rendered":"https:\/\/www.ascen.net\/?page_id=992087"},"modified":"2026-09-05T14:04:39","modified_gmt":"2026-09-05T12:04:39","slug":"adhesio","status":"publish","type":"page","link":"https:\/\/www.ascen.net\/es\/adhesio\/","title":{"rendered":"Formulari d&#8217;adhesi\u00f3"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"992087\" class=\"elementor elementor-992087\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4a89c9a e-flex e-con-boxed e-con e-parent\" data-id=\"4a89c9a\" 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-a6aa24e elementor-widget__width-inherit elementor-widget elementor-widget-shortcode\" data-id=\"a6aa24e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n<!-- ASCEN Solicitud Adhesio v1 -->\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Crimson+Pro:wght@400;500&family=Space+Grotesk:wght@400;500&display=swap');\n\n.sol-wrap { box-sizing: border-box; max-width: 780px; margin: 0 auto; padding: 0 16px; font-family: 'Space Grotesk', sans-serif; overflow-x: hidden; }\n.sol-wrap *, .sol-wrap *::before, .sol-wrap *::after { box-sizing: border-box; }\n\n.sol-header { text-align: center; margin-bottom: 1.75rem; }\n.sol-title { font-family: 'Crimson Pro', serif; font-size: 30px !important; font-weight: 400; color: #00313c; margin: 0 0 10px !important; line-height: 1.25 !important; padding: 0 !important; }\n.sol-sub { font-size: 14.5px; color: #6b7676; line-height: 1.55; max-width: 560px; margin: 0 auto; }\n\n.sol-progress { display: flex; align-items: center; justify-content: center; gap: 5px; margin: 1.5rem 0 1.75rem; flex-wrap: wrap; }\n.sol-dot { width: 7px; height: 7px; border-radius: 50%; background: #dde3e3; transition: all .25s; }\n.sol-dot.sol-dot-active { background: #ec613d; width: 20px; border-radius: 5px; }\n.sol-dot.sol-dot-done { background: #00313c; }\n\n.sol-card { background: #fff; border: 1px solid #eee; border-radius: 16px; padding: 2rem 1.75rem; box-shadow: 0 2px 12px rgba(0,0,0,.04); }\n\n.sol-step { display: none; }\n.sol-step.sol-step-active { display: block; animation: solFade .3s ease; }\n@keyframes solFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }\n\n.sol-step-title { font-family: 'Crimson Pro', serif; font-size: 21px !important; font-weight: 400; color: #00313c; margin: 0 0 6px !important; padding: 0 !important; }\n.sol-step-sub { font-size: 13px; color: #8a9494; line-height: 1.5; margin: 0 0 20px; }\n\n.sol-group { margin-bottom: 16px; }\n.sol-label { display: block; font-size: 13px; font-weight: 600; color: #00313c; margin-bottom: 6px; }\n.sol-label .sol-req { color: #ec613d; }\n.sol-optional { display: inline-block; font-size: 10.5px; font-weight: 500; color: #8a9494; background: #f0f3f4; padding: 2px 8px; border-radius: 10px; margin-left: 6px; vertical-align: middle; }\n\n.sol-file { display: block; border: 2px dashed #dde3e3; border-radius: 10px; padding: 18px; text-align: center; cursor: pointer; transition: all .15s; }\n.sol-file:hover { border-color: #ec613d; background: #fef9f7; }\n.sol-file.sol-file-has { border-color: #1a7a42; background: #f2f9f5; border-style: solid; }\n.sol-file input { display: none; }\n.sol-file-icon { width: 26px; height: 26px; margin: 0 auto 6px; stroke: #8a9494; }\n.sol-file.sol-file-has .sol-file-icon { stroke: #1a7a42; }\n.sol-file-text { font-size: 12.5px; color: #6b7676; }\n.sol-file-name { font-size: 12.5px; color: #1a7a42; font-weight: 600; }\n\n.sol-input, .sol-select { box-sizing: border-box !important; width: 100%; height: 42px; padding: 0 14px !important; border: 1px solid #dde3e3 !important; border-radius: 10px; font-size: 14px; outline: none; background: #fff !important; color: #00313c; font-family: inherit; }\n.sol-input:focus, .sol-select:focus { border-color: #ec613d !important; }\n.sol-input.sol-input-err { border-color: #ec613d !important; background: #fef7f5 !important; }\n\n.sol-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px; }\n.sol-row3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 14px; }\n\n.sol-help { font-size: 11.5px; color: #8a9494; margin: 4px 0 0; line-height: 1.4; }\n.sol-err-msg { font-size: 12px; color: #c44a2a; margin: 4px 0 0; display: none; }\n.sol-err-msg.sol-show { display: block; }\n\n\/* Checkbox adre\u00e7a comercial *\/\n.sol-check-row { display: flex; align-items: center; gap: 8px; margin: 4px 0 16px; }\n.sol-check-row input[type=\"checkbox\"] { accent-color: #ec613d; cursor: pointer; width: 16px; height: 16px; }\n.sol-check-row label { font-size: 13px; color: #4a5555; cursor: pointer; }\n\n.sol-comercial-block { display: none; padding: 16px; background: #fafbfb; border-radius: 12px; margin-bottom: 16px; }\n.sol-comercial-block.sol-show { display: block; }\n\n\/* Combobox municipi *\/\n.sol-combo { position: relative; }\n.sol-combo-input { box-sizing: border-box !important; width: 100%; height: 42px; padding: 0 14px !important; border: 1px solid #dde3e3 !important; border-radius: 10px; font-size: 14px; outline: none; background: #fff !important; color: #00313c; font-family: inherit; cursor: pointer; }\n.sol-combo-input:focus { border-color: #ec613d !important; }\n.sol-combo-input:disabled { background: #f5f8f8 !important; color: #aab4b4; cursor: not-allowed; }\n.sol-combo-list { display: none; position: absolute; top: calc(100% + 4px); left: 0; right: 0; max-height: 200px; overflow-y: auto; background: #fff; border: 1px solid #dde3e3; border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.1); z-index: 20; }\n.sol-combo-list.sol-combo-open { display: block; }\n.sol-combo-opt { padding: 9px 14px; font-size: 13.5px; color: #00313c; cursor: pointer; }\n.sol-combo-opt:hover, .sol-combo-opt.sol-combo-hover { background: #f5f8f8; }\n\n\/* Info icona *\/\n.sol-label-info { position: relative; display: flex; align-items: center; gap: 4px; flex-wrap: nowrap; }\n.sol-info-btn { width: 13px !important; height: 13px !important; min-width: 13px !important; border-radius: 50% !important; border: 1px solid #c5cccc !important; background: transparent !important; color: #aab4b4 !important; font-size: 9px !important; font-style: italic; font-family: Georgia, serif; line-height: 1 !important; cursor: pointer; padding: 0 !important; margin: 0 !important; display: inline-flex !important; align-items: center; justify-content: center; flex-shrink: 0; transition: all .15s; box-shadow: none !important; }\n.sol-info-btn:hover, .sol-info-btn.sol-info-open { border-color: #ec613d !important; color: #ec613d !important; }\n.sol-info-tip { display: none; position: absolute; top: calc(100% + 6px); left: 0; z-index: 15; width: 260px; max-width: calc(100vw - 56px); background: #00313c; color: #fff; font-size: 11.5px; line-height: 1.5; padding: 9px 11px; border-radius: 8px; box-shadow: 0 6px 18px rgba(0,0,0,.15); white-space: normal; }\n.sol-info-tip.sol-info-open { display: block; }\n\n\/* Area de contacte (secc 5) *\/\n.sol-contact-card { border: 1px solid #eee; border-radius: 12px; padding: 16px; margin-bottom: 12px; background: #fafbfb; position: relative; }\n.sol-contact-card-num { font-size: 11.5px; font-weight: 700; color: #ec613d; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 10px; }\n.sol-contact-remove { position: absolute; top: 12px; right: 12px; width: 22px; height: 22px; border-radius: 50%; border: none !important; background: #f0f3f4 !important; color: #8a9494 !important; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0 !important; box-shadow: none !important; }\n.sol-contact-remove:hover { background: #fde8e0 !important; color: #c44a2a !important; }\n.sol-contact-remove svg { width: 12px; height: 12px; }\n.sol-contact-fields { display: grid; gap: 10px; margin-bottom: 12px; }\n.sol-role-label { font-size: 12px; font-weight: 600; color: #00313c; margin-bottom: 8px; display: block; }\n.sol-role-chips { display: flex; flex-wrap: wrap; gap: 7px; }\n.sol-role-chip { padding: 6px 13px; border-radius: 20px; border: 1px solid #dde3e3; background: #fff; color: #5a6868; font-size: 12.5px; cursor: pointer; transition: all .15s; user-select: none; }\n.sol-role-chip:hover { border-color: #00313c; }\n.sol-role-chip.sol-role-chip-active { background: #00313c; color: #fff; border-color: #00313c; }\n.sol-role-err { font-size: 11.5px; color: #c44a2a; margin-top: 6px; display: none; }\n.sol-role-err.sol-show { display: block; }\n\n.sol-add-contact-btn { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 18px; border: 1.5px dashed #dde3e3 !important; border-radius: 30px; background: transparent !important; color: #5a6868 !important; font-size: 13px; font-weight: 500; cursor: pointer; transition: all .15s; box-shadow: none !important; font-family: inherit; }\n.sol-add-contact-btn:hover { border-color: #ec613d !important; color: #ec613d !important; }\n.sol-add-contact-btn:disabled { opacity: .4; cursor: not-allowed; }\n.sol-add-contact-btn svg { width: 15px; height: 15px; }\n\n\/* Quota *\/\n.sol-quota-box { background: #f5f8f8; border-radius: 12px; padding: 18px; text-align: center; margin-top: 14px; display: none; }\n.sol-quota-box.sol-show { display: block; }\n.sol-quota-pre { font-size: 12.5px; color: #6b7676; margin-bottom: 4px; }\n.sol-quota-num { font-family: 'Crimson Pro', serif; font-size: 34px; font-weight: 500; color: #ec613d; line-height: 1; margin-bottom: 4px; }\n.sol-quota-post { font-size: 10.5px; color: #aab4b4; }\n\n\/* Info 6 *\/\n.sol-info-block { font-size: 12.5px; color: #6b7676; line-height: 1.7; white-space: pre-line; background: #fafbfb; padding: 16px; border-radius: 12px; }\n\n\/* Signatura canvas *\/\n.sol-sig-wrap { border: 1.5px dashed #dde3e3; border-radius: 12px; padding: 8px; background: #fafbfb; }\n.sol-sig-canvas { width: 100%; height: 160px; display: block; background: #fff; border-radius: 8px; touch-action: none; cursor: crosshair; }\n.sol-sig-actions { display: flex; justify-content: space-between; align-items: center; margin-top: 8px; }\n.sol-sig-clear { background: transparent !important; border: none !important; color: #8a9494 !important; font-size: 12.5px; cursor: pointer; padding: 4px !important; box-shadow: none !important; font-family: inherit; }\n.sol-sig-clear:hover { color: #00313c !important; }\n\n.sol-consent-item { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 10px; font-size: 13px; color: #4a5555; line-height: 1.4; }\n.sol-consent-item input { margin-top: 2px; accent-color: #ec613d; flex-shrink: 0; }\n\n.sol-continue-btn { display: inline-flex; align-items: center; gap: 6px; height: 44px; padding: 0 28px; border: none !important; border-radius: 30px; background: #00313c !important; color: #fff !important; font-size: 14px; font-weight: 600; cursor: pointer; transition: background .15s; box-shadow: none !important; font-family: inherit; }\n.sol-continue-btn:hover { background: #001a20 !important; }\n\n.sol-submit-btn { width: 100%; height: 48px; border: none !important; border-radius: 30px; background: #ec613d !important; color: #fff !important; font-size: 15px; font-weight: 600; cursor: pointer; transition: background .15s; box-shadow: none !important; font-family: inherit; }\n.sol-submit-btn:hover { background: #d9532f !important; }\n.sol-submit-btn:disabled { opacity: .6; cursor: not-allowed; }\n\n.sol-nav { display: flex; justify-content: space-between; align-items: center; margin-top: 1.75rem; min-height: 32px; }\n.sol-back { background: transparent !important; border: none !important; color: #8a9494 !important; font-size: 13px !important; cursor: pointer; padding: 8px 4px !important; margin: 0 !important; display: inline-flex !important; align-items: center; gap: 5px; font-family: inherit; box-shadow: none !important; }\n.sol-back:hover { color: #00313c !important; }\n.sol-back.sol-hidden { opacity: 0 !important; pointer-events: none; }\n\n.sol-msg { margin-top: 14px; padding: 11px 15px; border-radius: 10px; font-size: 13.5px; display: none; text-align: center; }\n.sol-msg.sol-err { display: block; background: #fde8e0; color: #c44a2a; }\n\n.sol-thanks { text-align: center; padding: 1.5rem 0.5rem; }\n.sol-thanks-icon { width: 60px; height: 60px; margin: 0 auto 20px; background: #e8f5ee; border-radius: 50%; display: flex; align-items: center; justify-content: center; }\n.sol-thanks-icon svg { width: 30px; height: 30px; stroke: #1a7a42; }\n.sol-thanks-title { font-family: 'Crimson Pro', serif; font-size: 24px; font-weight: 400; color: #00313c; margin: 0 0 12px; }\n.sol-thanks-text { font-size: 14px; color: #6b7676; line-height: 1.6; max-width: 440px; margin: 0 auto; }\n\n@media (max-width: 640px) {\n    .sol-row, .sol-row3 { grid-template-columns: 1fr; }\n    .sol-card { padding: 1.5rem 1.25rem; }\n    .sol-title { font-size: 24px !important; }\n}\n<\/style>\n\n<div class=\"sol-wrap\" id=\"sol-wrap\">\n\n    <div id=\"sol-form-container\">\n    <div class=\"sol-header\">\n        <h2 class=\"sol-title\">Solicitud de adhesi\u00f3n<\/h2>\n        <p class=\"sol-sub\">Esta solicitud inicia el proceso de adhesi\u00f3n de vuestra empresa a la Asociaci\u00f3n Catalana de Empresas de Limpieza (ASCEN). Una vez revisada, nos pondremos en contacto para formalizar el alta.<\/p>\n    <\/div>\n\n    <div class=\"sol-progress\" id=\"sol-progress\">\n                <span class=\"sol-dot sol-dot-active\" data-step=\"1\"><\/span>\n                <span class=\"sol-dot\" data-step=\"2\"><\/span>\n                <span class=\"sol-dot\" data-step=\"3\"><\/span>\n                <span class=\"sol-dot\" data-step=\"4\"><\/span>\n                <span class=\"sol-dot\" data-step=\"5\"><\/span>\n                <span class=\"sol-dot\" data-step=\"6\"><\/span>\n            <\/div>\n\n    <div class=\"sol-card\">\n\n        <!-- PAS 1: Empresa -->\n        <div class=\"sol-step sol-step-active\" data-step=\"1\">\n            <h3 class=\"sol-step-title\">1. Datos de la empresa<\/h3>\n\n            <div class=\"sol-group\">\n                <label class=\"sol-label\">Raz\u00f3n social <span class=\"sol-req\">*<\/span><\/label>\n                <input type=\"text\" class=\"sol-input\" id=\"sol-rao\" required autocomplete=\"off\">\n            <\/div>\n\n            <div class=\"sol-row\">\n                <div class=\"sol-group\">\n                    <label class=\"sol-label\">NIF \/ CIF <span class=\"sol-req\">*<\/span><\/label>\n                    <input type=\"text\" class=\"sol-input\" id=\"sol-nif\" required autocomplete=\"off\">\n                    <p class=\"sol-err-msg\" id=\"sol-nif-err\">El NIF\/CIF introducido no parece v\u00e1lido. Rev\u00edsalo antes de continuar.<\/p>\n                <\/div>\n                <div class=\"sol-group\">\n                    <label class=\"sol-label\">Tel\u00e9fono <span class=\"sol-req\">*<\/span><\/label>\n                    <input type=\"tel\" class=\"sol-input\" id=\"sol-telefon\" required autocomplete=\"off\">\n                <\/div>\n            <\/div>\n\n            <div class=\"sol-group\">\n                <label class=\"sol-label\">Web<\/label>\n                <input type=\"url\" class=\"sol-input\" id=\"sol-web\" placeholder=\"https:\/\/\" autocomplete=\"off\">\n            <\/div>\n\n            <h4 class=\"sol-label\" style=\"margin-top:22px;\">Direcci\u00f3n fiscal <span class=\"sol-req\">*<\/span><\/h4>\n\n            <div class=\"sol-group\">\n                <label class=\"sol-label\">Calle y n\u00famero <span class=\"sol-req\">*<\/span><\/label>\n                <input type=\"text\" class=\"sol-input\" id=\"sol-carrer-fiscal\" required autocomplete=\"off\">\n            <\/div>\n\n            <div class=\"sol-row3\">\n                <div class=\"sol-group\">\n                    <label class=\"sol-label\">Provincia <span class=\"sol-req\">*<\/span><\/label>\n                    <select class=\"sol-select\" id=\"sol-provincia-fiscal\" required autocomplete=\"off\">\n                        <option value=\"\">--<\/option>\n                        <option value=\"Barcelona\">Barcelona<\/option>\n                        <option value=\"Girona\">Girona<\/option>\n                        <option value=\"Lleida\">Lleida<\/option>\n                        <option value=\"Tarragona\">Tarragona<\/option>\n                        <option value=\"Otra\">Otra<\/option>\n                    <\/select>\n                <\/div>\n                <div class=\"sol-group\">\n                    <label class=\"sol-label\">C\u00f3digo postal <span class=\"sol-req\">*<\/span><\/label>\n                    <input type=\"text\" class=\"sol-input\" id=\"sol-cp-fiscal\" maxlength=\"5\" required autocomplete=\"off\">\n                <\/div>\n            <\/div>\n\n            <div class=\"sol-group\">\n                <label class=\"sol-label\">Municipio <span class=\"sol-req\">*<\/span><\/label>\n                <div class=\"sol-combo\" id=\"sol-combo-fiscal\">\n                    <input type=\"text\" class=\"sol-combo-input\" id=\"sol-municipi-fiscal-input\" placeholder=\"Primero selecciona una provincia\" autocomplete=\"off\" disabled required>\n                    <input type=\"hidden\" id=\"sol-municipi-fiscal-value\">\n                    <div class=\"sol-combo-list\" id=\"sol-municipi-fiscal-list\"><\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"sol-check-row\">\n                <input type=\"checkbox\" id=\"sol-check-comercial\">\n                <label for=\"sol-check-comercial\">Tengo una direcci\u00f3n comercial diferente a la fiscal<\/label>\n            <\/div>\n\n            <div class=\"sol-comercial-block\" id=\"sol-comercial-block\">\n                <h4 class=\"sol-label\">Direcci\u00f3n comercial<\/h4>\n                <div class=\"sol-group\">\n                    <label class=\"sol-label\">Calle y n\u00famero<\/label>\n                    <input type=\"text\" class=\"sol-input\" id=\"sol-carrer-comercial\" autocomplete=\"off\">\n                <\/div>\n                <div class=\"sol-row3\">\n                    <div class=\"sol-group\">\n                        <label class=\"sol-label\">Provincia<\/label>\n                        <select class=\"sol-select\" id=\"sol-provincia-comercial\" autocomplete=\"off\">\n                            <option value=\"\">--<\/option>\n                            <option value=\"Barcelona\">Barcelona<\/option>\n                            <option value=\"Girona\">Girona<\/option>\n                            <option value=\"Lleida\">Lleida<\/option>\n                            <option value=\"Tarragona\">Tarragona<\/option>\n                            <option value=\"Otra\">Otra<\/option>\n                        <\/select>\n                    <\/div>\n                    <div class=\"sol-group\">\n                        <label class=\"sol-label\">C\u00f3digo postal<\/label>\n                        <input type=\"text\" class=\"sol-input\" id=\"sol-cp-comercial\" maxlength=\"5\" autocomplete=\"off\">\n                    <\/div>\n                <\/div>\n                <div class=\"sol-group\">\n                    <label class=\"sol-label\">Municipio<\/label>\n                    <div class=\"sol-combo\" id=\"sol-combo-comercial\">\n                        <input type=\"text\" class=\"sol-combo-input\" id=\"sol-municipi-comercial-input\" placeholder=\"Primero selecciona una provincia\" autocomplete=\"off\" disabled>\n                        <input type=\"hidden\" id=\"sol-municipi-comercial-value\">\n                        <div class=\"sol-combo-list\" id=\"sol-municipi-comercial-list\"><\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"sol-group\">\n                <label class=\"sol-label\">Logotipo de la empresa <span class=\"sol-optional\">Opcional<\/span><\/label>\n                <p class=\"sol-help\" style=\"margin-bottom:8px;\">Se utilizar\u00e1 para generar la ficha de vuestra empresa en el directorio de asociados de la web de ASCEN.<\/p>\n                <label class=\"sol-file\" id=\"sol-logo-label\" for=\"sol-logo\">\n                    <svg class=\"sol-file-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"\/><circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\"\/><path d=\"M21 15l-5-5L5 21\"\/><\/svg>\n                    <div class=\"sol-file-text\" id=\"sol-logo-text\">Haz clic para subir el logotipo<\/div>\n                    <input type=\"file\" id=\"sol-logo\" accept=\".jpg,.jpeg,.png,.webp,image\/jpeg,image\/png,image\/webp\">\n                <\/label>\n            <\/div>\n\n            <div style=\"text-align:right; margin-top:8px;\">\n                <button type=\"button\" class=\"sol-continue-btn\" id=\"sol-continue-1\">Continuar<\/button>\n            <\/div>\n        <\/div>\n\n        <!-- PAS 2: Representant -->\n        <div class=\"sol-step\" data-step=\"2\">\n            <h3 class=\"sol-step-title\">2. Representaci\u00f3n de la empresa<\/h3>\n            <p class=\"sol-step-sub\">Persona representante ante ASCEN. Recibir\u00e1 todas las comunicaciones de la asociaci\u00f3n.<\/p>\n\n            <div class=\"sol-group\">\n                <label class=\"sol-label\">Nombre y apellidos <span class=\"sol-req\">*<\/span><\/label>\n                <input type=\"text\" class=\"sol-input\" id=\"sol-rep-nom\" required autocomplete=\"off\">\n            <\/div>\n            <div class=\"sol-row\">\n                <div class=\"sol-group\">\n                    <label class=\"sol-label\">Cargo <span class=\"sol-req\">*<\/span><\/label>\n                    <input type=\"text\" class=\"sol-input\" id=\"sol-rep-carrec\" required autocomplete=\"off\">\n                <\/div>\n                <div class=\"sol-group\">\n                    <label class=\"sol-label\">Tel\u00e9fono <span class=\"sol-req\">*<\/span><\/label>\n                    <input type=\"tel\" class=\"sol-input\" id=\"sol-rep-telefon\" required autocomplete=\"off\">\n                <\/div>\n            <\/div>\n            <div class=\"sol-group\">\n                <label class=\"sol-label\">Correo electr\u00f3nico <span class=\"sol-req\">*<\/span><\/label>\n                <input type=\"email\" class=\"sol-input\" id=\"sol-rep-email\" required autocomplete=\"off\">\n            <\/div>\n\n            <div style=\"text-align:right; margin-top:8px;\">\n                <button type=\"button\" class=\"sol-continue-btn\" id=\"sol-continue-2\">Continuar<\/button>\n            <\/div>\n        <\/div>\n\n        <!-- PAS 3: Bancaries -->\n        <div class=\"sol-step\" data-step=\"3\">\n            <h3 class=\"sol-step-title\">3. Datos bancarios<\/h3>\n            <div class=\"sol-group\">\n                <label class=\"sol-label\">Titular de la cuenta <span class=\"sol-req\">*<\/span><\/label>\n                <input type=\"text\" class=\"sol-input\" id=\"sol-titular-compte\" required autocomplete=\"off\">\n            <\/div>\n            <div class=\"sol-group\">\n                <label class=\"sol-label\">IBAN <span class=\"sol-req\">*<\/span><\/label>\n                <input type=\"text\" class=\"sol-input\" id=\"sol-iban\" placeholder=\"ESXX XXXX XXXX XXXX XXXX XXXX\" required autocomplete=\"off\">\n                <p class=\"sol-err-msg\" id=\"sol-iban-err\">El IBAN introducido no parece v\u00e1lido.<\/p>\n            <\/div>\n            <p class=\"sol-help\">ASCEN remitir\u00e1 posteriormente el mandato SEPA para su firma. El alta como empresa asociada ser\u00e1 efectiva una vez recibido el mandato debidamente formalizado. En caso de baja, deber\u00e1 comunicarse antes del d\u00eda 15 del mes en curso para evitar la facturaci\u00f3n de dicho mes.<\/p>\n\n            <div style=\"text-align:right; margin-top:8px;\">\n                <button type=\"button\" class=\"sol-continue-btn\" id=\"sol-continue-3\">Continuar<\/button>\n            <\/div>\n        <\/div>\n\n        <!-- PAS 4: Facturacio -->\n        <div class=\"sol-step\" data-step=\"4\">\n            <h3 class=\"sol-step-title\">4. Facturaci\u00f3n y cuota<\/h3>\n            <p class=\"sol-step-sub\">La cuota de ASCEN se determina en funci\u00f3n de la facturaci\u00f3n anual de la empresa en Catalu\u00f1a. Esta informaci\u00f3n nos permite calcular vuestra cuota correspondiente y sostener el trabajo de representaci\u00f3n institucional y negociaci\u00f3n colectiva del sector, as\u00ed como la estructura y los servicios ofrecidos a las empresas asociadas.<\/p>\n\n            <div class=\"sol-group\">\n                <label class=\"sol-label\">Facturaci\u00f3n anual aproximada (\u20ac) <span class=\"sol-req\">*<\/span><\/label>\n                <input type=\"number\" class=\"sol-input\" id=\"sol-facturacio\" min=\"0\" required autocomplete=\"off\">\n            <\/div>\n\n            <div class=\"sol-quota-box\" id=\"sol-quota-box\">\n                <p class=\"sol-quota-pre\">La cuota mensual estimada para tu empresa es de<\/p>\n                <p class=\"sol-quota-num\" id=\"sol-quota-num\">\u2014<\/p>\n                <p class=\"sol-quota-post\">IVA no incluido. Importe orientativo, sujeto a confirmaci\u00f3n por ASCEN.<\/p>\n            <\/div>\n\n            <label class=\"sol-consent-item\" style=\"margin-top:16px;\">\n                <input type=\"checkbox\" id=\"sol-declaracio\">\n                <span>Declaro, bajo mi responsabilidad, que la cifra de facturaci\u00f3n indicada es cierta, sin perjuicio de que ASCEN pueda solicitar informaci\u00f3n adicional para corroborarla.<\/span>\n            <\/label>\n            <p class=\"sol-err-msg\" id=\"sol-declaracio-err\">Debes aceptar la declaraci\u00f3n responsable de facturaci\u00f3n.<\/p>\n\n            <div style=\"text-align:right; margin-top:8px;\">\n                <button type=\"button\" class=\"sol-continue-btn\" id=\"sol-continue-4\">Continuar<\/button>\n            <\/div>\n        <\/div>\n\n        <!-- PAS 5: Contactes d'area (dinamic, fins a 6) -->\n        <div class=\"sol-step\" data-step=\"5\">\n            <h3 class=\"sol-step-title\">5. Contactos adicionales por \u00e1rea<\/h3>\n            <p class=\"sol-step-sub\">Esta secci\u00f3n es especialmente \u00fatil para empresas con una estructura m\u00e1s amplia, donde cada \u00e1rea tiene una persona responsable diferente. Nos permite hacer llegar la informaci\u00f3n relevante directamente a quien la necesita.<\/p>\n            <p class=\"sol-step-sub\">La persona representante indicada en la secci\u00f3n 2 recibir\u00e1 siempre todas las comunicaciones de ASCEN, independientemente de los contactos adicionales que a\u00f1ad\u00e1is aqu\u00ed; los contactos de \u00e1rea reciben solo las comunicaciones espec\u00edficas de su \u00e1mbito.<\/p>\n\n            <div id=\"sol-contacts-list\"><\/div>\n\n            <button type=\"button\" class=\"sol-add-contact-btn\" id=\"sol-add-contact\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg>\n                A\u00f1adir contacto            <\/button>\n            <p class=\"sol-help\" id=\"sol-contact-limit-msg\" style=\"display:none;\">Se ha alcanzado el m\u00e1ximo de 6 contactos adicionales.<\/p>\n\n            <div style=\"text-align:right; margin-top:16px;\">\n                <button type=\"button\" class=\"sol-continue-btn\" id=\"sol-continue-5\">Continuar<\/button>\n            <\/div>\n        <\/div>\n\n        <!-- PAS 6: Signatura i consentiment -->\n        <div class=\"sol-step\" data-step=\"6\">\n            <h3 class=\"sol-step-title\">7. Firma y consentimiento<\/h3>\n            <p class=\"sol-step-sub\">Al firmar esta solicitud, la persona representante, en nombre de la empresa solicitante, declara conocer y aceptar las siguientes condiciones:<\/p>\n\n            <label class=\"sol-consent-item\"><input type=\"checkbox\" id=\"sol-consent1\"><span>Que la informaci\u00f3n facilitada es veraz.<\/span><\/label>\n            <label class=\"sol-consent-item\"><input type=\"checkbox\" id=\"sol-consent2\"><span>Que conoce y acepta los Estatutos y el Reglamento Interno de ASCEN.<\/span><\/label>\n            <label class=\"sol-consent-item\"><input type=\"checkbox\" id=\"sol-consent3\"><span>Que autoriza el tratamiento de los datos conforme a la normativa vigente.<\/span><\/label>\n            <label class=\"sol-consent-item\"><input type=\"checkbox\" id=\"sol-consent4\"><span>Que ha le\u00eddo y acepta la <a href=\"\/es\/politica-de-privacidad\/\" target=\"_blank\">pol\u00edtica de privacidad<\/a><\/span><\/label>\n\n            <div class=\"sol-group\" style=\"margin-top:18px;\">\n                <label class=\"sol-label\">Firma <span class=\"sol-req\">*<\/span><\/label>\n                <p class=\"sol-help\" style=\"margin-bottom:8px;\">Firma con el dedo o el rat\u00f3n dentro del recuadro.<\/p>\n                <div class=\"sol-sig-wrap\">\n                    <canvas class=\"sol-sig-canvas\" id=\"sol-sig-canvas\"><\/canvas>\n                <\/div>\n                <div class=\"sol-sig-actions\">\n                    <button type=\"button\" class=\"sol-sig-clear\" id=\"sol-sig-clear\">Borrar<\/button>\n                    <span><\/span>\n                <\/div>\n                <p class=\"sol-err-msg\" id=\"sol-sig-err\">Debes firmar antes de enviar la solicitud.<\/p>\n            <\/div>\n\n            <button type=\"button\" class=\"sol-submit-btn\" id=\"sol-submit\" style=\"margin-top:18px;\">Enviar solicitud<\/button>\n            <div class=\"sol-msg\" id=\"sol-msg\"><\/div>\n        <\/div>\n\n        <div class=\"sol-nav\">\n            <button type=\"button\" class=\"sol-back sol-hidden\" id=\"sol-back\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"19\" y1=\"12\" x2=\"5\" y2=\"12\"\/><polyline points=\"12 19 5 12 12 5\"\/><\/svg>\n                Atr\u00e1s            <\/button>\n            <span><\/span>\n        <\/div>\n\n    <\/div>\n    <\/div>\n\n    <div id=\"sol-thanks\" class=\"sol-thanks\" style=\"display:none;\">\n        <div class=\"sol-thanks-icon\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"\/><polyline points=\"22 4 12 14.01 9 11.01\"\/><\/svg>\n        <\/div>\n        <h2 class=\"sol-thanks-title\">\u00a1Solicitud recibida!<\/h2>\n        <p class=\"sol-thanks-text\" id=\"sol-thanks-msg\">Hemos recibido vuestra solicitud de adhesi\u00f3n correctamente. El equipo de ASCEN la revisar\u00e1 y se pondr\u00e1 en contacto con vosotros para completar el proceso.<\/p>\n    <\/div>\n\n<\/div>\n\n<script type=\"application\/json\" id=\"sol-municipis-data\">{\"Barcelona\":[\"Badalona\",\"Barber\\u00e0 del Vall\\u00e8s\",\"Barcelona\",\"Berga\",\"Calella\",\"Calldetenes\",\"Canet de Mar\",\"Castellar del Vall\\u00e8s\",\"Castellbisbal\",\"Castelldefels\",\"Cerdanyola del Vall\\u00e8s\",\"Cervell\\u00f3\",\"Cornell\\u00e0 de Llobregat\",\"El Prat de Llobregat\",\"Esparreguera\",\"Esplugues de Llobregat\",\"Gav\\u00e0\",\"Gelida\",\"Granollers\",\"Gurb\",\"Hospitalet de Llobregat\",\"Igualada\",\"La Garriga\",\"Malgrat de Mar\",\"Manlleu\",\"Manresa\",\"Martorell\",\"Matar\\u00f3\",\"Molins de Rei\",\"Mollet del Vall\\u00e8s\",\"Montcada i Reixac\",\"Palau-solit\\u00e0 i Plegamans\",\"Parets del Vall\\u00e8s\",\"Piera\",\"Pineda de Mar\",\"Premi\\u00e0 de Mar\",\"Ripollet\",\"Rub\\u00ed\",\"Sabadell\",\"Sant Adri\\u00e0 de Bes\\u00f2s\",\"Sant Andreu de Llavaneres\",\"Sant Andreu de la Barca\",\"Sant Boi de Llobregat\",\"Sant Cugat del Vall\\u00e8s\",\"Sant Feliu de Codines\",\"Sant Feliu de Llobregat\",\"Sant Joan Desp\\u00ed\",\"Sant Just Desvern\",\"Sant Quirze del Vall\\u00e8s\",\"Sant Sadurn\\u00ed d'Anoia\",\"Sant Salvador de Guardiola\",\"Sant Vicen\\u00e7 de Montalt\",\"Sant Vicen\\u00e7 dels Horts\",\"Santa Coloma de Gramenet\",\"Santa Perp\\u00e8tua de Mogoda\",\"Sitges\",\"Subirats\",\"Terrassa\",\"Tiana\",\"Vic\",\"Viladecans\",\"Vilafranca del Pened\\u00e8s\",\"Vilanova i la Geltr\\u00fa\"],\"Girona\":[\"Albons\",\"Arbucies\",\"Bisbal d'Empord\\u00e0\",\"Calonge i Sant Antoni\",\"Cass\\u00e0 de la Selva\",\"Castell\\u00f3 d'Emp\\u00faries\",\"Figueres\",\"Girona\",\"La Jonquera\",\"La Pera\",\"Lloret del Mar\",\"Mont-ras\",\"Olot\",\"Palafrugell\",\"Palamos\",\"Pals\",\"Platja d'Aro\",\"Puigcerda\",\"Ripoll\",\"Riudellots de la Selva\",\"Roses\",\"Salt\",\"Sant Feliu de Guixols\",\"Sant Julia del Llor I Bonmati\",\"Santa Cristina d'Aro\",\"Sils\",\"Torroella de Fluvia\",\"Torroella de Montgri\",\"Tossa de Mar\",\"Vilob\\u00ed d'Onyar\"],\"Lleida\":[\"Alcarr\\u00e1s\",\"Anglesola\",\"Balaguer\",\"Cervera\",\"El Pont de Suert\",\"La Seu d'Urgell\",\"Lleida\",\"Mollerussa\",\"Sort\",\"Tarrega\"],\"Tarragona\":[\"Amposta\",\"Calafell\",\"Cambrils\",\"El Vendrell\",\"Els Pallaresos\",\"Hospitalet de l'Infant\",\"La Canonja\",\"La Selva del Camp\",\"La Senia\",\"La S\\u00e9nia\",\"Pla de Santa Maria, el\",\"Pobla de Montorn\\u00e8s, la\",\"Reus\",\"Riudoms\",\"Roda de Bera\",\"Tarragona\",\"Torredembarra\",\"Tortosa\",\"Valls\"]}<\/script>\n<script type=\"application\/json\" id=\"sol-trams-data\">[{\"min\":1,\"max\":100000,\"quota\":30},{\"min\":100001,\"max\":500000,\"quota\":52},{\"min\":500001,\"max\":1000000,\"quota\":72},{\"min\":1000001,\"max\":3000000,\"quota\":100},{\"min\":3000001,\"max\":7000000,\"quota\":225},{\"min\":7000001,\"max\":14000000,\"quota\":335},{\"min\":14000001,\"max\":30000000,\"quota\":460},{\"min\":30000001,\"max\":null,\"quota\":510}]<\/script>\n<script type=\"application\/json\" id=\"sol-txt-data\">{\"pageTitle\":\"Solicitud de adhesi\\u00f3n\",\"pageSub\":\"Esta solicitud inicia el proceso de adhesi\\u00f3n de vuestra empresa a la Asociaci\\u00f3n Catalana de Empresas de Limpieza (ASCEN). Una vez revisada, nos pondremos en contacto para formalizar el alta.\",\"s1Title\":\"1. Datos de la empresa\",\"lblRao\":\"Raz\\u00f3n social\",\"lblNif\":\"NIF \\\/ CIF\",\"lblTelefon\":\"Tel\\u00e9fono\",\"lblWeb\":\"Web\",\"lblAdrecaFiscal\":\"Direcci\\u00f3n fiscal\",\"lblCarrer\":\"Calle y n\\u00famero\",\"lblCp\":\"C\\u00f3digo postal\",\"lblProvincia\":\"Provincia\",\"lblMunicipi\":\"Municipio\",\"chkComercial\":\"Tengo una direcci\\u00f3n comercial diferente a la fiscal\",\"lblAdrecaComercial\":\"Direcci\\u00f3n comercial\",\"municipiPhDefault\":\"Primero selecciona una provincia\",\"municipiPhProv\":\"Escribe para buscar en {prov}...\",\"lblLogo\":\"Logotipo de la empresa\",\"logoPlaceholder\":\"Haz clic para subir el logotipo\",\"logoHelp\":\"Se utilizar\\u00e1 para generar la ficha de vuestra empresa en el directorio de asociados de la web de ASCEN.\",\"errNifFormat\":\"El NIF\\\/CIF introducido no parece v\\u00e1lido. Rev\\u00edsalo antes de continuar.\",\"s2Title\":\"2. Representaci\\u00f3n de la empresa\",\"s2Sub\":\"Persona representante ante ASCEN. Recibir\\u00e1 todas las comunicaciones de la asociaci\\u00f3n.\",\"lblNom\":\"Nombre y apellidos\",\"lblCarrec\":\"Cargo\",\"lblEmail\":\"Correo electr\\u00f3nico\",\"s3Title\":\"3. Datos bancarios\",\"lblTitularCompte\":\"Titular de la cuenta\",\"lblIban\":\"IBAN\",\"s3Note\":\"ASCEN remitir\\u00e1 posteriormente el mandato SEPA para su firma. El alta como empresa asociada ser\\u00e1 efectiva una vez recibido el mandato debidamente formalizado. En caso de baja, deber\\u00e1 comunicarse antes del d\\u00eda 15 del mes en curso para evitar la facturaci\\u00f3n de dicho mes.\",\"s4Title\":\"4. Facturaci\\u00f3n y cuota\",\"s4Sub\":\"La cuota de ASCEN se determina en funci\\u00f3n de la facturaci\\u00f3n anual de la empresa en Catalu\\u00f1a. Esta informaci\\u00f3n nos permite calcular vuestra cuota correspondiente y sostener el trabajo de representaci\\u00f3n institucional y negociaci\\u00f3n colectiva del sector, as\\u00ed como la estructura y los servicios ofrecidos a las empresas asociadas.\",\"declaracio\":\"Declaro, bajo mi responsabilidad, que la cifra de facturaci\\u00f3n indicada es cierta, sin perjuicio de que ASCEN pueda solicitar informaci\\u00f3n adicional para corroborarla.\",\"errDeclaracio\":\"Debes aceptar la declaraci\\u00f3n responsable de facturaci\\u00f3n.\",\"lblFacturacio\":\"Facturaci\\u00f3n anual aproximada (\\u20ac)\",\"quotaResultPre\":\"La cuota mensual estimada para tu empresa es de\",\"quotaResultPost\":\"IVA no incluido. Importe orientativo, sujeto a confirmaci\\u00f3n por ASCEN.\",\"s5Title\":\"5. Contactos adicionales por \\u00e1rea\",\"s5Sub1\":\"Esta secci\\u00f3n es especialmente \\u00fatil para empresas con una estructura m\\u00e1s amplia, donde cada \\u00e1rea tiene una persona responsable diferente. Nos permite hacer llegar la informaci\\u00f3n relevante directamente a quien la necesita.\",\"s5Sub2\":\"La persona representante indicada en la secci\\u00f3n 2 recibir\\u00e1 siempre todas las comunicaciones de ASCEN, independientemente de los contactos adicionales que a\\u00f1ad\\u00e1is aqu\\u00ed; los contactos de \\u00e1rea reciben solo las comunicaciones espec\\u00edficas de su \\u00e1mbito.\",\"areaDireccio\":\"Direcci\\u00f3n\",\"areaRrhh\":\"Recursos Humanos\",\"areaOperacions\":\"Operaciones y Compras\",\"areaAdmin\":\"Administraci\\u00f3n y Contabilidad\",\"infoDireccio\":\"Recibe novedades sectoriales, informaci\\u00f3n relevante sobre el sector y convocatorias de actos o encuentros empresariales.\",\"infoRrhh\":\"Recibe normativa laboral, convenio colectivo, formaci\\u00f3n sectorial y cuestiones vinculadas a la gesti\\u00f3n de personal.\",\"infoOperacions\":\"Recibe jornadas t\\u00e9cnicas, innovaci\\u00f3n, iniciativas sectoriales y actividades vinculadas con la actividad operativa y los socios colaboradores.\",\"infoAdmin\":\"Recibe comunicaciones administrativas y de facturaci\\u00f3n relacionadas con la cuota de la asociaci\\u00f3n.\",\"addContactBtn\":\"A\\u00f1adir contacto\",\"contactLimitMsg\":\"Se ha alcanzado el m\\u00e1ximo de 6 contactos adicionales.\",\"removeContact\":\"Eliminar\",\"contactLabel\":\"Contacto\",\"rolesLabel\":\"\\u00c1rea o \\u00e1reas de este contacto\",\"errRoles\":\"Selecciona al menos un \\u00e1rea para este contacto.\",\"optionalTag\":\"Opcional\",\"s6Title\":\"6. Protecci\\u00f3n de datos\",\"s6Body\":\"ASCEN, ASOCIACI\\u00d3N CATALANA DE EMPRESAS DE LIMPIEZA, es responsable del tratamiento de los datos personales del interesado y le informa que estos datos ser\\u00e1n tratados de acuerdo con lo dispuesto en el Reglamento (UE) 2016\\\/679, de 27 de abril de 2016 (RGPD). Este tratamiento se realizar\\u00e1 exclusivamente para la ejecuci\\u00f3n del contrato y los datos se conservar\\u00e1n de manera indefinida con fines de archivo mientras exista un inter\\u00e9s mutuo por este motivo.\\n\\nEst\\u00e1 prevista la cesi\\u00f3n de datos a aquellas entidades con las que ASCEN colabora y a aquellas que comporten un beneficio para las empresas asociadas, as\\u00ed como a la Administraci\\u00f3n cuando sea necesario por obligaci\\u00f3n legal. Podr\\u00e9is ejercer los derechos de acceso, rectificaci\\u00f3n, supresi\\u00f3n y portabilidad de vuestros datos dirigi\\u00e9ndoos a ASCEN o mediante el correo electr\\u00f3nico ascen@ascen.net.\",\"s7Title\":\"7. Firma y consentimiento\",\"s7Intro\":\"Al firmar esta solicitud, la persona representante, en nombre de la empresa solicitante, declara conocer y aceptar las siguientes condiciones:\",\"consent1\":\"Que la informaci\\u00f3n facilitada es veraz.\",\"consent2\":\"Que conoce y acepta los Estatutos y el Reglamento Interno de ASCEN.\",\"consent3\":\"Que autoriza el tratamiento de los datos conforme a la normativa vigente.\",\"consent4Pre\":\"Que ha le\\u00eddo y acepta la\",\"consent4Link\":\"pol\\u00edtica de privacidad\",\"privacyUrl\":\"\\\/es\\\/politica-de-privacidad\\\/\",\"lblSignatura\":\"Firma\",\"signaturaHelp\":\"Firma con el dedo o el rat\\u00f3n dentro del recuadro.\",\"btnEsborrar\":\"Borrar\",\"errSignatura\":\"Debes firmar antes de enviar la solicitud.\",\"submitBtn\":\"Enviar solicitud\",\"sendingBtn\":\"Enviando...\",\"backBtn\":\"Atr\\u00e1s\",\"continueBtn\":\"Continuar\",\"thanksTitle\":\"\\u00a1Solicitud recibida!\",\"thanksBody\":\"Hemos recibido vuestra solicitud de adhesi\\u00f3n correctamente. El equipo de ASCEN la revisar\\u00e1 y se pondr\\u00e1 en contacto con vosotros para completar el proceso.\",\"errRequired\":\"Este campo es obligatorio.\",\"errEmail\":\"Introduce un correo v\\u00e1lido.\",\"errIban\":\"El IBAN introducido no parece v\\u00e1lido.\",\"errConsent\":\"Debes aceptar las tres condiciones para continuar.\",\"errConnection\":\"Error de conexi\\u00f3n. Vuelve a intentarlo.\",\"errGeneric\":\"No se ha podido completar la solicitud.\"}<\/script>\n\n<script>\n(function(){\n    var wrap = document.getElementById('sol-wrap');\n    var MUNICIPIS = JSON.parse(document.getElementById('sol-municipis-data').textContent);\n    var TRAMS = JSON.parse(document.getElementById('sol-trams-data').textContent);\n    var T = JSON.parse(document.getElementById('sol-txt-data').textContent);\n    var LANG = \"es\";\n    var currentStep = 1;\n    var TOTAL_STEPS = 7;\n\n    function goToStep(n){\n        currentStep = n;\n        wrap.querySelectorAll('.sol-step').forEach(function(s){\n            s.classList.toggle('sol-step-active', parseInt(s.getAttribute('data-step')) === n);\n        });\n        wrap.querySelectorAll('.sol-dot').forEach(function(d){\n            var ds = parseInt(d.getAttribute('data-step'));\n            d.classList.toggle('sol-dot-active', ds === n);\n            d.classList.toggle('sol-dot-done', ds < n);\n        });\n        document.getElementById('sol-back').classList.toggle('sol-hidden', n === 1);\n        wrap.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n        \/* El canvas de signatura nomes es pot dimensionar correctament quan\n           el seu contenidor es visible (getBoundingClientRect retorna 0x0\n           si esta amagat amb display:none). El redimensionem cada cop que\n           s'entra al pas 7. *\/\n        if ( 6 === n && typeof resizeCanvas === 'function' ) {\n            setTimeout( resizeCanvas, 50 );\n        }\n    }\n    document.getElementById('sol-back').addEventListener('click', function(){\n        if (currentStep > 1) goToStep(currentStep - 1);\n    });\n\n    \/* ---------------- Validacio NIF\/CIF (mateix algorisme que PHP) ---------------- *\/\n    function validaNif(nifRaw){\n        var nif = (nifRaw || '').toUpperCase().replace(\/[\\s-]\/g, '');\n        var reNif = \/^[0-9]{8}[A-Z]$\/;\n        var reNie = \/^[XYZ][0-9]{7}[A-Z]$\/;\n        var reCif = \/^[A-HJNPQRSUVW][0-9]{7}[0-9A-J]$\/;\n\n        if (reNif.test(nif) || reNie.test(nif)) {\n            var lletres = 'TRWAGMYFPDXBNJZSQVHLCKE';\n            var num = nif;\n            var first = num.charAt(0);\n            if (first === 'X') num = '0' + num.slice(1);\n            else if (first === 'Y') num = '1' + num.slice(1);\n            else if (first === 'Z') num = '2' + num.slice(1);\n            var digits = parseInt(num.substring(0, 8), 10);\n            var esperada = lletres.charAt(digits % 23);\n            return esperada === nif.slice(-1);\n        }\n\n        if (reCif.test(nif)) {\n            var lletra = nif.charAt(0);\n            var numeros = nif.substring(1, 8);\n            var control = nif.slice(-1);\n            var sumaParells = 0, sumaSenars = 0;\n            for (var i = 0; i < 7; i++) {\n                var d = parseInt(numeros.charAt(i), 10);\n                if (i % 2 === 0) {\n                    var doble = d * 2;\n                    sumaSenars += (doble > 9) ? (doble - 9) : doble;\n                } else {\n                    sumaParells += d;\n                }\n            }\n            var sumaTotal = sumaParells + sumaSenars;\n            var digitControl = (10 - (sumaTotal % 10)) % 10;\n            var lletresControl = 'JABCDEFGHI';\n            if (['K','L','M','X','A','B','E','H'].indexOf(lletra) !== -1) {\n                return String(digitControl) === control;\n            }\n            return (String(digitControl) === control) || (lletresControl.charAt(digitControl) === control);\n        }\n        return false;\n    }\n\n    var nifInput = document.getElementById('sol-nif');\n    var nifErr = document.getElementById('sol-nif-err');\n    nifInput.addEventListener('blur', function(){\n        var val = this.value.trim();\n        if (!val) return;\n        var valid = validaNif(val);\n        this.classList.toggle('sol-input-err', !valid);\n        nifErr.classList.toggle('sol-show', !valid);\n    });\n    nifInput.addEventListener('input', function(){\n        this.classList.remove('sol-input-err');\n        nifErr.classList.remove('sol-show');\n    });\n\n    \/* ---------------- Validacio IBAN (mod 97) ---------------- *\/\n    function validaIban(ibanRaw){\n        var iban = (ibanRaw || '').toUpperCase().replace(\/\\s\/g, '');\n        if (!\/^[A-Z]{2}[0-9]{2}[A-Z0-9]{10,30}$\/.test(iban)) return false;\n        var rearranged = iban.substring(4) + iban.substring(0, 4);\n        var numeric = '';\n        for (var i = 0; i < rearranged.length; i++) {\n            var ch = rearranged.charAt(i);\n            if (\/[A-Z]\/.test(ch)) {\n                numeric += (ch.charCodeAt(0) - 55).toString();\n            } else {\n                numeric += ch;\n            }\n        }\n        var remainder = numeric;\n        while (remainder.length > 2) {\n            var chunk = remainder.substring(0, 9);\n            remainder = (parseInt(chunk, 10) % 97).toString() + remainder.substring(chunk.length);\n        }\n        return parseInt(remainder, 10) % 97 === 1;\n    }\n\n    var ibanInput = document.getElementById('sol-iban');\n    var ibanErr = document.getElementById('sol-iban-err');\n    ibanInput.addEventListener('blur', function(){\n        var val = this.value.trim();\n        if (!val) return;\n        var valid = validaIban(val);\n        this.classList.toggle('sol-input-err', !valid);\n        ibanErr.classList.toggle('sol-show', !valid);\n    });\n    ibanInput.addEventListener('input', function(){\n        this.classList.remove('sol-input-err');\n        ibanErr.classList.remove('sol-show');\n    });\n\n    \/* ---------------- Combobox municipi (per fiscal i comercial) ---------------- *\/\n    function setupMunicipiCombo(prefix, provinciaSelectId){\n        var input = document.getElementById(prefix + '-input');\n        var hidden = document.getElementById(prefix + '-value');\n        var list = document.getElementById(prefix + '-list');\n        var provinciaSelect = document.getElementById(provinciaSelectId);\n        var currentProvincia = '';\n        var filtered = [];\n        var hoverIdx = -1;\n\n        function normalize(s){\n            return s.toLowerCase().normalize('NFD').replace(\/[\\u0300-\\u036f]\/g, '');\n        }\n        function render(filter){\n            if (!currentProvincia || currentProvincia === 'Otra') return;\n            var term = normalize(filter || '');\n            var llista = MUNICIPIS[currentProvincia] || [];\n            filtered = llista.filter(function(m){ return normalize(m).indexOf(term) >= 0; }).slice(0, 60);\n            hoverIdx = -1;\n            var html = '';\n            filtered.forEach(function(m, i){\n                html += '<div class=\"sol-combo-opt\" data-idx=\"' + i + '\">' + m + '<\/div>';\n            });\n            list.innerHTML = html || '<div class=\"sol-combo-opt\" style=\"color:#aab4b4;\">\u2014<\/div>';\n            list.classList.add('sol-combo-open');\n            list.querySelectorAll('.sol-combo-opt').forEach(function(opt){\n                opt.addEventListener('click', function(){\n                    var idx = parseInt(this.getAttribute('data-idx'));\n                    if (filtered[idx]) {\n                        input.value = filtered[idx];\n                        hidden.value = filtered[idx];\n                    }\n                    list.classList.remove('sol-combo-open');\n                });\n            });\n        }\n\n        provinciaSelect.addEventListener('change', function(){\n            currentProvincia = this.value;\n            input.value = '';\n            hidden.value = '';\n            if (currentProvincia === 'Otra') {\n                input.disabled = false;\n                input.placeholder = LANG === 'es' ? 'Escribe el municipio' : 'Escriu el municipi';\n                input.setAttribute('data-freetext', '1');\n            } else if (currentProvincia) {\n                input.disabled = false;\n                input.removeAttribute('data-freetext');\n                input.placeholder = T.municipiPhProv.replace('{prov}', currentProvincia);\n            } else {\n                input.disabled = true;\n                input.placeholder = T.municipiPhDefault;\n            }\n        });\n\n        input.addEventListener('focus', function(){\n            if (this.getAttribute('data-freetext')) return;\n            render(this.value);\n        });\n        input.addEventListener('input', function(){\n            \/* Blindatge: si per qualsevol motiu (autofill del navegador,\n               etc.) s'assigna un valor sense provincia seleccionada, el\n               netegem immediatament nomes aquest camp, sense tocar la\n               resta del formulari. *\/\n            if (!currentProvincia) {\n                this.value = '';\n                hidden.value = '';\n                return;\n            }\n            if (this.getAttribute('data-freetext')) {\n                hidden.value = this.value;\n                return;\n            }\n            hidden.value = '';\n            render(this.value);\n        });\n        document.addEventListener('click', function(e){\n            if (!input.parentElement.contains(e.target)) {\n                list.classList.remove('sol-combo-open');\n            }\n        });\n    }\n    setupMunicipiCombo('sol-municipi-fiscal', 'sol-provincia-fiscal');\n    setupMunicipiCombo('sol-municipi-comercial', 'sol-provincia-comercial');\n\n    \/* ---------------- Checkbox adre\u00e7a comercial ---------------- *\/\n    var checkComercial = document.getElementById('sol-check-comercial');\n    var comercialBlock = document.getElementById('sol-comercial-block');\n    checkComercial.addEventListener('change', function(){\n        comercialBlock.classList.toggle('sol-show', this.checked);\n    });\n\n    \/* ---------------- Contactes addicionals: llista dinamica (max 6) ---------------- *\/\n    var ROLES = [\n        { key: 'direccio',   label: T.areaDireccio,   info: T.infoDireccio },\n        { key: 'rrhh',       label: T.areaRrhh,       info: T.infoRrhh },\n        { key: 'operacions', label: T.areaOperacions, info: T.infoOperacions },\n        { key: 'admin',      label: T.areaAdmin,      info: T.infoAdmin }\n    ];\n    var MAX_CONTACTS = 6;\n    var contactCount = 0;\n    var contactsList = document.getElementById('sol-contacts-list');\n    var addBtn = document.getElementById('sol-add-contact');\n    var limitMsg = document.getElementById('sol-contact-limit-msg');\n\n    function addContactCard(){\n        if (contactCount >= MAX_CONTACTS) return;\n        contactCount++;\n        var idx = contactCount;\n\n        var card = document.createElement('div');\n        card.className = 'sol-contact-card';\n        card.setAttribute('data-contact-idx', idx);\n\n        var chipsHtml = '';\n        ROLES.forEach(function(r){\n            chipsHtml += '<span class=\"sol-role-chip\" data-role=\"' + r.key + '\" title=\"' + r.info.replace(\/\"\/g,'&quot;') + '\">' + r.label + '<\/span>';\n        });\n\n        card.innerHTML =\n            '<button type=\"button\" class=\"sol-contact-remove\" aria-label=\"' + T.removeContact + '\">' +\n                '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg>' +\n            '<\/button>' +\n            '<div class=\"sol-contact-card-num\">' + T.contactLabel + ' ' + idx + '<\/div>' +\n            '<div class=\"sol-contact-fields\">' +\n                '<input type=\"text\" class=\"sol-input sol-c-nom\" placeholder=\"' + T.lblNom + '\" autocomplete=\"off\">' +\n                '<input type=\"text\" class=\"sol-input sol-c-carrec\" placeholder=\"' + T.lblCarrec + '\" autocomplete=\"off\">' +\n                '<input type=\"email\" class=\"sol-input sol-c-email\" placeholder=\"' + T.lblEmail + '\" autocomplete=\"off\">' +\n            '<\/div>' +\n            '<label class=\"sol-role-label\">' + T.rolesLabel + '<\/label>' +\n            '<div class=\"sol-role-chips\">' + chipsHtml + '<\/div>' +\n            '<p class=\"sol-role-err\">' + T.errRoles + '<\/p>';\n\n        contactsList.appendChild(card);\n\n        card.querySelectorAll('.sol-role-chip').forEach(function(chip){\n            chip.addEventListener('click', function(){\n                this.classList.toggle('sol-role-chip-active');\n                card.querySelector('.sol-role-err').classList.remove('sol-show');\n            });\n        });\n        card.querySelector('.sol-contact-remove').addEventListener('click', function(){\n            card.remove();\n            contactCount--;\n            renumberContacts();\n            updateAddButtonState();\n        });\n\n        updateAddButtonState();\n    }\n\n    function renumberContacts(){\n        var cards = contactsList.querySelectorAll('.sol-contact-card');\n        cards.forEach(function(c, i){\n            c.querySelector('.sol-contact-card-num').textContent = T.contactLabel + ' ' + (i + 1);\n        });\n    }\n\n    function updateAddButtonState(){\n        var atMax = contactCount >= MAX_CONTACTS;\n        addBtn.disabled = atMax;\n        limitMsg.style.display = atMax ? 'block' : 'none';\n    }\n\n    addBtn.addEventListener('click', addContactCard);\n\n    function getContactsPayload(){\n        var contacts = [];\n        var valid = true;\n        contactsList.querySelectorAll('.sol-contact-card').forEach(function(card){\n            var nom = card.querySelector('.sol-c-nom').value.trim();\n            var carrec = card.querySelector('.sol-c-carrec').value.trim();\n            var email = card.querySelector('.sol-c-email').value.trim();\n            var roleErr = card.querySelector('.sol-role-err');\n            var rols = [];\n            card.querySelectorAll('.sol-role-chip-active').forEach(function(chip){\n                rols.push(chip.getAttribute('data-role'));\n            });\n\n            var hasAnyData = nom || carrec || email || rols.length;\n            if (!hasAnyData) return; \/* targeta buida, la ignorem *\/\n\n            var cardValid = nom && carrec && email && email.indexOf('@') > 0 && rols.length > 0;\n            [card.querySelector('.sol-c-nom'), card.querySelector('.sol-c-carrec'), card.querySelector('.sol-c-email')].forEach(function(inp){\n                inp.classList.toggle('sol-input-err', !inp.value.trim());\n            });\n            roleErr.classList.toggle('sol-show', rols.length === 0);\n\n            if (!cardValid) { valid = false; return; }\n            contacts.push({ nom: nom, carrec: carrec, email: email, rols: rols });\n        });\n        return { contacts: contacts, valid: valid };\n    }\n\n    \/* ---------------- Info tooltips (seccio 5, si en queda algun estatic) ---------------- *\/\n    wrap.querySelectorAll('.sol-info-btn').forEach(function(btn){\n        btn.addEventListener('click', function(e){\n            e.stopPropagation();\n            var targetId = this.getAttribute('data-info-target');\n            var tip = document.getElementById(targetId);\n            if (!tip) return;\n            var isOpen = tip.classList.toggle('sol-info-open');\n            this.classList.toggle('sol-info-open', isOpen);\n        });\n    });\n    document.addEventListener('click', function(){\n        wrap.querySelectorAll('.sol-info-tip.sol-info-open').forEach(function(t){ t.classList.remove('sol-info-open'); });\n        wrap.querySelectorAll('.sol-info-btn.sol-info-open').forEach(function(b){ b.classList.remove('sol-info-open'); });\n    });\n\n    \/* ---------------- Calcul de quota en viu (seccio 4) ---------------- *\/\n    var facturacioInput = document.getElementById('sol-facturacio');\n    var quotaBox = document.getElementById('sol-quota-box');\n    var quotaNum = document.getElementById('sol-quota-num');\n    facturacioInput.addEventListener('input', function(){\n        var val = parseFloat(this.value);\n        if (!val || val <= 0) {\n            quotaBox.classList.remove('sol-show');\n            return;\n        }\n        var quota = null;\n        for (var i = 0; i < TRAMS.length; i++) {\n            var tram = TRAMS[i];\n            if (val >= tram.min && (tram.max === null || val <= tram.max)) {\n                quota = tram.quota;\n                break;\n            }\n        }\n        if (quota === null && val > TRAMS[TRAMS.length - 1].min) {\n            quota = TRAMS[TRAMS.length - 1].quota;\n        }\n        if (quota !== null) {\n            quotaNum.textContent = quota + ' \u20ac\/mes';\n            quotaBox.classList.add('sol-show');\n        }\n    });\n\n    \/* ---------------- Logo (opcional) ---------------- *\/\n    var logoInput = document.getElementById('sol-logo');\n    var logoLabel = document.getElementById('sol-logo-label');\n    var logoText  = document.getElementById('sol-logo-text');\n    logoInput.addEventListener('change', function(){\n        if (this.files && this.files[0]) {\n            logoText.textContent = this.files[0].name;\n            logoText.className = 'sol-file-name';\n            logoLabel.classList.add('sol-file-has');\n        } else {\n            logoText.textContent = T.logoPlaceholder;\n            logoText.className = 'sol-file-text';\n            logoLabel.classList.remove('sol-file-has');\n        }\n    });\n\n    \/* ---------------- Canvas de signatura ---------------- *\/\n    var canvas = document.getElementById('sol-sig-canvas');\n    var ctx = canvas.getContext('2d');\n    var drawing = false;\n    var hasSignature = false;\n\n    function resizeCanvas(){\n        var rect = canvas.getBoundingClientRect();\n        var ratio = window.devicePixelRatio || 1;\n        canvas.width = rect.width * ratio;\n        canvas.height = rect.height * ratio;\n        ctx.scale(ratio, ratio);\n        ctx.lineWidth = 2;\n        ctx.lineCap = 'round';\n        ctx.strokeStyle = '#00313c';\n        \/* El canvas es transparent per defecte. Com que despres l'exportem\n           com a JPEG (sense canal alfa), el fons transparent es converteix\n           en negre. L'omplim de blanc explicitament, nomes si encara no hi\n           ha cap signatura dibuixada (per no esborrar-la en un resize). *\/\n        if ( ! hasSignature ) {\n            ctx.fillStyle = '#ffffff';\n            ctx.fillRect( 0, 0, rect.width, rect.height );\n        }\n    }\n    window.addEventListener('resize', resizeCanvas);\n\n    function getPos(e){\n        var rect = canvas.getBoundingClientRect();\n        if (e.touches && e.touches[0]) {\n            return { x: e.touches[0].clientX - rect.left, y: e.touches[0].clientY - rect.top };\n        }\n        return { x: e.clientX - rect.left, y: e.clientY - rect.top };\n    }\n    function startDraw(e){\n        e.preventDefault();\n        drawing = true;\n        hasSignature = true;\n        var p = getPos(e);\n        ctx.beginPath();\n        ctx.moveTo(p.x, p.y);\n        document.getElementById('sol-sig-err').classList.remove('sol-show');\n        canvas.classList.remove('sol-input-err');\n    }\n    function moveDraw(e){\n        if (!drawing) return;\n        e.preventDefault();\n        var p = getPos(e);\n        ctx.lineTo(p.x, p.y);\n        ctx.stroke();\n    }\n    function endDraw(){ drawing = false; }\n\n    canvas.addEventListener('mousedown', startDraw);\n    canvas.addEventListener('mousemove', moveDraw);\n    canvas.addEventListener('mouseup', endDraw);\n    canvas.addEventListener('mouseleave', endDraw);\n    canvas.addEventListener('touchstart', startDraw, { passive: false });\n    canvas.addEventListener('touchmove', moveDraw, { passive: false });\n    canvas.addEventListener('touchend', endDraw);\n\n    document.getElementById('sol-sig-clear').addEventListener('click', function(){\n        ctx.clearRect(0, 0, canvas.width, canvas.height);\n        hasSignature = false;\n    });\n\n    \/* ---------------- Navegacio: continuar per cada pas ---------------- *\/\n    function validateStep1(){\n        var rao = document.getElementById('sol-rao').value.trim();\n        var nif = document.getElementById('sol-nif').value.trim();\n        var telefon = document.getElementById('sol-telefon').value.trim();\n        var carrer = document.getElementById('sol-carrer-fiscal').value.trim();\n        var provincia = document.getElementById('sol-provincia-fiscal').value;\n        var cp = document.getElementById('sol-cp-fiscal').value.trim();\n        var municipi = document.getElementById('sol-municipi-fiscal-value').value;\n        if (!rao || !nif || !telefon || !carrer || !provincia || !cp || !municipi) return false;\n        if (!validaNif(nif)) return false;\n        return true;\n    }\n    function validateStep2(){\n        var nom = document.getElementById('sol-rep-nom').value.trim();\n        var carrec = document.getElementById('sol-rep-carrec').value.trim();\n        var telefon = document.getElementById('sol-rep-telefon').value.trim();\n        var email = document.getElementById('sol-rep-email').value.trim();\n        return nom && carrec && telefon && email && email.indexOf('@') > 0;\n    }\n    function validateStep3(){\n        var titular = document.getElementById('sol-titular-compte').value.trim();\n        var iban = document.getElementById('sol-iban').value.trim();\n        return titular && iban && validaIban(iban);\n    }\n    function validateStep4(){\n        var val = parseFloat(document.getElementById('sol-facturacio').value);\n        var declarat = document.getElementById('sol-declaracio').checked;\n        document.getElementById('sol-declaracio-err').classList.toggle('sol-show', !declarat);\n        return val && val > 0 && declarat;\n    }\n\n    document.getElementById('sol-continue-1').addEventListener('click', function(){\n        if (!validateStep1()) { flashRequired(); return; }\n        goToStep(2);\n    });\n    document.getElementById('sol-continue-2').addEventListener('click', function(){\n        if (!validateStep2()) { flashRequired(); return; }\n        goToStep(3);\n    });\n    document.getElementById('sol-continue-3').addEventListener('click', function(){\n        if (!validateStep3()) { flashRequired(); return; }\n        goToStep(4);\n    });\n    document.getElementById('sol-continue-4').addEventListener('click', function(){\n        if (!validateStep4()) { flashRequired(); return; }\n        goToStep(5);\n    });\n    document.getElementById('sol-continue-5').addEventListener('click', function(){\n        var result = getContactsPayload();\n        if (!result.valid) { return; }\n        goToStep(6);\n    });\n\n    function flashRequired(){\n        wrap.querySelectorAll('.sol-step-active input[required], .sol-step-active select[required]').forEach(function(el){\n            if (!el.value) el.classList.add('sol-input-err');\n        });\n    }\n\n    \/* ---------------- Enviament final ---------------- *\/\n    document.getElementById('sol-submit').addEventListener('click', function(){\n        var msg = document.getElementById('sol-msg');\n        msg.className = 'sol-msg';\n        msg.style.display = 'none';\n\n        var c1 = document.getElementById('sol-consent1').checked;\n        var c2 = document.getElementById('sol-consent2').checked;\n        var c3 = document.getElementById('sol-consent3').checked;\n        var c4 = document.getElementById('sol-consent4').checked;\n        if (!c1 || !c2 || !c3 || !c4) {\n            msg.className = 'sol-msg sol-err';\n            msg.textContent = T.errConsent;\n            return;\n        }\n        if (!hasSignature) {\n            document.getElementById('sol-sig-err').classList.add('sol-show');\n            return;\n        }\n\n        var submitBtn = this;\n        submitBtn.disabled = true;\n        submitBtn.textContent = T.sendingBtn;\n\n        var signatureDataUrl = canvas.toDataURL('image\/jpeg', 0.85);\n\n        var payload = {\n            lang: LANG,\n            rao_social: document.getElementById('sol-rao').value.trim(),\n            nif: document.getElementById('sol-nif').value.trim(),\n            telefon: document.getElementById('sol-telefon').value.trim(),\n            web: document.getElementById('sol-web').value.trim(),\n            adreca_fiscal: document.getElementById('sol-carrer-fiscal').value.trim(),\n            cp_fiscal: document.getElementById('sol-cp-fiscal').value.trim(),\n            provincia_fiscal: document.getElementById('sol-provincia-fiscal').value,\n            municipi_fiscal: document.getElementById('sol-municipi-fiscal-value').value,\n            te_comercial: checkComercial.checked ? 'true' : 'false',\n            adreca_comercial: document.getElementById('sol-carrer-comercial').value.trim(),\n            cp_comercial: document.getElementById('sol-cp-comercial').value.trim(),\n            provincia_comercial: document.getElementById('sol-provincia-comercial').value,\n            municipi_comercial: document.getElementById('sol-municipi-comercial-value').value,\n            rep_nom: document.getElementById('sol-rep-nom').value.trim(),\n            rep_carrec: document.getElementById('sol-rep-carrec').value.trim(),\n            rep_email: document.getElementById('sol-rep-email').value.trim(),\n            rep_telefon: document.getElementById('sol-rep-telefon').value.trim(),\n            titular_compte: document.getElementById('sol-titular-compte').value.trim(),\n            iban: document.getElementById('sol-iban').value.trim(),\n            facturacio: document.getElementById('sol-facturacio').value,\n            contactes_json: JSON.stringify(getContactsPayload().contacts),\n            consent1: 'true', consent2: 'true', consent3: 'true', consent4: 'true',\n            signatura: signatureDataUrl\n        };\n\n        var fd = new FormData();\n        Object.keys(payload).forEach(function(k){ fd.append(k, payload[k]); });\n        if (logoInput.files && logoInput.files[0]) {\n            fd.append('logo', logoInput.files[0]);\n        }\n\n        fetch('\/wp-json\/ascen\/v1\/solicitud-adhesio', {\n            method: 'POST',\n            body: fd\n        })\n        .then(function(r){ return r.json(); })\n        .then(function(data){\n            if (data.ok) {\n                document.getElementById('sol-thanks-msg').textContent = data.msg;\n                document.getElementById('sol-form-container').style.display = 'none';\n                document.getElementById('sol-progress').style.display = 'none';\n                document.getElementById('sol-thanks').style.display = 'block';\n            } else {\n                msg.className = 'sol-msg sol-err';\n                msg.textContent = data.msg;\n            }\n        })\n        .catch(function(){\n            msg.className = 'sol-msg sol-err';\n            msg.textContent = T.errConnection;\n        })\n        .finally(function(){\n            submitBtn.disabled = false;\n            submitBtn.textContent = T.submitBtn;\n        });\n    });\n})();\n<\/script>\n<!-- \/ASCEN Solicitud Adhesio v1 -->\n\n    <\/div>\n\t\t\t\t\t\t<\/div>\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":"","protected":false},"author":458,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-992087","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ascen.net\/es\/wp-json\/wp\/v2\/pages\/992087","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ascen.net\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ascen.net\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ascen.net\/es\/wp-json\/wp\/v2\/users\/458"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ascen.net\/es\/wp-json\/wp\/v2\/comments?post=992087"}],"version-history":[{"count":5,"href":"https:\/\/www.ascen.net\/es\/wp-json\/wp\/v2\/pages\/992087\/revisions"}],"predecessor-version":[{"id":992094,"href":"https:\/\/www.ascen.net\/es\/wp-json\/wp\/v2\/pages\/992087\/revisions\/992094"}],"wp:attachment":[{"href":"https:\/\/www.ascen.net\/es\/wp-json\/wp\/v2\/media?parent=992087"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}