{"id":12,"date":"2026-03-28T03:29:55","date_gmt":"2026-03-28T03:29:55","guid":{"rendered":"https:\/\/www.helados.tumarcaagencia.com\/?page_id=12"},"modified":"2026-03-28T03:50:36","modified_gmt":"2026-03-28T03:50:36","slug":"elementor-12","status":"publish","type":"page","link":"https:\/\/www.helados.tumarcaagencia.com\/?page_id=12","title":{"rendered":"Elementor #12"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"12\" class=\"elementor elementor-12\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c783885 e-flex e-con-boxed e-con e-parent\" data-id=\"c783885\" 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-10f8575 elementor-widget elementor-widget-shortcode\" data-id=\"10f8575\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n    <div class=\"cp-root\" id=\"cp_6a1b96c6c7889\">\n\n    <!\u2013 \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 ESTILOS \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 \u2013>\n    <style>\n    \/* \u2500\u2500 Fuentes + Reset local \u2500\u2500 *\/\n    #cp_6a1b96c6c7889 {\n        font-family: 'DM Sans', sans-serif;\n        color: #1a1a2e;\n        --ink:   #1a1a2e;\n        --ink2:  #4a4a6a;\n        --ink3:  #9090b0;\n        --bg:    #fafaf8;\n        --white: #ffffff;\n        --acc:   #ff6b35;      \/* naranja vibrante \u2014 acento principal *\/\n        --acc2:  #ffb347;      \/* \u00e1mbar suave *\/\n        --card-r: 20px;\n        --shadow: 0 2px 12px rgba(26,26,46,.06);\n        --shadow-h: 0 12px 40px rgba(26,26,46,.13);\n        --border: rgba(26,26,46,.08);\n        background: var(--bg);\n        padding: 0;\n    }\n    #cp_6a1b96c6c7889 *, #cp_6a1b96c6c7889 *::before, #cp_6a1b96c6c7889 *::after {\n        box-sizing: border-box;\n        margin: 0; padding: 0;\n    }\n    #cp_6a1b96c6c7889 img { display: block; max-width: 100%; }\n\n    \/* \u2500\u2500 Barra de b\u00fasqueda \u2500\u2500 *\/\n    .cp-search-zone {\n        padding: 40px 0 32px;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        gap: 14px;\n    }\n    .cp-search-label {\n        font-family: 'Fraunces', serif;\n        font-size: clamp(22px, 4vw, 36px);\n        font-weight: 700;\n        color: var(--ink);\n        letter-spacing: -.5px;\n        text-align: center;\n    }\n    .cp-search-label em {\n        font-style: italic;\n        font-weight: 400;\n        color: var(--acc);\n    }\n    .cp-search-box {\n        position: relative;\n        width: 100%;\n        max-width: 560px;\n    }\n    .cp-search-box svg {\n        position: absolute;\n        left: 18px;\n        top: 50%;\n        transform: translateY(-50%);\n        width: 18px; height: 18px;\n        fill: var(--ink3);\n        pointer-events: none;\n        transition: fill .2s;\n    }\n    .cp-search-input {\n        width: 100%;\n        padding: 16px 20px 16px 50px;\n        border: 2px solid var(--border);\n        border-radius: 100px;\n        font-family: 'DM Sans', sans-serif;\n        font-size: 15px;\n        color: var(--ink);\n        background: var(--white);\n        outline: none;\n        box-shadow: var(--shadow);\n        transition: border-color .2s, box-shadow .2s;\n    }\n    .cp-search-input:focus {\n        border-color: var(--acc);\n        box-shadow: 0 0 0 4px rgba(255,107,53,.1), var(--shadow);\n    }\n    .cp-search-input::placeholder { color: var(--ink3); }\n    .cp-search-clear {\n        position: absolute;\n        right: 14px; top: 50%;\n        transform: translateY(-50%);\n        width: 28px; height: 28px;\n        background: var(--bg);\n        border: none; border-radius: 50%;\n        cursor: pointer; display: none;\n        align-items: center; justify-content: center;\n        color: var(--ink3); transition: all .15s;\n    }\n    .cp-search-clear:hover { background: #fee; color: #e53; }\n    .cp-search-clear.vis { display: flex; }\n    .cp-search-clear svg { width: 13px; height: 13px; fill: currentColor; }\n    .cp-search-meta {\n        font-size: 13px; color: var(--ink3);\n        min-height: 18px; text-align: center;\n        transition: opacity .2s;\n    }\n\n    \/* \u2500\u2500 Tabs de categor\u00edas (ancla r\u00e1pida) \u2500\u2500 *\/\n    .cp-cat-nav {\n        display: flex;\n        gap: 8px;\n        flex-wrap: wrap;\n        justify-content: center;\n        padding: 0 0 36px;\n    }\n    .cp-cat-tab {\n        padding: 8px 18px;\n        border-radius: 100px;\n        border: 1.5px solid var(--border);\n        background: var(--white);\n        font-family: 'DM Sans', sans-serif;\n        font-size: 13px;\n        font-weight: 500;\n        color: var(--ink2);\n        cursor: pointer;\n        text-decoration: none;\n        transition: all .18s;\n        white-space: nowrap;\n    }\n    .cp-cat-tab:hover {\n        border-color: var(--acc);\n        color: var(--acc);\n        background: rgba(255,107,53,.04);\n    }\n    .cp-cat-tab.active {\n        background: var(--ink);\n        color: #fff;\n        border-color: var(--ink);\n    }\n\n    \/* \u2500\u2500 Secciones de categor\u00eda \u2500\u2500 *\/\n    .cp-section {\n        margin-bottom: 56px;\n        transition: opacity .25s;\n    }\n    .cp-section.hidden { display: none; }\n    .cp-section-hdr {\n        display: flex;\n        align-items: center;\n        gap: 14px;\n        margin-bottom: 24px;\n    }\n    .cp-section-img {\n        width: 48px; height: 48px;\n        border-radius: 12px;\n        object-fit: cover;\n        border: 1.5px solid var(--border);\n        flex-shrink: 0;\n        background: var(--white);\n    }\n    .cp-section-info {}\n    .cp-section-name {\n        font-family: 'Fraunces', serif;\n        font-size: clamp(20px, 3vw, 28px);\n        font-weight: 700;\n        color: var(--ink);\n        line-height: 1.1;\n        letter-spacing: -.3px;\n    }\n    .cp-section-count {\n        font-size: 12px;\n        color: var(--ink3);\n        margin-top: 2px;\n    }\n    .cp-section-line {\n        flex: 1;\n        height: 1.5px;\n        background: linear-gradient(to right, var(--border), transparent);\n    }\n\n    \/* \u2500\u2500 Grid de productos \u2500\u2500 *\/\n    .cp-grid {\n        display: grid;\n        grid-template-columns: repeat(4, 1fr);\n        gap: 20px;\n    }\n    @media (max-width: 1100px) {\n        .cp-grid { grid-template-columns: repeat(3, 1fr); }\n    }\n    @media (max-width: 760px) {\n        .cp-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }\n    }\n    @media (max-width: 480px) {\n        .cp-grid { grid-template-columns: 1fr; }\n    }\n\n    \/* \u2500\u2500 Card de producto \u2500\u2500 *\/\n    .cp-card {\n        background: var(--white);\n        border-radius: var(--card-r);\n        border: 1.5px solid var(--border);\n        overflow: hidden;\n        display: flex;\n        flex-direction: column;\n        cursor: pointer;\n        transition: transform .22s cubic-bezier(.34,1.56,.64,1),\n                    box-shadow .22s ease,\n                    border-color .18s;\n        position: relative;\n    }\n    .cp-card:hover {\n        transform: translateY(-5px);\n        box-shadow: var(--shadow-h);\n        border-color: rgba(255,107,53,.2);\n    }\n    .cp-card:hover .cp-card-img img {\n        transform: scale(1.05);\n    }\n\n    \/* Imagen *\/\n    .cp-card-img {\n        position: relative;\n        aspect-ratio: 4\/3;\n        overflow: hidden;\n        background: var(--bg);\n        flex-shrink: 0;\n    }\n    .cp-card-img img {\n        width: 100%; height: 100%;\n        object-fit: cover;\n        transition: transform .4s ease;\n    }\n    .cp-card-img-ph {\n        width: 100%; height: 100%;\n        display: flex; align-items: center; justify-content: center;\n        background: linear-gradient(135deg, #f0f0f0 0%, #e8e8e8 100%);\n    }\n    .cp-card-img-ph svg { width: 40px; height: 40px; fill: #ccc; }\n\n    \/* Badge estado \/ subcategor\u00eda *\/\n    .cp-card-badge {\n        position: absolute;\n        top: 10px; left: 10px;\n        background: rgba(255,255,255,.92);\n        backdrop-filter: blur(6px);\n        border-radius: 100px;\n        padding: 3px 10px;\n        font-size: 10px;\n        font-weight: 600;\n        color: var(--ink2);\n        letter-spacing: .3px;\n        border: 1px solid var(--border);\n    }\n\n    \/* Cuerpo del card *\/\n    .cp-card-body {\n        padding: 16px 16px 0;\n        flex: 1;\n        display: flex;\n        flex-direction: column;\n    }\n    .cp-card-name {\n        font-family: 'Fraunces', serif;\n        font-size: 16px;\n        font-weight: 700;\n        color: var(--ink);\n        line-height: 1.25;\n        margin-bottom: 8px;\n        transition: color .15s;\n    }\n    .cp-card:hover .cp-card-name { color: var(--acc); }\n\n    \/* Descripci\u00f3n colapsable *\/\n    .cp-card-desc-wrap {\n        position: relative;\n        flex: 1;\n    }\n    .cp-card-desc {\n        font-size: 13px;\n        color: var(--ink2);\n        line-height: 1.6;\n        overflow: hidden;\n        max-height: 58px; \/* ~3 l\u00edneas *\/\n        transition: max-height .35s ease;\n        position: relative;\n    }\n    .cp-card-desc.expanded {\n        max-height: 600px;\n    }\n    .cp-card-desc-fade {\n        position: absolute;\n        bottom: 0; left: 0; right: 0;\n        height: 28px;\n        background: linear-gradient(transparent, var(--white));\n        pointer-events: none;\n        transition: opacity .25s;\n    }\n    .cp-card-desc.expanded + .cp-card-desc-fade,\n    .cp-card-desc-fade.hidden { opacity: 0; pointer-events: none; }\n    .cp-card-expand {\n        display: none; \/* se muestra via JS si hay overflow *\/\n        align-items: center;\n        gap: 4px;\n        background: none;\n        border: none;\n        font-family: 'DM Sans', sans-serif;\n        font-size: 12px;\n        font-weight: 600;\n        color: var(--acc);\n        cursor: pointer;\n        padding: 6px 0 0;\n        transition: color .15s;\n    }\n    .cp-card-expand.vis { display: flex; }\n    .cp-card-expand svg {\n        width: 14px; height: 14px;\n        fill: currentColor;\n        transition: transform .28s;\n        flex-shrink: 0;\n    }\n    .cp-card-expand.open svg { transform: rotate(180deg); }\n\n    \/* Pie del card *\/\n    .cp-card-footer {\n        padding: 14px 16px 16px;\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        gap: 10px;\n        border-top: 1px solid var(--border);\n        margin-top: 14px;\n    }\n    .cp-card-price {\n        font-family: 'Fraunces', serif;\n        font-size: 20px;\n        font-weight: 700;\n        color: var(--ink);\n        line-height: 1;\n    }\n    .cp-card-price span {\n        font-size: 12px;\n        font-family: 'DM Sans', sans-serif;\n        font-weight: 400;\n        color: var(--ink3);\n        margin-left: 2px;\n    }\n\n    \/* Bot\u00f3n a\u00f1adir al carrito *\/\n    .cp-btn-cart {\n        display: flex;\n        align-items: center;\n        gap: 7px;\n        padding: 10px 16px;\n        background: var(--ink);\n        color: #fff;\n        border: none;\n        border-radius: 100px;\n        font-family: 'DM Sans', sans-serif;\n        font-size: 13px;\n        font-weight: 600;\n        cursor: pointer;\n        white-space: nowrap;\n        transition: background .18s, transform .15s;\n        flex-shrink: 0;\n        text-decoration: none;\n    }\n    .cp-btn-cart:hover {\n        background: var(--acc);\n        transform: scale(1.04);\n        color: #fff;\n    }\n    .cp-btn-cart:active { transform: scale(.97); }\n    .cp-btn-cart svg { width: 15px; height: 15px; fill: currentColor; flex-shrink: 0; }\n\n    \/* Animaci\u00f3n de a\u00f1adido *\/\n    .cp-btn-cart.added {\n        background: var(--green, #10b981);\n        pointer-events: none;\n    }\n    .cp-btn-cart.added::after { content: ' \u2713'; }\n\n    \/* \u2500\u2500 Sin resultados \u2500\u2500 *\/\n    .cp-no-results {\n        text-align: center;\n        padding: 60px 20px;\n        color: var(--ink3);\n        display: none;\n    }\n    .cp-no-results.vis { display: block; }\n    .cp-no-results svg { width: 48px; height: 48px; fill: var(--border); margin: 0 auto 14px; }\n    .cp-no-results p { font-size: 15px; }\n\n    \/* \u2500\u2500 Separador de secci\u00f3n \u2500\u2500 *\/\n    .cp-empty-section { display: none !important; }\n\n    \/* \u2500\u2500 Tooltips variaciones\/opciones \u2500\u2500 *\/\n    .cp-variants-hint {\n        font-size: 11px;\n        color: var(--ink3);\n        margin-top: 6px;\n        display: flex;\n        flex-wrap: wrap;\n        gap: 4px;\n    }\n    .cp-var-tag {\n        background: var(--bg);\n        border: 1px solid var(--border);\n        border-radius: 100px;\n        padding: 2px 8px;\n        font-size: 10px;\n        color: var(--ink2);\n        font-weight: 500;\n    }\n    <\/style>\n\n    <!\u2013 \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 B\u00daSQUEDA \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 \u2013>\n    <div class=\"cp-search-zone\">\n        <h2 class=\"cp-search-label\">\u00bfQu\u00e9 se te <em>antoja<\/em> hoy?<\/h2>\n        <div class=\"cp-search-box\">\n            <svg viewBox=\"0 0 24 24\"><path d=\"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\"\/><\/svg>\n            <input\n                type=\"text\"\n                class=\"cp-search-input\"\n                id=\"cp_6a1b96c6c7889-search\"\n                placeholder=\"Buscar productos, sabores, categor\u00edas...\"\n                autocomplete=\"off\"\n                autocorrect=\"off\"\n            >\n            <button type=\"button\" class=\"cp-search-clear\" id=\"cp_6a1b96c6c7889-clear\" aria-label=\"Limpiar b\u00fasqueda\">\n                <svg viewBox=\"0 0 24 24\"><path d=\"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12Z\"\/><\/svg>\n            <\/button>\n        <\/div>\n        <p class=\"cp-search-meta\" id=\"cp_6a1b96c6c7889-meta\"><\/p>\n    <\/div>\n\n    <!\u2013 \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 TABS DE CATEGOR\u00cdAS \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 \u2013>\n        <nav class=\"cp-cat-nav\" id=\"cp_6a1b96c6c7889-nav\">\n                    <a href=\"#cp_6a1b96c6c7889-sec-cat_69c725b413942\"\n               class=\"cp-cat-tab active\"\n               data-sec=\"cp_6a1b96c6c7889-sec-cat_69c725b413942\">\n                s            <\/a>\n                    <a href=\"#cp_6a1b96c6c7889-sec-sin-categoria\"\n               class=\"cp-cat-tab \"\n               data-sec=\"cp_6a1b96c6c7889-sec-sin-categoria\">\n                Otros            <\/a>\n            <\/nav>\n    \n    <!\u2013 \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 SECCIONES POR CATEGOR\u00cdA \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 \u2013>\n        <section\n        class=\"cp-section\"\n        id=\"cp_6a1b96c6c7889-sec-cat_69c725b413942\"\n        data-secid=\"cat_69c725b413942\"\n    >\n        <!\u2013 Header de secci\u00f3n \u2013>\n        <div class=\"cp-section-hdr\">\n                        <div class=\"cp-section-info\">\n                <h3 class=\"cp-section-name\">s<\/h3>\n                <p class=\"cp-section-count\">1 producto<\/p>\n            <\/div>\n            <div class=\"cp-section-line\"><\/div>\n        <\/div>\n\n        <!\u2013 Grid \u2013>\n        <div class=\"cp-grid\">\n                <div\n            class=\"cp-card\"\n            data-search=\"heladi 3 s  f 5\"\n            data-cat=\"cat_69c725b413942\"\n            data-pid=\"prod_69c72d1a93372\"\n            onclick=\"window.location='#producto-prod_69c72d1a93372'\"\n            role=\"article\"\n            tabindex=\"0\"\n        >\n            <!\u2013 Imagen \u2013>\n            <div class=\"cp-card-img\">\n                                    <div class=\"cp-card-img-ph\">\n                        <svg viewBox=\"0 0 24 24\"><path d=\"M21,19V5C21,3.89 20.1,3 19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19M8.5,13.5L11,16.51L14.5,12L19,18H5L8.5,13.5Z\"\/><\/svg>\n                    <\/div>\n                                            <\/div>\n\n            <!\u2013 Cuerpo \u2013>\n            <div class=\"cp-card-body\">\n                <h4 class=\"cp-card-name\">heladi<\/h4>\n\n                                <div class=\"cp-card-desc-wrap\">\n                    <p class=\"cp-card-desc\" id=\"desc-prod_69c72d1a93372\">\n                        3                    <\/p>\n                    <div class=\"cp-card-desc-fade\" id=\"fade-prod_69c72d1a93372\"><\/div>\n                    <button\n                        type=\"button\"\n                        class=\"cp-card-expand\"\n                        id=\"exp-prod_69c72d1a93372\"\n                        data-pid=\"prod_69c72d1a93372\"\n                        onclick=\"event.stopPropagation(); cpToggleDesc('prod_69c72d1a93372')\"\n                    >\n                        <svg viewBox=\"0 0 24 24\"><path d=\"M7,10L12,15L17,10H7Z\"\/><\/svg>\n                        Ver m\u00e1s\n                    <\/button>\n                <\/div>\n                \n                                <div class=\"cp-variants-hint\">\n                                            <span class=\"cp-var-tag\">5<\/span>\n                                    <\/div>\n                            <\/div>\n\n            <!\u2013 Footer \u2013>\n            <div class=\"cp-card-footer\" onclick=\"event.stopPropagation()\">\n                <div class=\"cp-card-price\">\n                    $3.00                    <span>desde<\/span>                <\/div>\n                <button\n                    type=\"button\"\n                    class=\"cp-btn-cart\"\n                    data-pid=\"prod_69c72d1a93372\"\n                    data-name=\"heladi\"\n                    data-price=\"3\"\n                    onclick=\"cpAddToCart(this, event)\"\n                    aria-label=\"A\u00f1adir heladi al carrito\"\n                >\n                    <svg viewBox=\"0 0 24 24\"><path d=\"M11,9H13V6H16V4H13V1H11V4H8V6H11M7,18A2,2 0 0,0 5,20A2,2 0 0,0 7,22A2,2 0 0,0 9,20A2,2 0 0,0 7,18M17,18A2,2 0 0,0 15,20A2,2 0 0,0 17,22A2,2 0 0,0 19,20A2,2 0 0,0 17,18M7.17,14.75L7.2,14.63L8.1,13H15.55C16.3,13 16.96,12.59 17.3,11.97L21.16,4.96L19.42,4H19.41L18.31,6L15.55,11H8.53L8.4,10.73L6.16,6L5.21,4H2V6H4L7.17,14.75Z\"\/><\/svg>\n                    A\u00f1adir\n                <\/button>\n            <\/div>\n        <\/div>\n                <\/div><!\u2013 \/cp-grid \u2013>\n    <\/section>\n        <section\n        class=\"cp-section\"\n        id=\"cp_6a1b96c6c7889-sec-sin-categoria\"\n        data-secid=\"sin-categoria\"\n    >\n        <!\u2013 Header de secci\u00f3n \u2013>\n        <div class=\"cp-section-hdr\">\n                        <div class=\"cp-section-info\">\n                <h3 class=\"cp-section-name\">Otros<\/h3>\n                <p class=\"cp-section-count\">1 producto<\/p>\n            <\/div>\n            <div class=\"cp-section-line\"><\/div>\n        <\/div>\n\n        <!\u2013 Grid \u2013>\n        <div class=\"cp-grid\">\n                <div\n            class=\"cp-card\"\n            data-search=\"4  otros   \"\n            data-cat=\"sin-categoria\"\n            data-pid=\"prod_69c72d8718fc4\"\n            onclick=\"window.location='#producto-prod_69c72d8718fc4'\"\n            role=\"article\"\n            tabindex=\"0\"\n        >\n            <!\u2013 Imagen \u2013>\n            <div class=\"cp-card-img\">\n                                    <div class=\"cp-card-img-ph\">\n                        <svg viewBox=\"0 0 24 24\"><path d=\"M21,19V5C21,3.89 20.1,3 19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19M8.5,13.5L11,16.51L14.5,12L19,18H5L8.5,13.5Z\"\/><\/svg>\n                    <\/div>\n                                            <\/div>\n\n            <!\u2013 Cuerpo \u2013>\n            <div class=\"cp-card-body\">\n                <h4 class=\"cp-card-name\">4<\/h4>\n\n                \n                            <\/div>\n\n            <!\u2013 Footer \u2013>\n            <div class=\"cp-card-footer\" onclick=\"event.stopPropagation()\">\n                <div class=\"cp-card-price\">\n                    $5.00                                    <\/div>\n                <button\n                    type=\"button\"\n                    class=\"cp-btn-cart\"\n                    data-pid=\"prod_69c72d8718fc4\"\n                    data-name=\"4\"\n                    data-price=\"5\"\n                    onclick=\"cpAddToCart(this, event)\"\n                    aria-label=\"A\u00f1adir 4 al carrito\"\n                >\n                    <svg viewBox=\"0 0 24 24\"><path d=\"M11,9H13V6H16V4H13V1H11V4H8V6H11M7,18A2,2 0 0,0 5,20A2,2 0 0,0 7,22A2,2 0 0,0 9,20A2,2 0 0,0 7,18M17,18A2,2 0 0,0 15,20A2,2 0 0,0 17,22A2,2 0 0,0 19,20A2,2 0 0,0 17,18M7.17,14.75L7.2,14.63L8.1,13H15.55C16.3,13 16.96,12.59 17.3,11.97L21.16,4.96L19.42,4H19.41L18.31,6L15.55,11H8.53L8.4,10.73L6.16,6L5.21,4H2V6H4L7.17,14.75Z\"\/><\/svg>\n                    A\u00f1adir\n                <\/button>\n            <\/div>\n        <\/div>\n                <\/div><!\u2013 \/cp-grid \u2013>\n    <\/section>\n    \n    <!\u2013 Sin resultados \u2013>\n    <div class=\"cp-no-results\" id=\"cp_6a1b96c6c7889-noresults\">\n        <svg viewBox=\"0 0 24 24\"><path d=\"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z\"\/><\/svg>\n        <p>No encontramos productos que coincidan con tu b\u00fasqueda.<\/p>\n    <\/div>\n\n    <\/div><!\u2013 \/cp-root \u2013>\n\n    <!\u2013 \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 JAVASCRIPT \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 \u2013>\n    <script>\n    (function(){\n        'use strict';\n\n        var ROOT    = document.getElementById('cp_6a1b96c6c7889');\n        var input   = document.getElementById('cp_6a1b96c6c7889-search');\n        var clrBtn  = document.getElementById('cp_6a1b96c6c7889-clear');\n        var meta    = document.getElementById('cp_6a1b96c6c7889-meta');\n        var noRes   = document.getElementById('cp_6a1b96c6c7889-noresults');\n        var srchTimer = null;\n\n        \/* \u2500 Normalizar texto (acentos) \u2500 *\/\n        function norm(s){\n            return String(s||'').toLowerCase()\n                .normalize('NFD').replace(\/[\\u0300-\\u036f]\/g,'').trim();\n        }\n\n        \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n           BUSCADOR LIVE\n        \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n        input.addEventListener('input', function(){\n            clearTimeout(srchTimer);\n            var q = norm(this.value);\n            clrBtn.classList.toggle('vis', q.length > 0);\n            srchTimer = setTimeout(function(){ runSearch(q, input.value); }, 200);\n        });\n\n        clrBtn.addEventListener('click', function(){\n            input.value = '';\n            clrBtn.classList.remove('vis');\n            runSearch('', '');\n            input.focus();\n        });\n\n        function runSearch(q, raw){\n            var cards    = ROOT.querySelectorAll('.cp-card');\n            var sections = ROOT.querySelectorAll('.cp-section');\n            var found    = 0;\n\n            cards.forEach(function(card){\n                var text  = norm(card.getAttribute('data-search') || '');\n                var match = q === '' || text.indexOf(q) > -1;\n                card.style.display = match ? '' : 'none';\n                if (match) found++;\n            });\n\n            \/\/ Ocultar secciones sin resultados visibles\n            sections.forEach(function(sec){\n                var visibles = sec.querySelectorAll('.cp-card:not([style*=\"display: none\"]):not([style*=\"display:none\"])');\n                sec.classList.toggle('cp-empty-section', visibles.length === 0);\n            });\n\n            \/\/ Meta\n            if (q === ''){\n                meta.textContent = '';\n                noRes.classList.remove('vis');\n            } else {\n                meta.textContent = found + ' resultado' + (found!==1?'s':'') + ' para \"' + raw + '\"';\n                noRes.classList.toggle('vis', found === 0);\n            }\n        }\n\n        \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n           DESCRIPCI\u00d3N EXPANDIBLE\n           Se activa si el contenido supera 3 l\u00edneas\n        \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n        window.cpToggleDesc = function(pid){\n            var desc = document.getElementById('desc-'+pid);\n            var fade = document.getElementById('fade-'+pid);\n            var btn  = document.getElementById('exp-'+pid);\n            if (!desc) return;\n            var isOpen = desc.classList.contains('expanded');\n            desc.classList.toggle('expanded', !isOpen);\n            if (fade) fade.classList.toggle('hidden', !isOpen);\n            btn.classList.toggle('open', !isOpen);\n            btn.innerHTML = (!isOpen\n                ? '<svg viewBox=\"0 0 24 24\"><path d=\"M7,14L12,9L17,14H7Z\"\/><\/svg> Ver menos'\n                : '<svg viewBox=\"0 0 24 24\"><path d=\"M7,10L12,15L17,10H7Z\"\/><\/svg> Ver m\u00e1s'\n            );\n        };\n\n        \/\/ Detectar si la descripci\u00f3n necesita el bot\u00f3n \"ver m\u00e1s\"\n        document.addEventListener('DOMContentLoaded', function(){\n            checkDescOverflows();\n        });\n        \/\/ Tambi\u00e9n ejecutar de inmediato por si el DOM ya est\u00e1 listo\n        checkDescOverflows();\n\n        function checkDescOverflows(){\n            var descs = ROOT.querySelectorAll('.cp-card-desc');\n            descs.forEach(function(el){\n                \/\/ scrollHeight > clientHeight significa que hay contenido oculto\n                if (el.scrollHeight > el.clientHeight + 4){\n                    var pid = el.id.replace('desc-','');\n                    var btn = document.getElementById('exp-'+pid);\n                    if (btn) btn.classList.add('vis');\n                }\n            });\n        }\n\n        \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n           TABS DE CATEGOR\u00cdAS \u2014 scroll suave\n        \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n        var tabs = ROOT.querySelectorAll('.cp-cat-tab');\n        tabs.forEach(function(tab){\n            tab.addEventListener('click', function(e){\n                e.preventDefault();\n                tabs.forEach(function(t){ t.classList.remove('active'); });\n                tab.classList.add('active');\n                var secId = tab.getAttribute('data-sec');\n                var target = document.getElementById(secId);\n                if (target){\n                    var offset = 80; \/\/ compensar navbar fija si existe\n                    var top = target.getBoundingClientRect().top + window.scrollY - offset;\n                    window.scrollTo({ top: top, behavior: 'smooth' });\n                }\n            });\n        });\n\n        \/\/ Highlight tab seg\u00fan scroll\n        var secEls = ROOT.querySelectorAll('.cp-section');\n        if (tabs.length && secEls.length){\n            window.addEventListener('scroll', function(){\n                var scrollY = window.scrollY + 150;\n                secEls.forEach(function(sec, i){\n                    if (sec.offsetTop <= scrollY && (i === secEls.length-1 || secEls[i+1].offsetTop > scrollY)){\n                        tabs.forEach(function(t){ t.classList.remove('active'); });\n                        var id = sec.id;\n                        var matchTab = ROOT.querySelector('.cp-cat-tab[data-sec=\"'+id+'\"]');\n                        if (matchTab) matchTab.classList.add('active');\n                    }\n                });\n            }, { passive: true });\n        }\n\n        \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n           A\u00d1ADIR AL CARRITO\n           Dispara evento personalizado para\n           integrar con cualquier sistema de carrito\n        \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n        window.cpAddToCart = function(btn, e){\n            e.stopPropagation();\n            var pid   = btn.getAttribute('data-pid');\n            var pname = btn.getAttribute('data-name');\n            var price = btn.getAttribute('data-price');\n\n            \/\/ Feedback visual\n            var origHTML = btn.innerHTML;\n            btn.classList.add('added');\n            btn.textContent = '\u2713 A\u00f1adido';\n            setTimeout(function(){\n                btn.classList.remove('added');\n                btn.innerHTML = origHTML;\n            }, 1800);\n\n            \/\/ Evento personalizado \u2014 otros plugins pueden escucharlo:\n            \/\/ document.addEventListener('cp:addToCart', function(e){ ... })\n            var event = new CustomEvent('cp:addToCart', {\n                bubbles: true,\n                detail: { id: pid, name: pname, price: parseFloat(price) }\n            });\n            btn.dispatchEvent(event);\n\n            \/\/ Si existe WooCommerce o integraci\u00f3n propia, se puede llamar aqu\u00ed\n            \/\/ Ejemplo WC: fetch('\/wc-api\/v3\/cart\/add', { ... })\n            console.log('[Cat\u00e1logo] A\u00f1adir al carrito:', { id: pid, name: pname, price: price });\n        };\n\n    })();\n    <\/script>\n\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-12","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.helados.tumarcaagencia.com\/index.php?rest_route=\/wp\/v2\/pages\/12","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.helados.tumarcaagencia.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.helados.tumarcaagencia.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.helados.tumarcaagencia.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.helados.tumarcaagencia.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12"}],"version-history":[{"count":7,"href":"https:\/\/www.helados.tumarcaagencia.com\/index.php?rest_route=\/wp\/v2\/pages\/12\/revisions"}],"predecessor-version":[{"id":20,"href":"https:\/\/www.helados.tumarcaagencia.com\/index.php?rest_route=\/wp\/v2\/pages\/12\/revisions\/20"}],"wp:attachment":[{"href":"https:\/\/www.helados.tumarcaagencia.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}