{"id":1806,"date":"2026-02-11T00:54:27","date_gmt":"2026-02-11T00:54:27","guid":{"rendered":"https:\/\/easarte.com\/?page_id=1806"},"modified":"2026-02-11T00:55:06","modified_gmt":"2026-02-11T00:55:06","slug":"html-a-pdf-listado-de-precios-para-alejandro","status":"publish","type":"page","link":"https:\/\/easarte.com\/en\/html-a-pdf-listado-de-precios-para-alejandro\/","title":{"rendered":"HTML A PDF &#8211; Listado de precios para alejandro"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1806\" class=\"elementor elementor-1806\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b9d0bc5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b9d0bc5\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3a168ee\" data-id=\"3a168ee\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-cf59586 elementor-widget elementor-widget-html\" data-id=\"cf59586\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"es\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:opsz,wght@9..40,300;400;500;700&display=swap\" rel=\"stylesheet\">\r\n\r\n<style>\r\n    \/* --- ESTILO EDITORIAL UMBRA|ES --- *\/\r\n    :root {\r\n        --u-black: #000000;\r\n        --u-grey: #444;\r\n    }\r\n\r\n    @font-face {\r\n        font-family: 'CODE';\r\n        src: local('CODE Bold'), local('CODE-Bold'), url('https:\/\/fonts.cdnfonts.com\/s\/14352\/Code-Bold.woff') format('woff');\r\n        font-weight: bold;\r\n    }\r\n\r\n    h1, h2, .hero-title, .hero-subtitle, .valor-final, .status-tag, .meta-bar {\r\n        font-family: 'CODE', 'Helvetica', sans-serif !important;\r\n        text-transform: uppercase;\r\n        font-weight: bold !important;\r\n        letter-spacing: 2px;\r\n    }\r\n\r\n    body, p, .ficha-tecnica, .hero-super-title, .obra-autor {\r\n        font-family: 'DM Sans', sans-serif !important;\r\n    }\r\n\r\n    body { background-color: #fff; margin: 0; padding: 0; }\r\n\r\n    \/* --- PORTADA --- *\/\r\n    .header-pdf {\r\n        width: 100%;\r\n        max-width: 1100px;\r\n        margin: 0 auto;\r\n        padding: 60px 20px;\r\n        border-bottom: 1px solid var(--u-black);\r\n    }\r\n\r\n    .hero-super-title {\r\n        font-size: 1rem;\r\n        font-weight: bold;\r\n        margin-bottom: 20px;\r\n        display: block;\r\n        border-left: 3px solid var(--u-black);\r\n        padding-left: 15px;\r\n    }\r\n\r\n    .hero-title {\r\n        font-size: 5rem;\r\n        line-height: 0.85;\r\n        margin: 0 0 15px 0;\r\n        color: var(--u-black);\r\n    }\r\n\r\n    .hero-subtitle {\r\n        font-size: 1.8rem;\r\n        margin: 0 0 30px 0;\r\n        display: block;\r\n    }\r\n\r\n    .meta-bar {\r\n        border-top: 1px solid var(--u-black);\r\n        padding-top: 20px;\r\n        display: flex;\r\n        justify-content: space-between;\r\n        font-size: 1.2rem;\r\n    }\r\n\r\n    \/* --- LISTADO EST\u00c1TICO --- *\/\r\n    .grid-pdf {\r\n        display: grid;\r\n        grid-template-columns: repeat(2, 1fr); \/* 2 columnas para que en PDF se vea grande y claro *\/\r\n        max-width: 1200px;\r\n        margin: 0 auto;\r\n    }\r\n\r\n    .obra-card {\r\n        padding: 50px;\r\n        border-right: 1px solid #eee;\r\n        border-bottom: 1px solid #eee;\r\n        display: flex;\r\n        flex-direction: column;\r\n        page-break-inside: avoid; \/* Evita que una obra se corte entre p\u00e1ginas al imprimir *\/\r\n    }\r\n\r\n    .img-wrapper {\r\n        width: 100%;\r\n        aspect-ratio: 1\/1;\r\n        margin-bottom: 30px;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n    }\r\n\r\n    .img-wrapper img {\r\n        max-width: 100%;\r\n        max-height: 100%;\r\n        object-fit: contain;\r\n    }\r\n\r\n    .obra-info h2 { font-size: 1.6rem; margin: 0 0 8px 0; letter-spacing: -1px; }\r\n    .obra-autor { font-weight: 700; font-size: 1rem; text-transform: uppercase; margin-bottom: 20px; display: block; border-left: 3px solid var(--u-black); padding-left: 10px; }\r\n    .ficha-tecnica { font-size: 1rem; line-height: 1.6; color: var(--u-grey); margin-bottom: 25px; flex-grow: 1; }\r\n\r\n    .precio-container {\r\n        display: flex;\r\n        justify-content: space-between;\r\n        align-items: center;\r\n        border-top: 1px solid var(--u-black);\r\n        padding-top: 20px;\r\n    }\r\n\r\n    .valor-final { font-size: 1.4rem; }\r\n    .status-tag-sold { font-size: 0.8rem; background: #000; color: #fff; padding: 5px 12px; }\r\n\r\n    \/* --- OPTIMIZACI\u00d3N PDF --- *\/\r\n    @media print {\r\n        .header-pdf { padding-top: 20px; }\r\n        .grid-pdf { grid-template-columns: repeat(2, 1fr); }\r\n    }\r\n<\/style>\r\n<\/head>\r\n<body>\r\n\r\n    <div class=\"header-pdf\">\r\n        <span class=\"hero-super-title\">EDICI\u00d3N 2026<\/span>\r\n        <h1 class=\"hero-title\">LISTA DE<br>PRECIOS<\/h1>\r\n        <h2 class=\"hero-subtitle\">UMBRA|ES<\/h2>\r\n        <div class=\"meta-bar\">\r\n            <span>CDMX<\/span>\r\n            <span>04 \u2014 17 FEB<\/span>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <div id=\"obras-container\" class=\"grid-pdf\">\r\n        <\/div>\r\n\r\n<script>\r\n    async function cargarParaPDF() {\r\n        const url = 'https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vTJwx_xoNFNjz_7Y7c0SwuxjeAV9sIjYkEXE4ZB47mLjJ0xvkMIHPSA3gWcpj3SKw\/pub?output=csv';\r\n        try {\r\n            const resp = await fetch(url);\r\n            const csv = await resp.text();\r\n            const rows = csv.split('\\n').slice(6);\r\n            \r\n            const container = document.getElementById('obras-container');\r\n            container.innerHTML = rows.map(r => {\r\n                const c = r.split(\/,(?=(?:(?:[^\"]*\"){2})*[^\"]*$)\/);\r\n                if(c.length < 11 || !c[2]) return '';\r\n                \r\n                const titulo = c[2].replace(\/\"\/g, \"\").trim();\r\n                const autor = c[3].replace(\/\"\/g, \"\").trim();\r\n                const tecnica = c[4].replace(\/\"\/g, \"\").trim();\r\n                const medidas = c[5].replace(\/\"\/g, \"\").trim();\r\n                const a\u00f1o = c[6].replace(\/\"\/g, \"\").trim();\r\n                const valor = c[7].replace(\/\"\/g, \"\").trim();\r\n                const moneda = c[8].replace(\/\"\/g, \"\").trim();\r\n                const img = c[10].trim();\r\n                const estatus = (c[11] || \"DISPONIBLE\").toUpperCase();\r\n                const isV = estatus.includes(\"VENDIDA\");\r\n\r\n                return `\r\n                    <div class=\"obra-card\" style=\"opacity: ${isV ? '0.3' : '1'}\">\r\n                        <div class=\"img-wrapper\"><img decoding=\"async\" src=\"${img}\" alt=\"${titulo}\"><\/div>\r\n                        <div class=\"obra-info\">\r\n                            <h2>${titulo}<\/h2>\r\n                            <span class=\"obra-autor\">${autor}<\/span>\r\n                            <div class=\"ficha-tecnica\">\r\n                                <strong>T\u00e9cnica:<\/strong> ${tecnica}<br>\r\n                                <strong>Medidas:<\/strong> ${medidas}<br>\r\n                                <strong>A\u00f1o:<\/strong> ${a\u00f1o}\r\n                            <\/div>\r\n                            <div class=\"precio-container\">\r\n                                <div class=\"valor-final\">${valor} ${moneda}<\/div>\r\n                                ${isV ? '<span class=\"status-tag-sold\">VENDIDA<\/span>' : ''}\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                `;\r\n            }).join('');\r\n        } catch (e) { console.error(e); }\r\n    }\r\n    cargarParaPDF();\r\n<\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>EDICI\u00d3N 2026 LISTA DEPRECIOS UMBRA|ES CDMX 04 \u2014 17 FEB<\/p>","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1806","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/easarte.com\/en\/wp-json\/wp\/v2\/pages\/1806","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/easarte.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/easarte.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/easarte.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/easarte.com\/en\/wp-json\/wp\/v2\/comments?post=1806"}],"version-history":[{"count":4,"href":"https:\/\/easarte.com\/en\/wp-json\/wp\/v2\/pages\/1806\/revisions"}],"predecessor-version":[{"id":1810,"href":"https:\/\/easarte.com\/en\/wp-json\/wp\/v2\/pages\/1806\/revisions\/1810"}],"wp:attachment":[{"href":"https:\/\/easarte.com\/en\/wp-json\/wp\/v2\/media?parent=1806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}