{"id":9,"date":"2026-04-01T14:01:58","date_gmt":"2026-04-01T14:01:58","guid":{"rendered":"https:\/\/tallerbordados.com\/?page_id=9"},"modified":"2026-04-02T17:24:27","modified_gmt":"2026-04-02T17:24:27","slug":"presupuestos","status":"publish","type":"page","link":"https:\/\/tallerbordados.com\/index.php\/presupuestos\/","title":{"rendered":"Presupuestos"},"content":{"rendered":"<!-- ===== CSS Variables & Reset ===== -->\n<style>\n:root{\n  --jnp-primary:#8491C8;\n  --jnp-primary-dark:#6b7cb8;\n  --jnp-dark:#221E1F;\n  --jnp-cream:#fafafa;\n  --jnp-border:#e5e7eb;\n  --jnp-radius:14px;\n  --jnp-shadow:0 4px 24px rgba(0,0,0,.08);\n  --jnp-font:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",sans-serif;\n  \/* Nav vars (compartidas con otros plugins) *\/\n  --jn-slate:#8491C8;--jn-cream:#F8EEE2;--jn-coral:#F8887D;--jn-dark:#221E1F;\n}\n.jnp-wrap{font-family:var(--jnp-font);max-width:860px;margin:0 auto;padding:0 16px 60px;}\n\/* Hero *\/\n.jnp-hero{background:linear-gradient(135deg,#8491C8 0%,#6b7cb8 100%);border-radius:22px;padding:44px 48px;color:#fff;text-align:center;margin-bottom:40px;}\n.jnp-hero h1{margin:0 0 12px;font-size:clamp(22px,4vw,34px);font-weight:800;letter-spacing:-.5px;}\n.jnp-hero p{margin:0;opacity:.88;font-size:16px;max-width:540px;margin:0 auto;}\n\/* Contact bar *\/\n.jnp-contact-bar{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:36px;}\n.jnp-contact-chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:2px solid var(--jnp-border);border-radius:50px;padding:10px 20px;font-size:14px;font-weight:600;color:var(--jnp-dark);text-decoration:none;transition:.2s;}\n.jnp-contact-chip:hover{border-color:var(--jnp-primary);color:var(--jnp-primary);}\n\/* Form wrapper *\/\n.jnp-form-card{background:#fff;border-radius:var(--jnp-radius);box-shadow:var(--jnp-shadow);padding:36px 40px;}\n@media(max-width:640px){.jnp-form-card{padding:24px 20px;}.jnp-hero{padding:32px 20px;}}\n\/* Form grid *\/\n.jnp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;}\n.jnp-form-full{grid-column:1\/-1;}\n\/* Fields *\/\n.jnp-fg{display:flex;flex-direction:column;gap:6px;}\n.jnp-fg label{font-size:13px;font-weight:600;color:#374151;}\n.jnp-fg label .req{color:#ef4444;margin-left:2px;}\n.jnp-fg input,.jnp-fg textarea,.jnp-fg select{\n  padding:12px 16px;border:2px solid var(--jnp-border);border-radius:10px;\n  font-size:15px;font-family:var(--jnp-font);outline:none;transition:.2s;width:100%;\n  background:#fff;color:var(--jnp-dark);\n}\n.jnp-fg input:focus,.jnp-fg textarea:focus,.jnp-fg select:focus{border-color:var(--jnp-primary);box-shadow:0 0 0 3px rgba(132,145,200,.12);}\n.jnp-fg textarea{min-height:110px;resize:vertical;}\n\/* Product selector *\/\n.jnp-prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:4px;}\n.jnp-prod-card{border:2px solid var(--jnp-border);border-radius:12px;padding:14px 10px;text-align:center;cursor:pointer;transition:.2s;background:#fff;user-select:none;}\n.jnp-prod-card:hover{border-color:var(--jnp-primary);background:#f5f6fc;}\n.jnp-prod-card.selected{border-color:var(--jnp-primary);background:linear-gradient(135deg,#f0f2fb,#e8ebf7);box-shadow:0 0 0 3px rgba(132,145,200,.15);}\n.jnp-prod-card .emoji{font-size:28px;margin-bottom:6px;}\n.jnp-prod-card .pname{font-size:12px;font-weight:600;color:var(--jnp-dark);line-height:1.3;}\n.jnp-prod-card.selected .pname{color:var(--jnp-primary);}\n\/* Preloaded notice *\/\n.jnp-preload-badge{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#f0f2fb,#e8ebf7);border:2px solid var(--jnp-primary);border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600;color:var(--jnp-primary);margin-bottom:16px;}\n\/* Upload zone *\/\n.jnp-upload-zone{border:2px dashed var(--jnp-border);border-radius:12px;padding:24px;text-align:center;cursor:pointer;transition:.2s;background:#fafafa;}\n.jnp-upload-zone:hover,.jnp-upload-zone.drag{border-color:var(--jnp-primary);background:#f0f2fb;}\n.jnp-upload-zone p{margin:0;color:#6b7280;font-size:14px;}\n.jnp-upload-zone strong{color:var(--jnp-primary);}\n.jnp-file-list{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px;}\n.jnp-file-chip{background:#f3f4f6;border-radius:8px;padding:6px 12px;font-size:13px;display:flex;align-items:center;gap:6px;}\n.jnp-file-chip button{background:none;border:none;cursor:pointer;color:#ef4444;font-size:16px;padding:0;line-height:1;}\n\/* Submit button *\/\n.jnp-submit-btn{width:100%;padding:16px;background:linear-gradient(135deg,var(--jnp-primary),var(--jnp-primary-dark));color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:.2s;margin-top:24px;display:flex;align-items:center;justify-content:center;gap:10px;}\n.jnp-submit-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(132,145,200,.35);}\n.jnp-submit-btn:active{transform:translateY(0);}\n.jnp-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;}\n\/* RGPD *\/\n.jnp-rgpd{display:flex;align-items:flex-start;gap:10px;margin-top:20px;}\n.jnp-rgpd input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--jnp-primary);flex-shrink:0;}\n.jnp-rgpd label{font-size:13px;color:#6b7280;line-height:1.5;}\n.jnp-rgpd a{color:var(--jnp-primary);font-weight:600;}\n\/* Legal block *\/\n.jnp-legal{background:#f9fafb;border-radius:12px;padding:20px;margin-top:24px;font-size:12px;color:#6b7280;line-height:1.6;}\n.jnp-legal strong{color:#374151;}\n\/* Alert *\/\n.jnp-alert{padding:16px 20px;border-radius:10px;font-size:14px;margin-bottom:20px;border-left:4px solid;display:none;}\n.jnp-alert.success{background:#f0fdf4;border-color:#22c55e;color:#166534;display:block;}\n.jnp-alert.error{background:#fef2f2;border-color:#ef4444;color:#991b1b;display:block;}\n\/* Section labels *\/\n.jnp-section-label{font-size:16px;font-weight:700;color:var(--jnp-dark);margin:28px 0 14px;display:flex;align-items:center;gap:8px;}\n.jnp-section-label::after{content:'';flex:1;height:2px;background:var(--jnp-border);margin-left:8px;}\n\/* Spinner *\/\n.jnp-spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:jnpspin .6s linear infinite;}\n@keyframes jnpspin{to{transform:rotate(360deg)}}\n\/* Responsive *\/\n@media(max-width:600px){\n  .jnp-form-grid{grid-template-columns:1fr;}\n  .jnp-prod-grid{grid-template-columns:repeat(3,1fr);}\n}\n<\/style>\n\n<div class=\"jnp-wrap\">\n\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Sora:wght@400;600;700&display=swap\" rel=\"stylesheet\">\n\n<nav style=\"display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:#fff;border-radius:16px;padding:14px;box-shadow:0 2px 12px rgba(0,0,0,.07);margin-bottom:28px;\">\n  <a href=\"https:\/\/tallerbordados.com\/\" style=\"display:flex;align-items:center;gap:10px;text-decoration:none;\">\n    <div style=\"width:38px;height:38px;background:var(--jn-cream);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;\">\n      <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"color:var(--jn-slate);\"><path d=\"M12 2a5 5 0 0 1 5 5c0 3-5 11-5 11S7 10 7 7a5 5 0 0 1 5-5z\"\/><circle cx=\"12\" cy=\"7\" r=\"1.5\" fill=\"currentColor\" stroke=\"none\"\/><path d=\"M3 20c2-2 4-3 9-3s7 1 9 3\"\/><\/svg>\n    <\/div>\n    <span style=\"font-family:'Sora',sans-serif;font-weight:700;font-size:16px;color:var(--jn-dark);\">Taller Bordados<\/span>\n  <\/a>\n  <div style=\"display:flex;align-items:center;gap:6px;flex-wrap:wrap;\" id=\"jnp-nav-links\">\n    <a href=\"https:\/\/tallerbordados.com\/\" style=\"padding:8px 16px;border-radius:30px;font-family:'Sora',sans-serif;font-size:14px;font-weight:600;color:var(--jn-slate);text-decoration:none;transition:background .2s;\" onmouseover=\"this.style.background='var(--jn-cream)'\" onmouseout=\"this.style.background='transparent'\">Inicio<\/a>\n    <div style=\"position:relative;\" id=\"jnp-nav-dropdown-wrap\">\n      <button onclick=\"document.getElementById('jnp-nav-dropdown').classList.toggle('jnp-dd-open')\" style=\"padding:8px 16px;border-radius:30px;font-family:'Sora',sans-serif;font-size:14px;font-weight:600;color:var(--jn-slate);background:transparent;border:none;cursor:pointer;display:flex;align-items:center;gap:6px;\" onmouseover=\"this.style.background='var(--jn-cream)'\" onmouseout=\"this.style.background='transparent'\">\n        Nuestros productos\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m6 9 6 6 6-6\"\/><\/svg>\n      <\/button>\n      <div id=\"jnp-nav-dropdown\" style=\"display:none;position:absolute;top:calc(100% + 8px);left:0;background:#fff;border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,.12);padding:8px;min-width:220px;z-index:999;border:2px solid #f0f0f1;\">\n                <a href=\"https:\/\/tallerbordados.com\/index.php\/bordados-en-prendas\/\" style=\"display:block;padding:10px 14px;border-radius:9px;font-family:'Sora',sans-serif;font-size:14px;font-weight:600;color:var(--jn-dark);text-decoration:none;transition:background .2s;\" onmouseover=\"this.style.background='var(--jn-cream)';this.style.color='var(--jn-slate)'\" onmouseout=\"this.style.background='transparent';this.style.color='var(--jn-dark)'\">Bordados en prendas<\/a>\n                <a href=\"https:\/\/tallerbordados.com\/index.php\/gorras-bordadas\/\" style=\"display:block;padding:10px 14px;border-radius:9px;font-family:'Sora',sans-serif;font-size:14px;font-weight:600;color:var(--jn-dark);text-decoration:none;transition:background .2s;\" onmouseover=\"this.style.background='var(--jn-cream)';this.style.color='var(--jn-slate)'\" onmouseout=\"this.style.background='transparent';this.style.color='var(--jn-dark)'\">Gorras bordadas<\/a>\n                <a href=\"https:\/\/tallerbordados.com\/index.php\/llaveros-bordados\/\" style=\"display:block;padding:10px 14px;border-radius:9px;font-family:'Sora',sans-serif;font-size:14px;font-weight:600;color:var(--jn-dark);text-decoration:none;transition:background .2s;\" onmouseover=\"this.style.background='var(--jn-cream)';this.style.color='var(--jn-slate)'\" onmouseout=\"this.style.background='transparent';this.style.color='var(--jn-dark)'\">Llaveros bordados<\/a>\n                <a href=\"https:\/\/tallerbordados.com\/index.php\/parches\/\" style=\"display:block;padding:10px 14px;border-radius:9px;font-family:'Sora',sans-serif;font-size:14px;font-weight:600;color:var(--jn-dark);text-decoration:none;transition:background .2s;\" onmouseover=\"this.style.background='var(--jn-cream)';this.style.color='var(--jn-slate)'\" onmouseout=\"this.style.background='transparent';this.style.color='var(--jn-dark)'\">Parches<\/a>\n                <a href=\"https:\/\/tallerbordados.com\/index.php\/ropa\/\" style=\"display:block;padding:10px 14px;border-radius:9px;font-family:'Sora',sans-serif;font-size:14px;font-weight:600;color:var(--jn-dark);text-decoration:none;transition:background .2s;\" onmouseover=\"this.style.background='var(--jn-cream)';this.style.color='var(--jn-slate)'\" onmouseout=\"this.style.background='transparent';this.style.color='var(--jn-dark)'\">Ropa<\/a>\n                <a href=\"https:\/\/tallerbordados.com\/index.php\/togas-y-birretes\/\" style=\"display:block;padding:10px 14px;border-radius:9px;font-family:'Sora',sans-serif;font-size:14px;font-weight:600;color:var(--jn-dark);text-decoration:none;transition:background .2s;\" onmouseover=\"this.style.background='var(--jn-cream)';this.style.color='var(--jn-slate)'\" onmouseout=\"this.style.background='transparent';this.style.color='var(--jn-dark)'\">Togas y birretes<\/a>\n                <a href=\"https:\/\/tallerbordados.com\/index.php\/bandas-de-graduacion\/\" style=\"display:block;padding:10px 14px;border-radius:9px;font-family:'Sora',sans-serif;font-size:14px;font-weight:600;color:var(--jn-dark);text-decoration:none;transition:background .2s;\" onmouseover=\"this.style.background='var(--jn-cream)';this.style.color='var(--jn-slate)'\" onmouseout=\"this.style.background='transparent';this.style.color='var(--jn-dark)'\">Bandas de graduaci\u00f3n<\/a>\n              <\/div>\n    <\/div>\n    <a href=\"#jnp-form\" style=\"padding:8px 20px;border-radius:30px;font-family:'Sora',sans-serif;font-size:14px;font-weight:600;color:#fff;background:var(--jn-coral);text-decoration:none;transition:background .2s;\" onmouseover=\"this.style.background='#f0706a'\" onmouseout=\"this.style.background='var(--jn-coral)'\">Presupuesto<\/a>\n    <a href=\"https:\/\/tallerbordados.com\/index.php\/contacto\/\" style=\"padding:8px 20px;border-radius:30px;font-family:'Sora',sans-serif;font-size:14px;font-weight:600;color:#fff;background:var(--jn-slate);text-decoration:none;transition:background .2s;\" onmouseover=\"this.style.background='#6b7cb8'\" onmouseout=\"this.style.background='var(--jn-slate)'\">Cont\u00e1ctanos!<\/a>\n  <\/div>\n<\/nav>\n\n<style>\n.jnp-dd-open{display:block!important;animation:jnpNavFadeIn .2s ease;}\n@keyframes jnpNavFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}\n<\/style>\n<script>\ndocument.addEventListener('click',function(e){\n  var wrap=document.getElementById('jnp-nav-dropdown-wrap');\n  if(wrap&&!wrap.contains(e.target)){\n    var dd=document.getElementById('jnp-nav-dropdown');\n    if(dd) dd.classList.remove('jnp-dd-open');\n  }\n});\n<\/script>\n\n<!-- Hero -->\n<div class=\"jnp-hero\">\n  <h1>Solicitar Presupuesto<\/h1>\n  <p>Completa el formulario y te enviaremos un presupuesto personalizado sin compromiso.<\/p>\n<\/div>\n\n<!-- Contact chips -->\n\n<!-- FORM CARD -->\n<div class=\"jnp-form-card\">\n\n  <div id=\"jnp-alert\" class=\"jnp-alert\" role=\"alert\"><\/div>\n\n  <form id=\"jnp-form\" novalidate>\n    <input type=\"hidden\" id=\"jnp_form_nonce\" name=\"jnp_form_nonce\" value=\"a0520e6066\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/index.php\/wp-json\/wp\/v2\/pages\/9\" \/>\n    <!-- Product selector -->\n    <div class=\"jnp-section-label\">\ud83c\udff7\ufe0f Tipo de producto<\/div>\n    \n    <input type=\"hidden\" name=\"producto\" id=\"jnp-producto-val\" value=\"\">\n    <div class=\"jnp-prod-grid\">\n            <div class=\"jnp-prod-card \"\n           data-id=\"bandas\"\n           onclick=\"jnpSelectProd(this,'bandas')\">\n        <div class=\"emoji\">\ud83c\udf93<\/div>\n        <div class=\"pname\">Bandas de graduaci\u00f3n<\/div>\n      <\/div>\n            <div class=\"jnp-prod-card \"\n           data-id=\"bordados\"\n           onclick=\"jnpSelectProd(this,'bordados')\">\n        <div class=\"emoji\">\ud83e\uddf5<\/div>\n        <div class=\"pname\">Bordado directo en prenda<\/div>\n      <\/div>\n            <div class=\"jnp-prod-card \"\n           data-id=\"gorras\"\n           onclick=\"jnpSelectProd(this,'gorras')\">\n        <div class=\"emoji\">\ud83e\udde2<\/div>\n        <div class=\"pname\">Gorras bordadas<\/div>\n      <\/div>\n            <div class=\"jnp-prod-card \"\n           data-id=\"togas\"\n           onclick=\"jnpSelectProd(this,'togas')\">\n        <div class=\"emoji\">\ud83c\udfa9<\/div>\n        <div class=\"pname\">Togas y birretes<\/div>\n      <\/div>\n            <div class=\"jnp-prod-card \"\n           data-id=\"parches\"\n           onclick=\"jnpSelectProd(this,'parches')\">\n        <div class=\"emoji\">\ud83d\udd34<\/div>\n        <div class=\"pname\">Parches bordados<\/div>\n      <\/div>\n            <div class=\"jnp-prod-card \"\n           data-id=\"llaveros\"\n           onclick=\"jnpSelectProd(this,'llaveros')\">\n        <div class=\"emoji\">\ud83d\udd11<\/div>\n        <div class=\"pname\">Llaveros bordados<\/div>\n      <\/div>\n            <div class=\"jnp-prod-card \"\n           data-id=\"pulseras\"\n           onclick=\"jnpSelectProd(this,'pulseras')\">\n        <div class=\"emoji\">\ud83d\udc8e<\/div>\n        <div class=\"pname\">Pulseras<\/div>\n      <\/div>\n            <div class=\"jnp-prod-card \"\n           data-id=\"etiquetas\"\n           onclick=\"jnpSelectProd(this,'etiquetas')\">\n        <div class=\"emoji\">\ud83c\udff7\ufe0f<\/div>\n        <div class=\"pname\">Etiquetas de marca<\/div>\n      <\/div>\n            <div class=\"jnp-prod-card \"\n           data-id=\"packaging\"\n           onclick=\"jnpSelectProd(this,'packaging')\">\n        <div class=\"emoji\">\ud83d\udce6<\/div>\n        <div class=\"pname\">Packaging y embolsado<\/div>\n      <\/div>\n          <\/div>\n\n    <!-- Custom fields -->\n    <div class=\"jnp-section-label\" style=\"margin-top:28px;\">\ud83d\udcdd Tus datos<\/div><div class=\"jnp-form-grid\"><div class=\"jnp-fg\"><label for=\"jnp_nombre\">Nombre<span class=\"req\">*<\/span><\/label><input type=\"text\" id=\"jnp_nombre\" name=\"nombre\" placeholder=\"Nombre\" required><\/div><div class=\"jnp-fg\"><label for=\"jnp_empresa\">Empresa<\/label><input type=\"text\" id=\"jnp_empresa\" name=\"empresa\" placeholder=\"Empresa\" ><\/div><div class=\"jnp-fg\"><label for=\"jnp_provincia\">Provincia<span class=\"req\">*<\/span><\/label><input type=\"text\" id=\"jnp_provincia\" name=\"provincia\" placeholder=\"Provincia\" required><\/div><div class=\"jnp-fg\"><label for=\"jnp_email\">E-mail<span class=\"req\">*<\/span><\/label><input type=\"email\" id=\"jnp_email\" name=\"email\" placeholder=\"E-mail\" required><\/div><div class=\"jnp-fg\"><label for=\"jnp_telefono\">Tel\u00e9fono<span class=\"req\">*<\/span><\/label><input type=\"tel\" id=\"jnp_telefono\" name=\"telefono\" placeholder=\"Tel\u00e9fono\" required><\/div><div class=\"jnp-fg\"><label for=\"jnp_cantidad\">Cantidad<\/label><input type=\"text\" id=\"jnp_cantidad\" name=\"cantidad\" placeholder=\"Cantidad\" ><\/div><div class=\"jnp-fg\"><label for=\"jnp_dimensiones\">Dimensiones aproximadas<\/label><input type=\"text\" id=\"jnp_dimensiones\" name=\"dimensiones\" placeholder=\"Dimensiones aproximadas\" ><\/div><div class=\"jnp-fg jnp-form-full\"><label for=\"jnp_mensaje\">Describe lo que necesitas<\/label><textarea id=\"jnp_mensaje\" name=\"mensaje\" placeholder=\"Describe lo que necesitas\" ><\/textarea><\/div><\/div>\n    <!-- File upload -->\n        <div class=\"jnp-section-label\" style=\"margin-top:28px;\">\ud83d\udcce Archivos adjuntos<\/div>\n    <p style=\"font-size:13px;color:#6b7280;margin:0 0 12px;\">\n      Adjunta hasta <strong>3<\/strong> archivos\n      (jpg,jpeg,gif,png,pdf \u2014 m\u00e1x. 8MB por archivo).\n      <strong>Es necesario una imagen para dar un presupuesto ajustado.<\/strong>\n    <\/p>\n    <div class=\"jnp-upload-zone\" id=\"jnp-drop-zone\" onclick=\"document.getElementById('jnp-file-input').click()\">\n      <p>\ud83d\uddbc\ufe0f <strong>Haz clic o arrastra aqu\u00ed<\/strong> para subir tus archivos<\/p>\n      <p style=\"margin-top:6px;font-size:13px;\">Tipos aceptados: jpg,jpeg,gif,png,pdf<\/p>\n    <\/div>\n    <input type=\"file\" id=\"jnp-file-input\" multiple style=\"display:none\"\n           accept=\".jpg,.jpeg,.gif,.png,.pdf\">\n    <div class=\"jnp-file-list\" id=\"jnp-file-list\"><\/div>\n    \n    <!-- RGPD -->\n    <div class=\"jnp-rgpd\" style=\"margin-top:28px;\">\n      <input type=\"checkbox\" id=\"jnp-rgpd\" name=\"rgpd\" required>\n      <label for=\"jnp-rgpd\">\n        He le\u00eddo y acepto la Pol\u00edtica de protecci\u00f3n de datos.      <\/label>\n    <\/div>\n\n    <button type=\"submit\" class=\"jnp-submit-btn\" id=\"jnp-submit-btn\">\n      <span id=\"jnp-btn-text\">\ud83d\udce4 Solicitar presupuesto<\/span>\n      <span id=\"jnp-btn-spinner\" style=\"display:none;\" class=\"jnp-spinner\"><\/span>\n    <\/button>\n\n  <\/form>\n\n  <!-- Legal -->\n  \n<\/div><!-- \/.jnp-form-card -->\n<\/div><!-- \/.jnp-wrap -->\n\n<script>\n(function(){\nvar ajaxUrl='https:\/\/tallerbordados.com\/wp-admin\/admin-ajax.php';\nvar maxFiles=3;\nvar maxBytes=8388608;\nvar allowedExt=['jpg','jpeg','gif','png','pdf'];\nvar selectedFiles=[];\n\n\/* Product selection *\/\nwindow.jnpSelectProd=function(el,id){\n  document.querySelectorAll('.jnp-prod-card').forEach(function(c){c.classList.remove('selected');});\n  el.classList.add('selected');\n  document.getElementById('jnp-producto-val').value=id;\n};\n\n\/* File upload *\/\nvar dropZone=document.getElementById('jnp-drop-zone');\nvar fileInput=document.getElementById('jnp-file-input');\nif(dropZone){\n  dropZone.addEventListener('dragover',function(e){e.preventDefault();this.classList.add('drag');});\n  dropZone.addEventListener('dragleave',function(){this.classList.remove('drag');});\n  dropZone.addEventListener('drop',function(e){e.preventDefault();this.classList.remove('drag');handleFiles(e.dataTransfer.files);});\n}\nif(fileInput) fileInput.addEventListener('change',function(){handleFiles(this.files);});\n\nfunction handleFiles(files){\n  for(var i=0;i<files.length;i++){\n    if(selectedFiles.length>=maxFiles){alert('M\u00e1ximo '+maxFiles+' archivos permitidos.');break;}\n    var f=files[i];\n    var ext=f.name.split('.').pop().toLowerCase();\n    if(allowedExt.indexOf(ext)<0){alert('Tipo de archivo no permitido: '+ext);continue;}\n    if(f.size>maxBytes){alert('Archivo demasiado grande: '+f.name);continue;}\n    selectedFiles.push(f);\n  }\n  renderFileList();\n}\nfunction renderFileList(){\n  var list=document.getElementById('jnp-file-list');\n  if(!list) return;\n  list.innerHTML='';\n  selectedFiles.forEach(function(f,i){\n    var chip=document.createElement('div');chip.className='jnp-file-chip';\n    var icon=f.type.indexOf('pdf')>-1?'\ud83d\udcc4':'\ud83d\uddbc\ufe0f';\n    chip.innerHTML=icon+' '+escHtml(f.name)+'<button type=\"button\" onclick=\"jnpRemoveFile('+i+')\" title=\"Quitar\">\u2715<\/button>';\n    list.appendChild(chip);\n  });\n}\nwindow.jnpRemoveFile=function(i){selectedFiles.splice(i,1);renderFileList();};\n\n\/* Form submit *\/\ndocument.getElementById('jnp-form').addEventListener('submit',function(e){\n  e.preventDefault();\n  var form = e.currentTarget;\n  var alert=document.getElementById('jnp-alert');\n  alert.className='jnp-alert';alert.textContent='';\n\n  var prod=document.getElementById('jnp-producto-val').value;\n  if(!prod){showAlert('Por favor, selecciona un tipo de producto.','error');return;}\n\n  var btn=document.getElementById('jnp-submit-btn');\n  var btnText=document.getElementById('jnp-btn-text');\n  var btnSpinner=document.getElementById('jnp-btn-spinner');\n  btn.disabled=true;btnText.style.display='none';btnSpinner.style.display='block';\n\n  var fd=new FormData(this);\n  fd.set('action','jnp_submit_form');\n  \/\/ Append selected files\n  selectedFiles.forEach(function(f,i){fd.append('archivos[]',f,f.name);});\n\nfetch(ajaxUrl,{method:'POST',body:fd})\n  .then(function(r){ return r.json(); })\n  .then(function(data){\n    console.log('Respuesta del env\u00edo:', data);\n\n  if(data.success){\n  showAlert(data.data.msg,'success');\n  document.getElementById('jnp-form').reset();\n  selectedFiles=[];renderFileList();\n  document.querySelectorAll('.jnp-prod-card').forEach(function(c){c.classList.remove('selected');});\n  document.getElementById('jnp-producto-val').value='';\n\n  var alertEl = document.getElementById('jnp-alert');\n  if (alertEl) {\n    alertEl.scrollIntoView({behavior:'smooth',block:'center'});\n  }\n} else {\n      console.warn('\u274c Fall\u00f3 el env\u00edo:', data);\n      showAlert((data.data && data.data.msg) ? data.data.msg : 'Error al enviar. Int\u00e9ntalo de nuevo.','error');\n    }\n  })\n  .catch(function(err){\n    console.error('Error de conexi\u00f3n o JSON inv\u00e1lido:', err);\n    showAlert('Error de conexi\u00f3n. Int\u00e9ntalo de nuevo.','error');\n  })\n  .finally(function(){ btn.disabled=false; btnText.style.display=''; btnSpinner.style.display='none'; });\n});\n\nfunction showAlert(msg,type){\n  var el=document.getElementById('jnp-alert');\n  el.className='jnp-alert '+type;el.textContent=msg;\n  el.scrollIntoView({behavior:'smooth',block:'center'});\n}\nfunction escHtml(s){var d=document.createElement('div');d.textContent=s||'';return d.innerHTML;}\n})();\n<\/script>\n    \n\n\n<style>\n.page-id-9 .wp-block-post-title {\n    display: none !important;\n}\n\n.page-id-9 main#wp--skip-link--target {\n    margin-top: 0 !important;\n}\n\n.page-id-9 .wp-block-group.has-global-padding.is-layout-constrained {\n    padding-top: 0 !important;\n    padding-bottom: 0 !important;\n}\n\n.page-id-9 .wp-site-blocks {\n    padding-left: 0 !important;\n    padding-right: 0 !important;\n}\n\n.page-id-9 .entry-content.wp-block-post-content {\n    max-width: none !important;\n    margin-left: 0 !important;\n    margin-right: 0 !important;\n}\n\n.page-id-9 .jnp-wrap {\n    max-width: 860px;\n    margin: 0 auto;\n    padding: 0 16px 60px;\n}\n<\/style>\n\n<style>\n.page-id-9 .jnp-form-card {\n    padding: 36px 60px 36px 30px;\n}\n\n.page-id-9 .jnp-form-grid {\n    gap: 16px 50px;\n}\n<\/style>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-9","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/tallerbordados.com\/index.php\/wp-json\/wp\/v2\/pages\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tallerbordados.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tallerbordados.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tallerbordados.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tallerbordados.com\/index.php\/wp-json\/wp\/v2\/comments?post=9"}],"version-history":[{"count":5,"href":"https:\/\/tallerbordados.com\/index.php\/wp-json\/wp\/v2\/pages\/9\/revisions"}],"predecessor-version":[{"id":99,"href":"https:\/\/tallerbordados.com\/index.php\/wp-json\/wp\/v2\/pages\/9\/revisions\/99"}],"wp:attachment":[{"href":"https:\/\/tallerbordados.com\/index.php\/wp-json\/wp\/v2\/media?parent=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}