var/cache/dev/twig/e0/e02ddf9114742939a989b2b5c8ed2aed.php line 51

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\SandboxExtension;
  6. use Twig\Markup;
  7. use Twig\Sandbox\SecurityError;
  8. use Twig\Sandbox\SecurityNotAllowedTagError;
  9. use Twig\Sandbox\SecurityNotAllowedFilterError;
  10. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  11. use Twig\Source;
  12. use Twig\Template;
  13. /* product.html.twig */
  14. class __TwigTemplate_92806ffe18a545913b4088f56e0ad847 extends Template
  15. {
  16.     private $source;
  17.     private $macros = [];
  18.     public function __construct(Environment $env)
  19.     {
  20.         parent::__construct($env);
  21.         $this->source $this->getSourceContext();
  22.         $this->blocks = [
  23.             'main' => [$this'block_main'],
  24.             'start_sticky_product' => [$this'block_start_sticky_product'],
  25.             'price_box' => [$this'block_price_box'],
  26.             'info_destacada' => [$this'block_info_destacada'],
  27.             'product_attributes' => [$this'block_product_attributes'],
  28.             'add_to_cart' => [$this'block_add_to_cart'],
  29.             'after_add_to_cart' => [$this'block_after_add_to_cart'],
  30.             'price_nav_fixed' => [$this'block_price_nav_fixed'],
  31.             'before_accordion' => [$this'block_before_accordion'],
  32.             'modales_producto' => [$this'block_modales_producto'],
  33.             'informacion_adicional_producto' => [$this'block_informacion_adicional_producto'],
  34.             'after_main' => [$this'block_after_main'],
  35.             'footer' => [$this'block_footer'],
  36.             'json_schema' => [$this'block_json_schema'],
  37.         ];
  38.     }
  39.     protected function doGetParent(array $context)
  40.     {
  41.         // line 1
  42.         return "base.html.twig";
  43.     }
  44.     protected function doDisplay(array $context, array $blocks = [])
  45.     {
  46.         $macros $this->macros;
  47.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  48.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""product.html.twig"));
  49.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  50.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""product.html.twig"));
  51.         // line 4
  52.         $context["d"] = ((twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "default_variation", [], "any"truetruefalse4)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "default_variation", [], "any"falsefalsefalse4))) : (""));
  53.         // line 1
  54.         $this->parent $this->loadTemplate("base.html.twig""product.html.twig"1);
  55.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  56.         
  57.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  58.         
  59.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  60.     }
  61.     // line 6
  62.     public function block_main($context, array $blocks = [])
  63.     {
  64.         $macros $this->macros;
  65.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  66.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  67.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  68.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  69.         // line 7
  70.         echo "    <div class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 pt-header\">
  71.         ";
  72.         // line 8
  73.         $this->loadTemplate("template-parts/breadcrumb.html.twig""product.html.twig"8)->display($context);
  74.         // line 9
  75.         echo "    </div>
  76.     <main id=\"product-";
  77.         // line 10
  78.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'10$this->source); })()), "id", [], "any"falsefalsefalse10), "html"nulltrue);
  79.         echo "\"
  80.           x-init=\"\$nextTick(() => { initialize() })\"
  81.             ";
  82.         // line 12
  83.         if ((isset($context["d"]) || array_key_exists("d"$context) ? $context["d"] : (function () { throw new RuntimeError('Variable "d" does not exist.'12$this->source); })())) {
  84.             // line 13
  85.             echo "                x-data=\"window.alpineProductData(";
  86.             echo twig_escape_filter($this->envjson_encode((isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'13$this->source); })())), "html"nulltrue);
  87.             echo ", ";
  88.             echo twig_escape_filter($this->envjson_encode(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'13$this->source); })()), "default_variation", [], "array"falsefalsefalse13)), "html"nulltrue);
  89.             echo ")\"
  90.             ";
  91.         } else {
  92.             // line 15
  93.             echo "                x-data=\"window.alpineProductData(";
  94.             echo twig_escape_filter($this->envjson_encode((isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'15$this->source); })())), "html"nulltrue);
  95.             echo ")\"
  96.             ";
  97.         }
  98.         // line 17
  99.         echo "          class=\"max-w-screen-2xl mx-auto px-5 lg:px-20\">
  100.         <div class=\"grid grid-cols-1 lg:grid-cols-2 lg:grid-rows-[0.02fr_1fr] gap-y-6 lg:gap-x-12 lg:gap-y-4 pb-0 lg:pb-12\">
  101.             <div class=\"swiper-container-wrapper product-gallery -ml-4 lg:ml-0 w-screen lg:w-full flex flex-col sm:flex-row-reverse flex-nowrap gap-4 lg:aspect-[677/400] lg:overflow-hidden order-2 lg:order-first\">
  102.                 ";
  103.         // line 20
  104.         if ((((twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "gallery", [], "any"truetruefalse20)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "gallery", [], "any"falsefalsefalse20))) : ("")) || ((twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "galleryVariations", [], "any"truetruefalse20)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "galleryVariations", [], "any"falsefalsefalse20))) : ("")))) {
  105.             // line 21
  106.             echo "                    <div class=\"swiper group/product-page-swiper w-full lg:w-[calc(100%-100px)] relative !z-5\">
  107.                         ";
  108.             // line 22
  109.             if (((twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "discount", [], "any"truetruefalse22)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "discount", [], "any"falsefalsefalse22))) : (""))) {
  110.                 // line 23
  111.                 echo "                            ";
  112.                 $this->loadTemplate("product.html.twig""product.html.twig"23"1885872536")->display(twig_array_merge($context, ["picto_name" => (("- " twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'23$this->source); })()), "discount", [], "any"falsefalsefalse23)) . "%")]));
  113.                 // line 24
  114.                 echo "                        ";
  115.             }
  116.             // line 25
  117.             echo "                        ";
  118.             if (((twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "video", [], "any"truetruefalse25)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "video", [], "any"falsefalsefalse25))) : (""))) {
  119.                 // line 26
  120.                 echo "                            <button data-modal-target=\"";
  121.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'26$this->source); })()), "video", [], "any"falsefalsefalse26), "html"nulltrue);
  122.                 echo "\"
  123.                                     class=\"absolute top-4 right-4 z-100 flex w-max flex-row items-center gap-2 rounded-none bg-neutral-200 py-1 px-3\">
  124.                                 ";
  125.                 // line 28
  126.                 $this->loadTemplate("assets/youtube_icon.svg""product.html.twig"28)->display($context);
  127.                 // line 29
  128.                 echo "                                <span class=\"text-sm font-bold text-black\">Ver vĂ­deo</span>
  129.                             </button>
  130.                         ";
  131.             }
  132.             // line 32
  133.             echo "                        <div class=\"swiper-wrapper\">
  134.                             <template x-for=\"item in current?.gallery || []\">
  135.                                 <div class=\"swiper-slide\">
  136.                                     <template x-if=\"item.src\">
  137.                                         <a :href=\"item.src\" :data-pswp-src=\"item.src\" :data-pswp-width=\"1024\"
  138.                                            :data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
  139.                                             <img class=\"w-full h-full aspect-[4/3] object-contain\"
  140.                                                  :src=\"item.src\"
  141.                                                  :srcset=\"item.srcset\"
  142.                                                  :sizes=\"item.sizes\"
  143.                                                  :alt=\"item.alt\" loading=\"lazy\">
  144.                                         </a>
  145.                                     </template>
  146.                                 </div>
  147.                             </template>
  148.                             ";
  149.             // line 47
  150.             $context['_parent'] = $context;
  151.             $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'47$this->source); })()), "gallery", [], "any"falsefalsefalse47));
  152.             foreach ($context['_seq'] as $context["_key"] => $context["image"]) {
  153.                 // line 48
  154.                 echo "                                <div class=\"swiper-slide\">
  155.                                     ";
  156.                 // line 49
  157.                 if (((twig_get_attribute($this->env$this->source$context["image"], "src", [], "any"truetruefalse49)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source$context["image"], "src", [], "any"falsefalsefalse49))) : (""))) {
  158.                     // line 50
  159.                     echo "                                        <a href=\"";
  160.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["image"], "src", [], "any"falsefalsefalse50), "html"nulltrue);
  161.                     echo "\" data-pswp-src=\"";
  162.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["image"], "src", [], "any"falsefalsefalse50), "html"nulltrue);
  163.                     echo "\" data-pswp-width=\"1024\"
  164.                                            data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
  165.                                             <img class=\"w-full h-full aspect-[4/3] object-contain\"
  166.                                                  src=\"";
  167.                     // line 53
  168.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["image"], "src", [], "any"falsefalsefalse53), "html"nulltrue);
  169.                     echo "\"
  170.                                                  srcset=\"";
  171.                     // line 54
  172.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["image"], "srcset", [], "any"falsefalsefalse54), "html"nulltrue);
  173.                     echo "\"
  174.                                                  sizes=\"";
  175.                     // line 55
  176.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["image"], "sizes", [], "any"falsefalsefalse55), "html"nulltrue);
  177.                     echo "\"
  178.                                                  alt=\"";
  179.                     // line 56
  180.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["image"], "alt", [], "any"falsefalsefalse56), "html"nulltrue);
  181.                     echo "\" loading=\"lazy\">
  182.                                         </a>
  183.                                     ";
  184.                 }
  185.                 // line 59
  186.                 echo "                                    ";
  187.                 if (((twig_get_attribute($this->env$this->source$context["image"], "youtube_id", [], "any"truetruefalse59)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source$context["image"], "youtube_id", [], "any"falsefalsefalse59))) : (""))) {
  188.                     // line 60
  189.                     echo "                                        <iframe src=\"";
  190.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["image"], "youtube_src", [], "any"falsefalsefalse60), "html"nulltrue);
  191.                     echo "\" class=\"w-full h-full\"
  192.                                                 width=\"640\" height=\"360\" frameborder=\"0\"
  193.                                                 allow=\"autoplay; fullscreen; picture-in-picture\"
  194.                                                 allowfullscreen></iframe>
  195.                                     ";
  196.                 }
  197.                 // line 65
  198.                 echo "                                </div>
  199.                             ";
  200.             }
  201.             $_parent $context['_parent'];
  202.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['image'], $context['_parent'], $context['loop']);
  203.             $context array_intersect_key($context$_parent) + $_parent;
  204.             // line 67
  205.             echo "                        </div>
  206.                         <div class=\"swiper-scrollbar lg:opacity-0 group-[.swiper-initialized:hover]/product-page-swiper:opacity-100 transition-opacity duration-300 ease-in-out\"></div>
  207.                         <div class=\"swiper-button-next aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
  208.                             ";
  209.             // line 70
  210.             $this->loadTemplate("assets/swiper-next.svg""product.html.twig"70)->display($context);
  211.             // line 71
  212.             echo "                        </div>
  213.                         <div class=\"swiper-button-prev aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
  214.                             ";
  215.             // line 73
  216.             $this->loadTemplate("assets/swiper-prev.svg""product.html.twig"73)->display($context);
  217.             // line 74
  218.             echo "                        </div>
  219.                     </div>
  220.                     <div class=\"swiper product-page-swiper-thumbs w-[100px] !hidden lg:!block relative\">
  221.                         <div class=\"swiper-wrapper\">
  222.                             <template x-for=\"item in current?.gallery || []\">
  223.                                 <div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
  224.                                     <template x-if=\"item.src\">
  225.                                         <img :src=\"item.thumbnail.src\"
  226.                                              :alt=\"item.alt\" loading=\"lazy\">
  227.                                     </template>
  228.                                 </div>
  229.                             </template>
  230.                             ";
  231.             // line 86
  232.             $context['_parent'] = $context;
  233.             $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'86$this->source); })()), "gallery", [], "any"falsefalsefalse86));
  234.             foreach ($context['_seq'] as $context["_key"] => $context["image"]) {
  235.                 // line 87
  236.                 echo "                                <div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
  237.                                     <img src=\"";
  238.                 // line 88
  239.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["image"], "thumbnail", [], "any"falsefalsefalse88), "src", [], "any"falsefalsefalse88), "html"nulltrue);
  240.                 echo "\"
  241.                                          alt=\"Miniatura ";
  242.                 // line 89
  243.                 echo twig_escape_filter($this->env, ((((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["image"], "thumbnail", [], "any"falsetruefalse89), "alt", [], "any"truetruefalse89)) ? (_twig_default_filter(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["image"], "thumbnail", [], "any"falsetruefalse89), "alt", [], "any"falsefalsefalse89))) : (""))) ? (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["image"], "thumbnail", [], "any"falsefalsefalse89), "alt", [], "any"falsefalsefalse89)) : (twig_get_attribute($this->env$this->source$context["image"], "alt", [], "any"falsefalsefalse89))), "html"nulltrue);
  244.                 echo "\"
  245.                                          loading=\"lazy\">
  246.                                 </div>
  247.                             ";
  248.             }
  249.             $_parent $context['_parent'];
  250.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['image'], $context['_parent'], $context['loop']);
  251.             $context array_intersect_key($context$_parent) + $_parent;
  252.             // line 93
  253.             echo "                        </div>
  254.                         <div class=\"swiper-button-next swiper-button-next-thumbs !top-auto !bottom-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
  255.                              aria-disabled=\"true\">
  256.                             ";
  257.             // line 96
  258.             $this->loadTemplate("assets/swiper-next-thumbs.svg""product.html.twig"96)->display($context);
  259.             // line 97
  260.             echo "                        </div>
  261.                         <div class=\"swiper-button-prev swiper-button-prev-thumbs !top-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
  262.                              aria-disabled=\"true\">
  263.                             ";
  264.             // line 100
  265.             $this->loadTemplate("assets/swiper-prev-thumbs.svg""product.html.twig"100)->display($context);
  266.             // line 101
  267.             echo "                        </div>
  268.                     </div>
  269.                 ";
  270.         }
  271.         // line 104
  272.         echo "            </div>
  273.             <div class=\"row-span-1\">
  274.                 <h1 class=\"text-3xl lg:max-w-lg\">";
  275.         // line 106
  276.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'106$this->source); })()), "name", [], "any"falsefalsefalse106), "html"nulltrue);
  277.         echo "</h1>
  278.             </div>
  279.             <div class=\"lg:row-span-2 order-4\">
  280.                 <div class=\"lg:sticky lg:top-header flex flex-col gap-y-6 z-0 sm:max-xl max-w-lg\">
  281.                     ";
  282.         // line 110
  283.         $this->displayBlock('start_sticky_product'$context$blocks);
  284.         // line 111
  285.         echo "                    ";
  286.         $this->displayBlock('price_box'$context$blocks);
  287.         // line 114
  288.         echo "                    ";
  289.         $this->displayBlock('info_destacada'$context$blocks);
  290.         // line 121
  291.         echo "                    ";
  292.         if (((twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "short_description", [], "any"truetruefalse121)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "short_description", [], "any"falsefalsefalse121))) : (""))) {
  293.             // line 122
  294.             echo "                        <span class=\"order-last lg:order-none text-sm text-black prose max-w-none\">";
  295.             echo twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'122$this->source); })()), "short_description", [], "any"falsefalsefalse122);
  296.             echo "</span>
  297.                     ";
  298.         }
  299.         // line 124
  300.         echo "                    ";
  301.         if (((twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "is_in_stock", [], "any"truetruefalse124)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "is_in_stock", [], "any"falsefalsefalse124))) : (""))) {
  302.             // line 125
  303.             echo "                        ";
  304.             if (((twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "variation_attributes", [], "any"truetruefalse125)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "variation_attributes", [], "any"falsefalsefalse125))) : (""))) {
  305.                 // line 126
  306.                 echo "                            <div id=\"product-attributes\"
  307.                                  class=\"space-y-6 bg-stone-100 xs:rounded-none p-4 w-screen -ml-4 xs:w-full xs:ml-0\">
  308.                                 ";
  309.                 // line 128
  310.                 $this->displayBlock('product_attributes'$context$blocks);
  311.                 // line 137
  312.                 echo "                            </div>
  313.                         ";
  314.             }
  315.             // line 139
  316.             echo "                        ";
  317.             $this->displayBlock('add_to_cart'$context$blocks);
  318.             // line 144
  319.             echo "                        ";
  320.             $this->displayBlock('after_add_to_cart'$context$blocks);
  321.             // line 145
  322.             echo "                    ";
  323.         } else {
  324.             // line 146
  325.             echo "                        <div class=\"flex flex-row items-center gap-3 mt-6\">
  326.                             <button id=\"addToCart\"
  327.                                     class=\"no-stock w-full flex flex-row justify-center items-center gap-3 rounded-none bg-black p-3 text-white text-center\">
  328.                                 <span>Producto agotado</span>
  329.                             </button>
  330.                         </div>
  331.                     ";
  332.         }
  333.         // line 153
  334.         echo "                    <a href=\"";
  335.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("whatsapp_link", ["link" => twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'153$this->source); })()), "request", [], "any"falsefalsefalse153), "pathInfo", [], "any"falsefalsefalse153)]), "html"nulltrue);
  336.         echo "\" target=\"_blank\"
  337.                        rel=\"nofollow\" class=\"[&_svg]:max-w-40
  338.                         [&_svg]:max-h-40 [&_svg]:w-full [&_svg]:h-auto [&_svg]:object-contain\">
  339.                         ";
  340.         // line 156
  341.         $this->loadTemplate("assets/whatsapp-herramientasparaalicatador.svg""product.html.twig"156)->display($context);
  342.         // line 157
  343.         echo "                    </a>
  344.                 </div>
  345.                 ";
  346.         // line 160
  347.         $this->displayBlock('price_nav_fixed'$context$blocks);
  348.         // line 163
  349.         echo "            </div>
  350.             <div class=\"order-last lg:order-3 mt-0 lg:mt-[400px] mb-8\">
  351.                 ";
  352.         // line 166
  353.         $this->displayBlock('before_accordion'$context$blocks);
  354.         // line 167
  355.         echo "                ";
  356.         if (((twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "accordion", [], "any"truetruefalse167)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "accordion", [], "any"falsefalsefalse167))) : (""))) {
  357.             // line 168
  358.             echo "                    ";
  359.             $this->loadTemplate("product.html.twig""product.html.twig"168"85078136")->display(twig_array_merge($context, ["id" => "accordion_product""accordion" => "collapse""items" => twig_get_attribute($this->env$this->source,             // line 171
  360. (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'171$this->source); })()), "accordion", [], "any"falsefalsefalse171)]));
  361.             // line 174
  362.             echo "                ";
  363.         }
  364.         // line 175
  365.         echo "            </div>
  366.             ";
  367.         // line 177
  368.         if (((twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "video", [], "any"truetruefalse177)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "video", [], "any"falsefalsefalse177))) : (""))) {
  369.             // line 178
  370.             echo "                ";
  371.             $this->loadTemplate("product.html.twig""product.html.twig"178"458667039")->display(twig_array_merge($context, ["id" => twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'178$this->source); })()), "video", [], "any"falsefalsefalse178), "modal_button_class" => "hidden""youtube_id" => twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'178$this->source); })()), "video", [], "any"falsefalsefalse178), "modal_zIndex" => "z-[1000001]"]));
  372.             // line 179
  373.             echo "            ";
  374.         }
  375.         // line 180
  376.         echo "            ";
  377.         $this->displayBlock('modales_producto'$context$blocks);
  378.         // line 181
  379.         echo "        </div>
  380.         ";
  381.         // line 182
  382.         $this->displayBlock('informacion_adicional_producto'$context$blocks);
  383.         // line 183
  384.         echo "    </main>
  385.     ";
  386.         // line 185
  387.         $this->displayBlock('after_main'$context$blocks);
  388.         // line 186
  389.         echo "
  390.     ";
  391.         // line 187
  392.         if (((twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "upsell_ids", [], "any"truetruefalse187)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "upsell_ids", [], "any"falsefalsefalse187))) : (""))) {
  393.             // line 188
  394.             echo "        <section class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 flex flex-col gap-8\">
  395.             ";
  396.             // line 189
  397.             echo $this->extensions['App\Twig\BlocksExtension']->renderBlock("listadoproductos", ["titulo" => (((twig_get_attribute($this->env$this->source,             // line 190
  398. ($context["product"] ?? null), "tituloProductosRelacionados", [], "any"truetruefalse190) &&  !(null === twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "tituloProductosRelacionados", [], "any"falsefalsefalse190)))) ? (twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "tituloProductosRelacionados", [], "any"falsefalsefalse190)) : ("Productos relacionados")), "alineacion" => "start""categorias_productos" => false"etiquetas_productos" => false"numero_productos" => "-1""boton" => """slider_grid" => "slider""productos" => twig_get_attribute($this->env$this->source,             // line 197
  399. (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'197$this->source); })()), "upsell_ids", [], "any"falsefalsefalse197), "id" => "relacionados"]);
  400.             // line 199
  401.             echo "
  402.         </section>
  403.     ";
  404.         }
  405.         
  406.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  407.         
  408.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  409.     }
  410.     // line 110
  411.     public function block_start_sticky_product($context, array $blocks = [])
  412.     {
  413.         $macros $this->macros;
  414.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  415.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""start_sticky_product"));
  416.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  417.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""start_sticky_product"));
  418.         
  419.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  420.         
  421.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  422.     }
  423.     // line 111
  424.     public function block_price_box($context, array $blocks = [])
  425.     {
  426.         $macros $this->macros;
  427.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  428.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""price_box"));
  429.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  430.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""price_box"));
  431.         // line 112
  432.         echo "                        ";
  433.         $this->loadTemplate("product.html.twig""product.html.twig"112"1985890457")->display($context);
  434.         // line 113
  435.         echo "                    ";
  436.         
  437.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  438.         
  439.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  440.     }
  441.     // line 114
  442.     public function block_info_destacada($context, array $blocks = [])
  443.     {
  444.         $macros $this->macros;
  445.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  446.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""info_destacada"));
  447.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  448.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""info_destacada"));
  449.         // line 115
  450.         echo "                        ";
  451.         $this->loadTemplate("product.html.twig""product.html.twig"115"253043151")->display(twig_to_array(["envio" => true"tiempo_envio" => (((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source,         // line 117
  452. ($context["product"] ?? null), "attributes", [], "any"falsetruefalse117), "pa_tiempo-de-envio", [], "array"falsetruefalse117), 0, [], "array"falsetruefalse117), "name", [], "any"truetruefalse117) &&  !(null === twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, ($context["product"] ?? null), "attributes", [], "any"falsetruefalse117), "pa_tiempo-de-envio", [], "array"falsetruefalse117), 0, [], "array"falsetruefalse117), "name", [], "any"falsefalsefalse117)))) ? (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, ($context["product"] ?? null), "attributes", [], "any"falsetruefalse117), "pa_tiempo-de-envio", [], "array"falsetruefalse117), 0, [], "array"falsetruefalse117), "name", [], "any"falsefalsefalse117)) : ("")), "size" => ((((twig_get_attribute($this->env$this->source,         // line 118
  453. ($context["product"] ?? null), "length", [], "any"truetruefalse118)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "length", [], "any"falsefalsefalse118))) : ("")) || ((twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "width", [], "any"truetruefalse118)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "width", [], "any"falsefalsefalse118))) : (""))) || ((twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "height", [], "any"truetruefalse118)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["product"] ?? null), "height", [], "any"falsefalsefalse118))) : ("")))]));
  454.         // line 120
  455.         echo "                    ";
  456.         
  457.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  458.         
  459.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  460.     }
  461.     // line 128
  462.     public function block_product_attributes($context, array $blocks = [])
  463.     {
  464.         $macros $this->macros;
  465.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  466.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""product_attributes"));
  467.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  468.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""product_attributes"));
  469.         // line 129
  470.         echo "                                    ";
  471.         $context['_parent'] = $context;
  472.         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'129$this->source); })()), "variation_attributes", [], "any"falsefalsefalse129));
  473.         foreach ($context['_seq'] as $context["key"] => $context["attribute"]) {
  474.             // line 130
  475.             echo "                                        ";
  476.             $this->loadTemplate("product.html.twig""product.html.twig"130"201806956")->display(twig_to_array(["atributos" => (("product.variation_attributes[\"" .             // line 131
  477. $context["key"]) . "\"]"), "atributo" =>             // line 132
  478. $context["key"]]));
  479.             // line 135
  480.             echo "                                    ";
  481.         }
  482.         $_parent $context['_parent'];
  483.         unset($context['_seq'], $context['_iterated'], $context['key'], $context['attribute'], $context['_parent'], $context['loop']);
  484.         $context array_intersect_key($context$_parent) + $_parent;
  485.         // line 136
  486.         echo "                                ";
  487.         
  488.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  489.         
  490.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  491.     }
  492.     // line 139
  493.     public function block_add_to_cart($context, array $blocks = [])
  494.     {
  495.         $macros $this->macros;
  496.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  497.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""add_to_cart"));
  498.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  499.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""add_to_cart"));
  500.         // line 140
  501.         echo "                            ";
  502.         $this->loadTemplate("product.html.twig""product.html.twig"140"1059092971")->display(twig_array_merge($context, ["quantity" => true]));
  503.         // line 143
  504.         echo "                        ";
  505.         
  506.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  507.         
  508.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  509.     }
  510.     // line 144
  511.     public function block_after_add_to_cart($context, array $blocks = [])
  512.     {
  513.         $macros $this->macros;
  514.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  515.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""after_add_to_cart"));
  516.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  517.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""after_add_to_cart"));
  518.         
  519.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  520.         
  521.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  522.     }
  523.     // line 160
  524.     public function block_price_nav_fixed($context, array $blocks = [])
  525.     {
  526.         $macros $this->macros;
  527.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  528.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""price_nav_fixed"));
  529.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  530.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""price_nav_fixed"));
  531.         // line 161
  532.         echo "                    ";
  533.         $this->loadTemplate("product.html.twig""product.html.twig"161"1230436163")->display($context);
  534.         // line 162
  535.         echo "                ";
  536.         
  537.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  538.         
  539.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  540.     }
  541.     // line 166
  542.     public function block_before_accordion($context, array $blocks = [])
  543.     {
  544.         $macros $this->macros;
  545.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  546.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""before_accordion"));
  547.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  548.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""before_accordion"));
  549.         
  550.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  551.         
  552.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  553.     }
  554.     // line 180
  555.     public function block_modales_producto($context, array $blocks = [])
  556.     {
  557.         $macros $this->macros;
  558.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  559.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""modales_producto"));
  560.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  561.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""modales_producto"));
  562.         
  563.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  564.         
  565.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  566.     }
  567.     // line 182
  568.     public function block_informacion_adicional_producto($context, array $blocks = [])
  569.     {
  570.         $macros $this->macros;
  571.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  572.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""informacion_adicional_producto"));
  573.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  574.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""informacion_adicional_producto"));
  575.         
  576.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  577.         
  578.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  579.     }
  580.     // line 185
  581.     public function block_after_main($context, array $blocks = [])
  582.     {
  583.         $macros $this->macros;
  584.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  585.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""after_main"));
  586.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  587.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""after_main"));
  588.         
  589.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  590.         
  591.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  592.     }
  593.     // line 204
  594.     public function block_footer($context, array $blocks = [])
  595.     {
  596.         $macros $this->macros;
  597.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  598.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""footer"));
  599.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  600.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""footer"));
  601.         // line 205
  602.         echo "    ";
  603.         $this->loadTemplate("footer.html.twig""product.html.twig"205)->display($context);
  604.         // line 206
  605.         echo "    <div class=\"pb-44 lg:pb-16\"></div>
  606.     <style>
  607.         #whatsapp {
  608.             margin-bottom: 5rem;
  609.         }
  610.     </style>
  611.     ";
  612.         // line 212
  613.         echo $this->env->getFunction('wp_footer')->getCallable()();
  614.         echo "
  615. ";
  616.         
  617.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  618.         
  619.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  620.     }
  621.     // line 215
  622.     public function block_json_schema($context, array $blocks = [])
  623.     {
  624.         $macros $this->macros;
  625.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  626.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""json_schema"));
  627.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  628.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""json_schema"));
  629.         // line 216
  630.         echo "    ";
  631.         echo (isset($context["json_schema"]) || array_key_exists("json_schema"$context) ? $context["json_schema"] : (function () { throw new RuntimeError('Variable "json_schema" does not exist.'216$this->source); })());
  632.         echo "
  633. ";
  634.         
  635.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  636.         
  637.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  638.     }
  639.     /**
  640.      * @codeCoverageIgnore
  641.      */
  642.     public function getTemplateName()
  643.     {
  644.         return "product.html.twig";
  645.     }
  646.     /**
  647.      * @codeCoverageIgnore
  648.      */
  649.     public function isTraitable()
  650.     {
  651.         return false;
  652.     }
  653.     /**
  654.      * @codeCoverageIgnore
  655.      */
  656.     public function getDebugInfo()
  657.     {
  658.         return array (  713 => 216,  703 => 215,  691 => 212,  683 => 206,  680 => 205,  670 => 204,  652 => 185,  634 => 182,  616 => 180,  598 => 166,  588 => 162,  585 => 161,  575 => 160,  557 => 144,  547 => 143,  544 => 140,  534 => 139,  524 => 136,  518 => 135,  516 => 132,  515 => 131,  513 => 130,  508 => 129,  498 => 128,  488 => 120,  486 => 118,  485 => 117,  483 => 115,  473 => 114,  463 => 113,  460 => 112,  450 => 111,  432 => 110,  419 => 199,  417 => 197,  416 => 190,  415 => 189,  412 => 188,  410 => 187,  407 => 186,  405 => 185,  401 => 183,  399 => 182,  396 => 181,  393 => 180,  390 => 179,  387 => 178,  385 => 177,  381 => 175,  378 => 174,  376 => 171,  374 => 168,  371 => 167,  369 => 166,  364 => 163,  362 => 160,  357 => 157,  355 => 156,  348 => 153,  339 => 146,  336 => 145,  333 => 144,  330 => 139,  326 => 137,  324 => 128,  320 => 126,  317 => 125,  314 => 124,  308 => 122,  305 => 121,  302 => 114,  299 => 111,  297 => 110,  290 => 106,  286 => 104,  281 => 101,  279 => 100,  274 => 97,  272 => 96,  267 => 93,  257 => 89,  253 => 88,  250 => 87,  246 => 86,  232 => 74,  230 => 73,  226 => 71,  224 => 70,  219 => 67,  212 => 65,  203 => 60,  200 => 59,  194 => 56,  190 => 55,  186 => 54,  182 => 53,  173 => 50,  171 => 49,  168 => 48,  164 => 47,  147 => 32,  142 => 29,  140 => 28,  134 => 26,  131 => 25,  128 => 24,  125 => 23,  123 => 22,  120 => 21,  118 => 20,  113 => 17,  107 => 15,  99 => 13,  97 => 12,  92 => 10,  89 => 9,  87 => 8,  84 => 7,  74 => 6,  63 => 1,  61 => 4,  48 => 1,);
  659.     }
  660.     public function getSourceContext()
  661.     {
  662.         return new Source("{% extends 'base.html.twig' %}
  663. {# Some helpers to make this file more readable #}
  664. {% set d = product.default_variation|default %}
  665. {% block main %}
  666.     <div class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 pt-header\">
  667.         {% include 'template-parts/breadcrumb.html.twig' %}
  668.     </div>
  669.     <main id=\"product-{{ product.id }}\"
  670.           x-init=\"\$nextTick(() => { initialize() })\"
  671.             {% if d %}
  672.                 x-data=\"window.alpineProductData({{ product | json_encode }}, {{ product['default_variation'] | json_encode }})\"
  673.             {% else %}
  674.                 x-data=\"window.alpineProductData({{ product | json_encode }})\"
  675.             {% endif %}
  676.           class=\"max-w-screen-2xl mx-auto px-5 lg:px-20\">
  677.         <div class=\"grid grid-cols-1 lg:grid-cols-2 lg:grid-rows-[0.02fr_1fr] gap-y-6 lg:gap-x-12 lg:gap-y-4 pb-0 lg:pb-12\">
  678.             <div class=\"swiper-container-wrapper product-gallery -ml-4 lg:ml-0 w-screen lg:w-full flex flex-col sm:flex-row-reverse flex-nowrap gap-4 lg:aspect-[677/400] lg:overflow-hidden order-2 lg:order-first\">
  679.                 {% if product.gallery|default or product.galleryVariations|default %}
  680.                     <div class=\"swiper group/product-page-swiper w-full lg:w-[calc(100%-100px)] relative !z-5\">
  681.                         {% if product.discount|default %}
  682.                             {% embed 'components/picto.html.twig' with {picto_name: '- ' ~ product.discount ~ '%'} %}{% endembed %}
  683.                         {% endif %}
  684.                         {% if product.video|default %}
  685.                             <button data-modal-target=\"{{ product.video }}\"
  686.                                     class=\"absolute top-4 right-4 z-100 flex w-max flex-row items-center gap-2 rounded-none bg-neutral-200 py-1 px-3\">
  687.                                 {% include 'assets/youtube_icon.svg' %}
  688.                                 <span class=\"text-sm font-bold text-black\">Ver vĂ­deo</span>
  689.                             </button>
  690.                         {% endif %}
  691.                         <div class=\"swiper-wrapper\">
  692.                             <template x-for=\"item in current?.gallery || []\">
  693.                                 <div class=\"swiper-slide\">
  694.                                     <template x-if=\"item.src\">
  695.                                         <a :href=\"item.src\" :data-pswp-src=\"item.src\" :data-pswp-width=\"1024\"
  696.                                            :data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
  697.                                             <img class=\"w-full h-full aspect-[4/3] object-contain\"
  698.                                                  :src=\"item.src\"
  699.                                                  :srcset=\"item.srcset\"
  700.                                                  :sizes=\"item.sizes\"
  701.                                                  :alt=\"item.alt\" loading=\"lazy\">
  702.                                         </a>
  703.                                     </template>
  704.                                 </div>
  705.                             </template>
  706.                             {% for image in product.gallery %}
  707.                                 <div class=\"swiper-slide\">
  708.                                     {% if image.src|default %}
  709.                                         <a href=\"{{ image.src }}\" data-pswp-src=\"{{ image.src }}\" data-pswp-width=\"1024\"
  710.                                            data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
  711.                                             <img class=\"w-full h-full aspect-[4/3] object-contain\"
  712.                                                  src=\"{{ image.src }}\"
  713.                                                  srcset=\"{{ image.srcset }}\"
  714.                                                  sizes=\"{{ image.sizes }}\"
  715.                                                  alt=\"{{ image.alt }}\" loading=\"lazy\">
  716.                                         </a>
  717.                                     {% endif %}
  718.                                     {% if image.youtube_id|default %}
  719.                                         <iframe src=\"{{ image.youtube_src }}\" class=\"w-full h-full\"
  720.                                                 width=\"640\" height=\"360\" frameborder=\"0\"
  721.                                                 allow=\"autoplay; fullscreen; picture-in-picture\"
  722.                                                 allowfullscreen></iframe>
  723.                                     {% endif %}
  724.                                 </div>
  725.                             {% endfor %}
  726.                         </div>
  727.                         <div class=\"swiper-scrollbar lg:opacity-0 group-[.swiper-initialized:hover]/product-page-swiper:opacity-100 transition-opacity duration-300 ease-in-out\"></div>
  728.                         <div class=\"swiper-button-next aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
  729.                             {% include 'assets/swiper-next.svg' %}
  730.                         </div>
  731.                         <div class=\"swiper-button-prev aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
  732.                             {% include 'assets/swiper-prev.svg' %}
  733.                         </div>
  734.                     </div>
  735.                     <div class=\"swiper product-page-swiper-thumbs w-[100px] !hidden lg:!block relative\">
  736.                         <div class=\"swiper-wrapper\">
  737.                             <template x-for=\"item in current?.gallery || []\">
  738.                                 <div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
  739.                                     <template x-if=\"item.src\">
  740.                                         <img :src=\"item.thumbnail.src\"
  741.                                              :alt=\"item.alt\" loading=\"lazy\">
  742.                                     </template>
  743.                                 </div>
  744.                             </template>
  745.                             {% for image in product.gallery %}
  746.                                 <div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
  747.                                     <img src=\"{{ image.thumbnail.src }}\"
  748.                                          alt=\"Miniatura {{ image.thumbnail.alt|default ? image.thumbnail.alt : image.alt }}\"
  749.                                          loading=\"lazy\">
  750.                                 </div>
  751.                             {% endfor %}
  752.                         </div>
  753.                         <div class=\"swiper-button-next swiper-button-next-thumbs !top-auto !bottom-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
  754.                              aria-disabled=\"true\">
  755.                             {% include 'assets/swiper-next-thumbs.svg' %}
  756.                         </div>
  757.                         <div class=\"swiper-button-prev swiper-button-prev-thumbs !top-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
  758.                              aria-disabled=\"true\">
  759.                             {% include 'assets/swiper-prev-thumbs.svg' %}
  760.                         </div>
  761.                     </div>
  762.                 {% endif %}
  763.             </div>
  764.             <div class=\"row-span-1\">
  765.                 <h1 class=\"text-3xl lg:max-w-lg\">{{ product.name }}</h1>
  766.             </div>
  767.             <div class=\"lg:row-span-2 order-4\">
  768.                 <div class=\"lg:sticky lg:top-header flex flex-col gap-y-6 z-0 sm:max-xl max-w-lg\">
  769.                     {% block start_sticky_product %}{% endblock %}
  770.                     {% block price_box %}
  771.                         {% embed 'template-parts/price-box.html.twig' %}{% endembed %}
  772.                     {% endblock %}
  773.                     {% block info_destacada %}
  774.                         {% embed 'components/info-destacada.html.twig' with {
  775.                             envio: true,
  776.                             tiempo_envio: product.attributes['pa_tiempo-de-envio'][0].name ?? '',
  777.                             size: product.length|default or product.width|default or product.height|default
  778.                         } only %}{% endembed %}
  779.                     {% endblock %}
  780.                     {% if product.short_description|default %}
  781.                         <span class=\"order-last lg:order-none text-sm text-black prose max-w-none\">{{ product.short_description|raw }}</span>
  782.                     {% endif %}
  783.                     {% if product.is_in_stock|default %}
  784.                         {% if product.variation_attributes|default %}
  785.                             <div id=\"product-attributes\"
  786.                                  class=\"space-y-6 bg-stone-100 xs:rounded-none p-4 w-screen -ml-4 xs:w-full xs:ml-0\">
  787.                                 {% block product_attributes %}
  788.                                     {% for key, attribute in product.variation_attributes %}
  789.                                         {% embed 'components/attributes/attribute-button.html.twig' with {
  790.                                             atributos: 'product.variation_attributes[\"' ~ key ~ '\"]',
  791.                                             atributo: key,
  792.                                         } only %}
  793.                                         {% endembed %}
  794.                                     {% endfor %}
  795.                                 {% endblock %}
  796.                             </div>
  797.                         {% endif %}
  798.                         {% block add_to_cart %}
  799.                             {% embed 'components/add-to-cart.html.twig' with {
  800.                                 quantity: true
  801.                             } %}{% endembed %}
  802.                         {% endblock %}
  803.                         {% block after_add_to_cart %}{% endblock %}
  804.                     {% else %}
  805.                         <div class=\"flex flex-row items-center gap-3 mt-6\">
  806.                             <button id=\"addToCart\"
  807.                                     class=\"no-stock w-full flex flex-row justify-center items-center gap-3 rounded-none bg-black p-3 text-white text-center\">
  808.                                 <span>Producto agotado</span>
  809.                             </button>
  810.                         </div>
  811.                     {% endif %}
  812.                     <a href=\"{{ path('whatsapp_link', {'link': app.request.pathInfo}) }}\" target=\"_blank\"
  813.                        rel=\"nofollow\" class=\"[&_svg]:max-w-40
  814.                         [&_svg]:max-h-40 [&_svg]:w-full [&_svg]:h-auto [&_svg]:object-contain\">
  815.                         {% include 'assets/whatsapp-herramientasparaalicatador.svg' %}
  816.                     </a>
  817.                 </div>
  818.                 {% block price_nav_fixed %}
  819.                     {% embed 'template-parts/price-nav-fixed.html.twig' %}{% endembed %}
  820.                 {% endblock %}
  821.             </div>
  822.             <div class=\"order-last lg:order-3 mt-0 lg:mt-[400px] mb-8\">
  823.                 {% block before_accordion %}{% endblock %}
  824.                 {% if product.accordion|default %}
  825.                     {% embed 'components/accordion.html.twig' with {
  826.                         id: 'accordion_product',
  827.                         accordion: 'collapse',
  828.                         items: product.accordion
  829.                     } %}
  830.                     {% endembed %}
  831.                 {% endif %}
  832.             </div>
  833.             {% if product.video|default %}
  834.                 {% embed 'components/modal.html.twig' with {id: product.video, modal_button_class: 'hidden', youtube_id: product.video, modal_zIndex: 'z-[1000001]'} %}{% endembed %}
  835.             {% endif %}
  836.             {% block modales_producto %}{% endblock %}
  837.         </div>
  838.         {% block informacion_adicional_producto %}{% endblock %}
  839.     </main>
  840.     {% block after_main %}{% endblock %}
  841.     {% if product.upsell_ids|default %}
  842.         <section class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 flex flex-col gap-8\">
  843.             {{ render_block('listadoproductos', {
  844.                 titulo: product.tituloProductosRelacionados ?? 'Productos relacionados' ,
  845.                 alineacion: 'start',
  846.                 categorias_productos: false,
  847.                 etiquetas_productos: false,
  848.                 numero_productos: '-1',
  849.                 boton: '',
  850.                 slider_grid: 'slider',
  851.                 productos: product.upsell_ids,
  852.                 id: 'relacionados',
  853.             }) }}
  854.         </section>
  855.     {% endif %}
  856. {% endblock %}
  857. {% block footer %}
  858.     {% include 'footer.html.twig' %}
  859.     <div class=\"pb-44 lg:pb-16\"></div>
  860.     <style>
  861.         #whatsapp {
  862.             margin-bottom: 5rem;
  863.         }
  864.     </style>
  865.     {{ wp_footer() }}
  866. {% endblock footer %}
  867. {% block json_schema %}
  868.     {{ json_schema|raw }}
  869. {% endblock %}""product.html.twig""/srv/app/templates/product.html.twig");
  870.     }
  871. }
  872. /* product.html.twig */
  873. class __TwigTemplate_92806ffe18a545913b4088f56e0ad847___1885872536 extends Template
  874. {
  875.     private $source;
  876.     private $macros = [];
  877.     public function __construct(Environment $env)
  878.     {
  879.         parent::__construct($env);
  880.         $this->source $this->getSourceContext();
  881.         $this->blocks = [
  882.         ];
  883.     }
  884.     protected function doGetParent(array $context)
  885.     {
  886.         // line 23
  887.         return "components/picto.html.twig";
  888.     }
  889.     protected function doDisplay(array $context, array $blocks = [])
  890.     {
  891.         $macros $this->macros;
  892.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  893.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""product.html.twig"));
  894.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  895.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""product.html.twig"));
  896.         $this->parent $this->loadTemplate("components/picto.html.twig""product.html.twig"23);
  897.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  898.         
  899.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  900.         
  901.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  902.     }
  903.     /**
  904.      * @codeCoverageIgnore
  905.      */
  906.     public function getTemplateName()
  907.     {
  908.         return "product.html.twig";
  909.     }
  910.     /**
  911.      * @codeCoverageIgnore
  912.      */
  913.     public function isTraitable()
  914.     {
  915.         return false;
  916.     }
  917.     /**
  918.      * @codeCoverageIgnore
  919.      */
  920.     public function getDebugInfo()
  921.     {
  922.         return array (  991 => 23,  713 => 216,  703 => 215,  691 => 212,  683 => 206,  680 => 205,  670 => 204,  652 => 185,  634 => 182,  616 => 180,  598 => 166,  588 => 162,  585 => 161,  575 => 160,  557 => 144,  547 => 143,  544 => 140,  534 => 139,  524 => 136,  518 => 135,  516 => 132,  515 => 131,  513 => 130,  508 => 129,  498 => 128,  488 => 120,  486 => 118,  485 => 117,  483 => 115,  473 => 114,  463 => 113,  460 => 112,  450 => 111,  432 => 110,  419 => 199,  417 => 197,  416 => 190,  415 => 189,  412 => 188,  410 => 187,  407 => 186,  405 => 185,  401 => 183,  399 => 182,  396 => 181,  393 => 180,  390 => 179,  387 => 178,  385 => 177,  381 => 175,  378 => 174,  376 => 171,  374 => 168,  371 => 167,  369 => 166,  364 => 163,  362 => 160,  357 => 157,  355 => 156,  348 => 153,  339 => 146,  336 => 145,  333 => 144,  330 => 139,  326 => 137,  324 => 128,  320 => 126,  317 => 125,  314 => 124,  308 => 122,  305 => 121,  302 => 114,  299 => 111,  297 => 110,  290 => 106,  286 => 104,  281 => 101,  279 => 100,  274 => 97,  272 => 96,  267 => 93,  257 => 89,  253 => 88,  250 => 87,  246 => 86,  232 => 74,  230 => 73,  226 => 71,  224 => 70,  219 => 67,  212 => 65,  203 => 60,  200 => 59,  194 => 56,  190 => 55,  186 => 54,  182 => 53,  173 => 50,  171 => 49,  168 => 48,  164 => 47,  147 => 32,  142 => 29,  140 => 28,  134 => 26,  131 => 25,  128 => 24,  125 => 23,  123 => 22,  120 => 21,  118 => 20,  113 => 17,  107 => 15,  99 => 13,  97 => 12,  92 => 10,  89 => 9,  87 => 8,  84 => 7,  74 => 6,  63 => 1,  61 => 4,  48 => 1,);
  923.     }
  924.     public function getSourceContext()
  925.     {
  926.         return new Source("{% extends 'base.html.twig' %}
  927. {# Some helpers to make this file more readable #}
  928. {% set d = product.default_variation|default %}
  929. {% block main %}
  930.     <div class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 pt-header\">
  931.         {% include 'template-parts/breadcrumb.html.twig' %}
  932.     </div>
  933.     <main id=\"product-{{ product.id }}\"
  934.           x-init=\"\$nextTick(() => { initialize() })\"
  935.             {% if d %}
  936.                 x-data=\"window.alpineProductData({{ product | json_encode }}, {{ product['default_variation'] | json_encode }})\"
  937.             {% else %}
  938.                 x-data=\"window.alpineProductData({{ product | json_encode }})\"
  939.             {% endif %}
  940.           class=\"max-w-screen-2xl mx-auto px-5 lg:px-20\">
  941.         <div class=\"grid grid-cols-1 lg:grid-cols-2 lg:grid-rows-[0.02fr_1fr] gap-y-6 lg:gap-x-12 lg:gap-y-4 pb-0 lg:pb-12\">
  942.             <div class=\"swiper-container-wrapper product-gallery -ml-4 lg:ml-0 w-screen lg:w-full flex flex-col sm:flex-row-reverse flex-nowrap gap-4 lg:aspect-[677/400] lg:overflow-hidden order-2 lg:order-first\">
  943.                 {% if product.gallery|default or product.galleryVariations|default %}
  944.                     <div class=\"swiper group/product-page-swiper w-full lg:w-[calc(100%-100px)] relative !z-5\">
  945.                         {% if product.discount|default %}
  946.                             {% embed 'components/picto.html.twig' with {picto_name: '- ' ~ product.discount ~ '%'} %}{% endembed %}
  947.                         {% endif %}
  948.                         {% if product.video|default %}
  949.                             <button data-modal-target=\"{{ product.video }}\"
  950.                                     class=\"absolute top-4 right-4 z-100 flex w-max flex-row items-center gap-2 rounded-none bg-neutral-200 py-1 px-3\">
  951.                                 {% include 'assets/youtube_icon.svg' %}
  952.                                 <span class=\"text-sm font-bold text-black\">Ver vĂ­deo</span>
  953.                             </button>
  954.                         {% endif %}
  955.                         <div class=\"swiper-wrapper\">
  956.                             <template x-for=\"item in current?.gallery || []\">
  957.                                 <div class=\"swiper-slide\">
  958.                                     <template x-if=\"item.src\">
  959.                                         <a :href=\"item.src\" :data-pswp-src=\"item.src\" :data-pswp-width=\"1024\"
  960.                                            :data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
  961.                                             <img class=\"w-full h-full aspect-[4/3] object-contain\"
  962.                                                  :src=\"item.src\"
  963.                                                  :srcset=\"item.srcset\"
  964.                                                  :sizes=\"item.sizes\"
  965.                                                  :alt=\"item.alt\" loading=\"lazy\">
  966.                                         </a>
  967.                                     </template>
  968.                                 </div>
  969.                             </template>
  970.                             {% for image in product.gallery %}
  971.                                 <div class=\"swiper-slide\">
  972.                                     {% if image.src|default %}
  973.                                         <a href=\"{{ image.src }}\" data-pswp-src=\"{{ image.src }}\" data-pswp-width=\"1024\"
  974.                                            data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
  975.                                             <img class=\"w-full h-full aspect-[4/3] object-contain\"
  976.                                                  src=\"{{ image.src }}\"
  977.                                                  srcset=\"{{ image.srcset }}\"
  978.                                                  sizes=\"{{ image.sizes }}\"
  979.                                                  alt=\"{{ image.alt }}\" loading=\"lazy\">
  980.                                         </a>
  981.                                     {% endif %}
  982.                                     {% if image.youtube_id|default %}
  983.                                         <iframe src=\"{{ image.youtube_src }}\" class=\"w-full h-full\"
  984.                                                 width=\"640\" height=\"360\" frameborder=\"0\"
  985.                                                 allow=\"autoplay; fullscreen; picture-in-picture\"
  986.                                                 allowfullscreen></iframe>
  987.                                     {% endif %}
  988.                                 </div>
  989.                             {% endfor %}
  990.                         </div>
  991.                         <div class=\"swiper-scrollbar lg:opacity-0 group-[.swiper-initialized:hover]/product-page-swiper:opacity-100 transition-opacity duration-300 ease-in-out\"></div>
  992.                         <div class=\"swiper-button-next aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
  993.                             {% include 'assets/swiper-next.svg' %}
  994.                         </div>
  995.                         <div class=\"swiper-button-prev aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
  996.                             {% include 'assets/swiper-prev.svg' %}
  997.                         </div>
  998.                     </div>
  999.                     <div class=\"swiper product-page-swiper-thumbs w-[100px] !hidden lg:!block relative\">
  1000.                         <div class=\"swiper-wrapper\">
  1001.                             <template x-for=\"item in current?.gallery || []\">
  1002.                                 <div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
  1003.                                     <template x-if=\"item.src\">
  1004.                                         <img :src=\"item.thumbnail.src\"
  1005.                                              :alt=\"item.alt\" loading=\"lazy\">
  1006.                                     </template>
  1007.                                 </div>
  1008.                             </template>
  1009.                             {% for image in product.gallery %}
  1010.                                 <div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
  1011.                                     <img src=\"{{ image.thumbnail.src }}\"
  1012.                                          alt=\"Miniatura {{ image.thumbnail.alt|default ? image.thumbnail.alt : image.alt }}\"
  1013.                                          loading=\"lazy\">
  1014.                                 </div>
  1015.                             {% endfor %}
  1016.                         </div>
  1017.                         <div class=\"swiper-button-next swiper-button-next-thumbs !top-auto !bottom-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
  1018.                              aria-disabled=\"true\">
  1019.                             {% include 'assets/swiper-next-thumbs.svg' %}
  1020.                         </div>
  1021.                         <div class=\"swiper-button-prev swiper-button-prev-thumbs !top-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
  1022.                              aria-disabled=\"true\">
  1023.                             {% include 'assets/swiper-prev-thumbs.svg' %}
  1024.                         </div>
  1025.                     </div>
  1026.                 {% endif %}
  1027.             </div>
  1028.             <div class=\"row-span-1\">
  1029.                 <h1 class=\"text-3xl lg:max-w-lg\">{{ product.name }}</h1>
  1030.             </div>
  1031.             <div class=\"lg:row-span-2 order-4\">
  1032.                 <div class=\"lg:sticky lg:top-header flex flex-col gap-y-6 z-0 sm:max-xl max-w-lg\">
  1033.                     {% block start_sticky_product %}{% endblock %}
  1034.                     {% block price_box %}
  1035.                         {% embed 'template-parts/price-box.html.twig' %}{% endembed %}
  1036.                     {% endblock %}
  1037.                     {% block info_destacada %}
  1038.                         {% embed 'components/info-destacada.html.twig' with {
  1039.                             envio: true,
  1040.                             tiempo_envio: product.attributes['pa_tiempo-de-envio'][0].name ?? '',
  1041.                             size: product.length|default or product.width|default or product.height|default
  1042.                         } only %}{% endembed %}
  1043.                     {% endblock %}
  1044.                     {% if product.short_description|default %}
  1045.                         <span class=\"order-last lg:order-none text-sm text-black prose max-w-none\">{{ product.short_description|raw }}</span>
  1046.                     {% endif %}
  1047.                     {% if product.is_in_stock|default %}
  1048.                         {% if product.variation_attributes|default %}
  1049.                             <div id=\"product-attributes\"
  1050.                                  class=\"space-y-6 bg-stone-100 xs:rounded-none p-4 w-screen -ml-4 xs:w-full xs:ml-0\">
  1051.                                 {% block product_attributes %}
  1052.                                     {% for key, attribute in product.variation_attributes %}
  1053.                                         {% embed 'components/attributes/attribute-button.html.twig' with {
  1054.                                             atributos: 'product.variation_attributes[\"' ~ key ~ '\"]',
  1055.                                             atributo: key,
  1056.                                         } only %}
  1057.                                         {% endembed %}
  1058.                                     {% endfor %}
  1059.                                 {% endblock %}
  1060.                             </div>
  1061.                         {% endif %}
  1062.                         {% block add_to_cart %}
  1063.                             {% embed 'components/add-to-cart.html.twig' with {
  1064.                                 quantity: true
  1065.                             } %}{% endembed %}
  1066.                         {% endblock %}
  1067.                         {% block after_add_to_cart %}{% endblock %}
  1068.                     {% else %}
  1069.                         <div class=\"flex flex-row items-center gap-3 mt-6\">
  1070.                             <button id=\"addToCart\"
  1071.                                     class=\"no-stock w-full flex flex-row justify-center items-center gap-3 rounded-none bg-black p-3 text-white text-center\">
  1072.                                 <span>Producto agotado</span>
  1073.                             </button>
  1074.                         </div>
  1075.                     {% endif %}
  1076.                     <a href=\"{{ path('whatsapp_link', {'link': app.request.pathInfo}) }}\" target=\"_blank\"
  1077.                        rel=\"nofollow\" class=\"[&_svg]:max-w-40
  1078.                         [&_svg]:max-h-40 [&_svg]:w-full [&_svg]:h-auto [&_svg]:object-contain\">
  1079.                         {% include 'assets/whatsapp-herramientasparaalicatador.svg' %}
  1080.                     </a>
  1081.                 </div>
  1082.                 {% block price_nav_fixed %}
  1083.                     {% embed 'template-parts/price-nav-fixed.html.twig' %}{% endembed %}
  1084.                 {% endblock %}
  1085.             </div>
  1086.             <div class=\"order-last lg:order-3 mt-0 lg:mt-[400px] mb-8\">
  1087.                 {% block before_accordion %}{% endblock %}
  1088.                 {% if product.accordion|default %}
  1089.                     {% embed 'components/accordion.html.twig' with {
  1090.                         id: 'accordion_product',
  1091.                         accordion: 'collapse',
  1092.                         items: product.accordion
  1093.                     } %}
  1094.                     {% endembed %}
  1095.                 {% endif %}
  1096.             </div>
  1097.             {% if product.video|default %}
  1098.                 {% embed 'components/modal.html.twig' with {id: product.video, modal_button_class: 'hidden', youtube_id: product.video, modal_zIndex: 'z-[1000001]'} %}{% endembed %}
  1099.             {% endif %}
  1100.             {% block modales_producto %}{% endblock %}
  1101.         </div>
  1102.         {% block informacion_adicional_producto %}{% endblock %}
  1103.     </main>
  1104.     {% block after_main %}{% endblock %}
  1105.     {% if product.upsell_ids|default %}
  1106.         <section class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 flex flex-col gap-8\">
  1107.             {{ render_block('listadoproductos', {
  1108.                 titulo: product.tituloProductosRelacionados ?? 'Productos relacionados' ,
  1109.                 alineacion: 'start',
  1110.                 categorias_productos: false,
  1111.                 etiquetas_productos: false,
  1112.                 numero_productos: '-1',
  1113.                 boton: '',
  1114.                 slider_grid: 'slider',
  1115.                 productos: product.upsell_ids,
  1116.                 id: 'relacionados',
  1117.             }) }}
  1118.         </section>
  1119.     {% endif %}
  1120. {% endblock %}
  1121. {% block footer %}
  1122.     {% include 'footer.html.twig' %}
  1123.     <div class=\"pb-44 lg:pb-16\"></div>
  1124.     <style>
  1125.         #whatsapp {
  1126.             margin-bottom: 5rem;
  1127.         }
  1128.     </style>
  1129.     {{ wp_footer() }}
  1130. {% endblock footer %}
  1131. {% block json_schema %}
  1132.     {{ json_schema|raw }}
  1133. {% endblock %}""product.html.twig""/srv/app/templates/product.html.twig");
  1134.     }
  1135. }
  1136. /* product.html.twig */
  1137. class __TwigTemplate_92806ffe18a545913b4088f56e0ad847___1985890457 extends Template
  1138. {
  1139.     private $source;
  1140.     private $macros = [];
  1141.     public function __construct(Environment $env)
  1142.     {
  1143.         parent::__construct($env);
  1144.         $this->source $this->getSourceContext();
  1145.         $this->blocks = [
  1146.         ];
  1147.     }
  1148.     protected function doGetParent(array $context)
  1149.     {
  1150.         // line 112
  1151.         return "template-parts/price-box.html.twig";
  1152.     }
  1153.     protected function doDisplay(array $context, array $blocks = [])
  1154.     {
  1155.         $macros $this->macros;
  1156.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  1157.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""product.html.twig"));
  1158.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  1159.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""product.html.twig"));
  1160.         $this->parent $this->loadTemplate("template-parts/price-box.html.twig""product.html.twig"112);
  1161.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  1162.         
  1163.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1164.         
  1165.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1166.     }
  1167.     /**
  1168.      * @codeCoverageIgnore
  1169.      */
  1170.     public function getTemplateName()
  1171.     {
  1172.         return "product.html.twig";
  1173.     }
  1174.     /**
  1175.      * @codeCoverageIgnore
  1176.      */
  1177.     public function isTraitable()
  1178.     {
  1179.         return false;
  1180.     }
  1181.     /**
  1182.      * @codeCoverageIgnore
  1183.      */
  1184.     public function getDebugInfo()
  1185.     {
  1186.         return array (  1279 => 112,  991 => 23,  713 => 216,  703 => 215,  691 => 212,  683 => 206,  680 => 205,  670 => 204,  652 => 185,  634 => 182,  616 => 180,  598 => 166,  588 => 162,  585 => 161,  575 => 160,  557 => 144,  547 => 143,  544 => 140,  534 => 139,  524 => 136,  518 => 135,  516 => 132,  515 => 131,  513 => 130,  508 => 129,  498 => 128,  488 => 120,  486 => 118,  485 => 117,  483 => 115,  473 => 114,  463 => 113,  460 => 112,  450 => 111,  432 => 110,  419 => 199,  417 => 197,  416 => 190,  415 => 189,  412 => 188,  410 => 187,  407 => 186,  405 => 185,  401 => 183,  399 => 182,  396 => 181,  393 => 180,  390 => 179,  387 => 178,  385 => 177,  381 => 175,  378 => 174,  376 => 171,  374 => 168,  371 => 167,  369 => 166,  364 => 163,  362 => 160,  357 => 157,  355 => 156,  348 => 153,  339 => 146,  336 => 145,  333 => 144,  330 => 139,  326 => 137,  324 => 128,  320 => 126,  317 => 125,  314 => 124,  308 => 122,  305 => 121,  302 => 114,  299 => 111,  297 => 110,  290 => 106,  286 => 104,  281 => 101,  279 => 100,  274 => 97,  272 => 96,  267 => 93,  257 => 89,  253 => 88,  250 => 87,  246 => 86,  232 => 74,  230 => 73,  226 => 71,  224 => 70,  219 => 67,  212 => 65,  203 => 60,  200 => 59,  194 => 56,  190 => 55,  186 => 54,  182 => 53,  173 => 50,  171 => 49,  168 => 48,  164 => 47,  147 => 32,  142 => 29,  140 => 28,  134 => 26,  131 => 25,  128 => 24,  125 => 23,  123 => 22,  120 => 21,  118 => 20,  113 => 17,  107 => 15,  99 => 13,  97 => 12,  92 => 10,  89 => 9,  87 => 8,  84 => 7,  74 => 6,  63 => 1,  61 => 4,  48 => 1,);
  1187.     }
  1188.     public function getSourceContext()
  1189.     {
  1190.         return new Source("{% extends 'base.html.twig' %}
  1191. {# Some helpers to make this file more readable #}
  1192. {% set d = product.default_variation|default %}
  1193. {% block main %}
  1194.     <div class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 pt-header\">
  1195.         {% include 'template-parts/breadcrumb.html.twig' %}
  1196.     </div>
  1197.     <main id=\"product-{{ product.id }}\"
  1198.           x-init=\"\$nextTick(() => { initialize() })\"
  1199.             {% if d %}
  1200.                 x-data=\"window.alpineProductData({{ product | json_encode }}, {{ product['default_variation'] | json_encode }})\"
  1201.             {% else %}
  1202.                 x-data=\"window.alpineProductData({{ product | json_encode }})\"
  1203.             {% endif %}
  1204.           class=\"max-w-screen-2xl mx-auto px-5 lg:px-20\">
  1205.         <div class=\"grid grid-cols-1 lg:grid-cols-2 lg:grid-rows-[0.02fr_1fr] gap-y-6 lg:gap-x-12 lg:gap-y-4 pb-0 lg:pb-12\">
  1206.             <div class=\"swiper-container-wrapper product-gallery -ml-4 lg:ml-0 w-screen lg:w-full flex flex-col sm:flex-row-reverse flex-nowrap gap-4 lg:aspect-[677/400] lg:overflow-hidden order-2 lg:order-first\">
  1207.                 {% if product.gallery|default or product.galleryVariations|default %}
  1208.                     <div class=\"swiper group/product-page-swiper w-full lg:w-[calc(100%-100px)] relative !z-5\">
  1209.                         {% if product.discount|default %}
  1210.                             {% embed 'components/picto.html.twig' with {picto_name: '- ' ~ product.discount ~ '%'} %}{% endembed %}
  1211.                         {% endif %}
  1212.                         {% if product.video|default %}
  1213.                             <button data-modal-target=\"{{ product.video }}\"
  1214.                                     class=\"absolute top-4 right-4 z-100 flex w-max flex-row items-center gap-2 rounded-none bg-neutral-200 py-1 px-3\">
  1215.                                 {% include 'assets/youtube_icon.svg' %}
  1216.                                 <span class=\"text-sm font-bold text-black\">Ver vĂ­deo</span>
  1217.                             </button>
  1218.                         {% endif %}
  1219.                         <div class=\"swiper-wrapper\">
  1220.                             <template x-for=\"item in current?.gallery || []\">
  1221.                                 <div class=\"swiper-slide\">
  1222.                                     <template x-if=\"item.src\">
  1223.                                         <a :href=\"item.src\" :data-pswp-src=\"item.src\" :data-pswp-width=\"1024\"
  1224.                                            :data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
  1225.                                             <img class=\"w-full h-full aspect-[4/3] object-contain\"
  1226.                                                  :src=\"item.src\"
  1227.                                                  :srcset=\"item.srcset\"
  1228.                                                  :sizes=\"item.sizes\"
  1229.                                                  :alt=\"item.alt\" loading=\"lazy\">
  1230.                                         </a>
  1231.                                     </template>
  1232.                                 </div>
  1233.                             </template>
  1234.                             {% for image in product.gallery %}
  1235.                                 <div class=\"swiper-slide\">
  1236.                                     {% if image.src|default %}
  1237.                                         <a href=\"{{ image.src }}\" data-pswp-src=\"{{ image.src }}\" data-pswp-width=\"1024\"
  1238.                                            data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
  1239.                                             <img class=\"w-full h-full aspect-[4/3] object-contain\"
  1240.                                                  src=\"{{ image.src }}\"
  1241.                                                  srcset=\"{{ image.srcset }}\"
  1242.                                                  sizes=\"{{ image.sizes }}\"
  1243.                                                  alt=\"{{ image.alt }}\" loading=\"lazy\">
  1244.                                         </a>
  1245.                                     {% endif %}
  1246.                                     {% if image.youtube_id|default %}
  1247.                                         <iframe src=\"{{ image.youtube_src }}\" class=\"w-full h-full\"
  1248.                                                 width=\"640\" height=\"360\" frameborder=\"0\"
  1249.                                                 allow=\"autoplay; fullscreen; picture-in-picture\"
  1250.                                                 allowfullscreen></iframe>
  1251.                                     {% endif %}
  1252.                                 </div>
  1253.                             {% endfor %}
  1254.                         </div>
  1255.                         <div class=\"swiper-scrollbar lg:opacity-0 group-[.swiper-initialized:hover]/product-page-swiper:opacity-100 transition-opacity duration-300 ease-in-out\"></div>
  1256.                         <div class=\"swiper-button-next aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
  1257.                             {% include 'assets/swiper-next.svg' %}
  1258.                         </div>
  1259.                         <div class=\"swiper-button-prev aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
  1260.                             {% include 'assets/swiper-prev.svg' %}
  1261.                         </div>
  1262.                     </div>
  1263.                     <div class=\"swiper product-page-swiper-thumbs w-[100px] !hidden lg:!block relative\">
  1264.                         <div class=\"swiper-wrapper\">
  1265.                             <template x-for=\"item in current?.gallery || []\">
  1266.                                 <div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
  1267.                                     <template x-if=\"item.src\">
  1268.                                         <img :src=\"item.thumbnail.src\"
  1269.                                              :alt=\"item.alt\" loading=\"lazy\">
  1270.                                     </template>
  1271.                                 </div>
  1272.                             </template>
  1273.                             {% for image in product.gallery %}
  1274.                                 <div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
  1275.                                     <img src=\"{{ image.thumbnail.src }}\"
  1276.                                          alt=\"Miniatura {{ image.thumbnail.alt|default ? image.thumbnail.alt : image.alt }}\"
  1277.                                          loading=\"lazy\">
  1278.                                 </div>
  1279.                             {% endfor %}
  1280.                         </div>
  1281.                         <div class=\"swiper-button-next swiper-button-next-thumbs !top-auto !bottom-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
  1282.                              aria-disabled=\"true\">
  1283.                             {% include 'assets/swiper-next-thumbs.svg' %}
  1284.                         </div>
  1285.                         <div class=\"swiper-button-prev swiper-button-prev-thumbs !top-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
  1286.                              aria-disabled=\"true\">
  1287.                             {% include 'assets/swiper-prev-thumbs.svg' %}
  1288.                         </div>
  1289.                     </div>
  1290.                 {% endif %}
  1291.             </div>
  1292.             <div class=\"row-span-1\">
  1293.                 <h1 class=\"text-3xl lg:max-w-lg\">{{ product.name }}</h1>
  1294.             </div>
  1295.             <div class=\"lg:row-span-2 order-4\">
  1296.                 <div class=\"lg:sticky lg:top-header flex flex-col gap-y-6 z-0 sm:max-xl max-w-lg\">
  1297.                     {% block start_sticky_product %}{% endblock %}
  1298.                     {% block price_box %}
  1299.                         {% embed 'template-parts/price-box.html.twig' %}{% endembed %}
  1300.                     {% endblock %}
  1301.                     {% block info_destacada %}
  1302.                         {% embed 'components/info-destacada.html.twig' with {
  1303.                             envio: true,
  1304.                             tiempo_envio: product.attributes['pa_tiempo-de-envio'][0].name ?? '',
  1305.                             size: product.length|default or product.width|default or product.height|default
  1306.                         } only %}{% endembed %}
  1307.                     {% endblock %}
  1308.                     {% if product.short_description|default %}
  1309.                         <span class=\"order-last lg:order-none text-sm text-black prose max-w-none\">{{ product.short_description|raw }}</span>
  1310.                     {% endif %}
  1311.                     {% if product.is_in_stock|default %}
  1312.                         {% if product.variation_attributes|default %}
  1313.                             <div id=\"product-attributes\"
  1314.                                  class=\"space-y-6 bg-stone-100 xs:rounded-none p-4 w-screen -ml-4 xs:w-full xs:ml-0\">
  1315.                                 {% block product_attributes %}
  1316.                                     {% for key, attribute in product.variation_attributes %}
  1317.                                         {% embed 'components/attributes/attribute-button.html.twig' with {
  1318.                                             atributos: 'product.variation_attributes[\"' ~ key ~ '\"]',
  1319.                                             atributo: key,
  1320.                                         } only %}
  1321.                                         {% endembed %}
  1322.                                     {% endfor %}
  1323.                                 {% endblock %}
  1324.                             </div>
  1325.                         {% endif %}
  1326.                         {% block add_to_cart %}
  1327.                             {% embed 'components/add-to-cart.html.twig' with {
  1328.                                 quantity: true
  1329.                             } %}{% endembed %}
  1330.                         {% endblock %}
  1331.                         {% block after_add_to_cart %}{% endblock %}
  1332.                     {% else %}
  1333.                         <div class=\"flex flex-row items-center gap-3 mt-6\">
  1334.                             <button id=\"addToCart\"
  1335.                                     class=\"no-stock w-full flex flex-row justify-center items-center gap-3 rounded-none bg-black p-3 text-white text-center\">
  1336.                                 <span>Producto agotado</span>
  1337.                             </button>
  1338.                         </div>
  1339.                     {% endif %}
  1340.                     <a href=\"{{ path('whatsapp_link', {'link': app.request.pathInfo}) }}\" target=\"_blank\"
  1341.                        rel=\"nofollow\" class=\"[&_svg]:max-w-40
  1342.                         [&_svg]:max-h-40 [&_svg]:w-full [&_svg]:h-auto [&_svg]:object-contain\">
  1343.                         {% include 'assets/whatsapp-herramientasparaalicatador.svg' %}
  1344.                     </a>
  1345.                 </div>
  1346.                 {% block price_nav_fixed %}
  1347.                     {% embed 'template-parts/price-nav-fixed.html.twig' %}{% endembed %}
  1348.                 {% endblock %}
  1349.             </div>
  1350.             <div class=\"order-last lg:order-3 mt-0 lg:mt-[400px] mb-8\">
  1351.                 {% block before_accordion %}{% endblock %}
  1352.                 {% if product.accordion|default %}
  1353.                     {% embed 'components/accordion.html.twig' with {
  1354.                         id: 'accordion_product',
  1355.                         accordion: 'collapse',
  1356.                         items: product.accordion
  1357.                     } %}
  1358.                     {% endembed %}
  1359.                 {% endif %}
  1360.             </div>
  1361.             {% if product.video|default %}
  1362.                 {% embed 'components/modal.html.twig' with {id: product.video, modal_button_class: 'hidden', youtube_id: product.video, modal_zIndex: 'z-[1000001]'} %}{% endembed %}
  1363.             {% endif %}
  1364.             {% block modales_producto %}{% endblock %}
  1365.         </div>
  1366.         {% block informacion_adicional_producto %}{% endblock %}
  1367.     </main>
  1368.     {% block after_main %}{% endblock %}
  1369.     {% if product.upsell_ids|default %}
  1370.         <section class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 flex flex-col gap-8\">
  1371.             {{ render_block('listadoproductos', {
  1372.                 titulo: product.tituloProductosRelacionados ?? 'Productos relacionados' ,
  1373.                 alineacion: 'start',
  1374.                 categorias_productos: false,
  1375.                 etiquetas_productos: false,
  1376.                 numero_productos: '-1',
  1377.                 boton: '',
  1378.                 slider_grid: 'slider',
  1379.                 productos: product.upsell_ids,
  1380.                 id: 'relacionados',
  1381.             }) }}
  1382.         </section>
  1383.     {% endif %}
  1384. {% endblock %}
  1385. {% block footer %}
  1386.     {% include 'footer.html.twig' %}
  1387.     <div class=\"pb-44 lg:pb-16\"></div>
  1388.     <style>
  1389.         #whatsapp {
  1390.             margin-bottom: 5rem;
  1391.         }
  1392.     </style>
  1393.     {{ wp_footer() }}
  1394. {% endblock footer %}
  1395. {% block json_schema %}
  1396.     {{ json_schema|raw }}
  1397. {% endblock %}""product.html.twig""/srv/app/templates/product.html.twig");
  1398.     }
  1399. }
  1400. /* product.html.twig */
  1401. class __TwigTemplate_92806ffe18a545913b4088f56e0ad847___253043151 extends Template
  1402. {
  1403.     private $source;
  1404.     private $macros = [];
  1405.     public function __construct(Environment $env)
  1406.     {
  1407.         parent::__construct($env);
  1408.         $this->source $this->getSourceContext();
  1409.         $this->blocks = [
  1410.         ];
  1411.     }
  1412.     protected function doGetParent(array $context)
  1413.     {
  1414.         // line 115
  1415.         return "components/info-destacada.html.twig";
  1416.     }
  1417.     protected function doDisplay(array $context, array $blocks = [])
  1418.     {
  1419.         $macros $this->macros;
  1420.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  1421.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""product.html.twig"));
  1422.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  1423.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""product.html.twig"));
  1424.         $this->parent $this->loadTemplate("components/info-destacada.html.twig""product.html.twig"115);
  1425.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  1426.         
  1427.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1428.         
  1429.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1430.     }
  1431.     /**
  1432.      * @codeCoverageIgnore
  1433.      */
  1434.     public function getTemplateName()
  1435.     {
  1436.         return "product.html.twig";
  1437.     }
  1438.     /**
  1439.      * @codeCoverageIgnore
  1440.      */
  1441.     public function isTraitable()
  1442.     {
  1443.         return false;
  1444.     }
  1445.     /**
  1446.      * @codeCoverageIgnore
  1447.      */
  1448.     public function getDebugInfo()
  1449.     {
  1450.         return array (  1567 => 115,  1279 => 112,  991 => 23,  713 => 216,  703 => 215,  691 => 212,  683 => 206,  680 => 205,  670 => 204,  652 => 185,  634 => 182,  616 => 180,  598 => 166,  588 => 162,  585 => 161,  575 => 160,  557 => 144,  547 => 143,  544 => 140,  534 => 139,  524 => 136,  518 => 135,  516 => 132,  515 => 131,  513 => 130,  508 => 129,  498 => 128,  488 => 120,  486 => 118,  485 => 117,  483 => 115,  473 => 114,  463 => 113,  460 => 112,  450 => 111,  432 => 110,  419 => 199,  417 => 197,  416 => 190,  415 => 189,  412 => 188,  410 => 187,  407 => 186,  405 => 185,  401 => 183,  399 => 182,  396 => 181,  393 => 180,  390 => 179,  387 => 178,  385 => 177,  381 => 175,  378 => 174,  376 => 171,  374 => 168,  371 => 167,  369 => 166,  364 => 163,  362 => 160,  357 => 157,  355 => 156,  348 => 153,  339 => 146,  336 => 145,  333 => 144,  330 => 139,  326 => 137,  324 => 128,  320 => 126,  317 => 125,  314 => 124,  308 => 122,  305 => 121,  302 => 114,  299 => 111,  297 => 110,  290 => 106,  286 => 104,  281 => 101,  279 => 100,  274 => 97,  272 => 96,  267 => 93,  257 => 89,  253 => 88,  250 => 87,  246 => 86,  232 => 74,  230 => 73,  226 => 71,  224 => 70,  219 => 67,  212 => 65,  203 => 60,  200 => 59,  194 => 56,  190 => 55,  186 => 54,  182 => 53,  173 => 50,  171 => 49,  168 => 48,  164 => 47,  147 => 32,  142 => 29,  140 => 28,  134 => 26,  131 => 25,  128 => 24,  125 => 23,  123 => 22,  120 => 21,  118 => 20,  113 => 17,  107 => 15,  99 => 13,  97 => 12,  92 => 10,  89 => 9,  87 => 8,  84 => 7,  74 => 6,  63 => 1,  61 => 4,  48 => 1,);
  1451.     }
  1452.     public function getSourceContext()
  1453.     {
  1454.         return new Source("{% extends 'base.html.twig' %}
  1455. {# Some helpers to make this file more readable #}
  1456. {% set d = product.default_variation|default %}
  1457. {% block main %}
  1458.     <div class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 pt-header\">
  1459.         {% include 'template-parts/breadcrumb.html.twig' %}
  1460.     </div>
  1461.     <main id=\"product-{{ product.id }}\"
  1462.           x-init=\"\$nextTick(() => { initialize() })\"
  1463.             {% if d %}
  1464.                 x-data=\"window.alpineProductData({{ product | json_encode }}, {{ product['default_variation'] | json_encode }})\"
  1465.             {% else %}
  1466.                 x-data=\"window.alpineProductData({{ product | json_encode }})\"
  1467.             {% endif %}
  1468.           class=\"max-w-screen-2xl mx-auto px-5 lg:px-20\">
  1469.         <div class=\"grid grid-cols-1 lg:grid-cols-2 lg:grid-rows-[0.02fr_1fr] gap-y-6 lg:gap-x-12 lg:gap-y-4 pb-0 lg:pb-12\">
  1470.             <div class=\"swiper-container-wrapper product-gallery -ml-4 lg:ml-0 w-screen lg:w-full flex flex-col sm:flex-row-reverse flex-nowrap gap-4 lg:aspect-[677/400] lg:overflow-hidden order-2 lg:order-first\">
  1471.                 {% if product.gallery|default or product.galleryVariations|default %}
  1472.                     <div class=\"swiper group/product-page-swiper w-full lg:w-[calc(100%-100px)] relative !z-5\">
  1473.                         {% if product.discount|default %}
  1474.                             {% embed 'components/picto.html.twig' with {picto_name: '- ' ~ product.discount ~ '%'} %}{% endembed %}
  1475.                         {% endif %}
  1476.                         {% if product.video|default %}
  1477.                             <button data-modal-target=\"{{ product.video }}\"
  1478.                                     class=\"absolute top-4 right-4 z-100 flex w-max flex-row items-center gap-2 rounded-none bg-neutral-200 py-1 px-3\">
  1479.                                 {% include 'assets/youtube_icon.svg' %}
  1480.                                 <span class=\"text-sm font-bold text-black\">Ver vĂ­deo</span>
  1481.                             </button>
  1482.                         {% endif %}
  1483.                         <div class=\"swiper-wrapper\">
  1484.                             <template x-for=\"item in current?.gallery || []\">
  1485.                                 <div class=\"swiper-slide\">
  1486.                                     <template x-if=\"item.src\">
  1487.                                         <a :href=\"item.src\" :data-pswp-src=\"item.src\" :data-pswp-width=\"1024\"
  1488.                                            :data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
  1489.                                             <img class=\"w-full h-full aspect-[4/3] object-contain\"
  1490.                                                  :src=\"item.src\"
  1491.                                                  :srcset=\"item.srcset\"
  1492.                                                  :sizes=\"item.sizes\"
  1493.                                                  :alt=\"item.alt\" loading=\"lazy\">
  1494.                                         </a>
  1495.                                     </template>
  1496.                                 </div>
  1497.                             </template>
  1498.                             {% for image in product.gallery %}
  1499.                                 <div class=\"swiper-slide\">
  1500.                                     {% if image.src|default %}
  1501.                                         <a href=\"{{ image.src }}\" data-pswp-src=\"{{ image.src }}\" data-pswp-width=\"1024\"
  1502.                                            data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
  1503.                                             <img class=\"w-full h-full aspect-[4/3] object-contain\"
  1504.                                                  src=\"{{ image.src }}\"
  1505.                                                  srcset=\"{{ image.srcset }}\"
  1506.                                                  sizes=\"{{ image.sizes }}\"
  1507.                                                  alt=\"{{ image.alt }}\" loading=\"lazy\">
  1508.                                         </a>
  1509.                                     {% endif %}
  1510.                                     {% if image.youtube_id|default %}
  1511.                                         <iframe src=\"{{ image.youtube_src }}\" class=\"w-full h-full\"
  1512.                                                 width=\"640\" height=\"360\" frameborder=\"0\"
  1513.                                                 allow=\"autoplay; fullscreen; picture-in-picture\"
  1514.                                                 allowfullscreen></iframe>
  1515.                                     {% endif %}
  1516.                                 </div>
  1517.                             {% endfor %}
  1518.                         </div>
  1519.                         <div class=\"swiper-scrollbar lg:opacity-0 group-[.swiper-initialized:hover]/product-page-swiper:opacity-100 transition-opacity duration-300 ease-in-out\"></div>
  1520.                         <div class=\"swiper-button-next aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
  1521.                             {% include 'assets/swiper-next.svg' %}
  1522.                         </div>
  1523.                         <div class=\"swiper-button-prev aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
  1524.                             {% include 'assets/swiper-prev.svg' %}
  1525.                         </div>
  1526.                     </div>
  1527.                     <div class=\"swiper product-page-swiper-thumbs w-[100px] !hidden lg:!block relative\">
  1528.                         <div class=\"swiper-wrapper\">
  1529.                             <template x-for=\"item in current?.gallery || []\">
  1530.                                 <div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
  1531.                                     <template x-if=\"item.src\">
  1532.                                         <img :src=\"item.thumbnail.src\"
  1533.                                              :alt=\"item.alt\" loading=\"lazy\">
  1534.                                     </template>
  1535.                                 </div>
  1536.                             </template>
  1537.                             {% for image in product.gallery %}
  1538.                                 <div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
  1539.                                     <img src=\"{{ image.thumbnail.src }}\"
  1540.                                          alt=\"Miniatura {{ image.thumbnail.alt|default ? image.thumbnail.alt : image.alt }}\"
  1541.                                          loading=\"lazy\">
  1542.                                 </div>
  1543.                             {% endfor %}
  1544.                         </div>
  1545.                         <div class=\"swiper-button-next swiper-button-next-thumbs !top-auto !bottom-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
  1546.                              aria-disabled=\"true\">
  1547.                             {% include 'assets/swiper-next-thumbs.svg' %}
  1548.                         </div>
  1549.                         <div class=\"swiper-button-prev swiper-button-prev-thumbs !top-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
  1550.                              aria-disabled=\"true\">
  1551.                             {% include 'assets/swiper-prev-thumbs.svg' %}
  1552.                         </div>
  1553.                     </div>
  1554.                 {% endif %}
  1555.             </div>
  1556.             <div class=\"row-span-1\">
  1557.                 <h1 class=\"text-3xl lg:max-w-lg\">{{ product.name }}</h1>
  1558.             </div>
  1559.             <div class=\"lg:row-span-2 order-4\">
  1560.                 <div class=\"lg:sticky lg:top-header flex flex-col gap-y-6 z-0 sm:max-xl max-w-lg\">
  1561.                     {% block start_sticky_product %}{% endblock %}
  1562.                     {% block price_box %}
  1563.                         {% embed 'template-parts/price-box.html.twig' %}{% endembed %}
  1564.                     {% endblock %}
  1565.                     {% block info_destacada %}
  1566.                         {% embed 'components/info-destacada.html.twig' with {
  1567.                             envio: true,
  1568.                             tiempo_envio: product.attributes['pa_tiempo-de-envio'][0].name ?? '',
  1569.                             size: product.length|default or product.width|default or product.height|default
  1570.                         } only %}{% endembed %}
  1571.                     {% endblock %}
  1572.                     {% if product.short_description|default %}
  1573.                         <span class=\"order-last lg:order-none text-sm text-black prose max-w-none\">{{ product.short_description|raw }}</span>
  1574.                     {% endif %}
  1575.                     {% if product.is_in_stock|default %}
  1576.                         {% if product.variation_attributes|default %}
  1577.                             <div id=\"product-attributes\"
  1578.                                  class=\"space-y-6 bg-stone-100 xs:rounded-none p-4 w-screen -ml-4 xs:w-full xs:ml-0\">
  1579.                                 {% block product_attributes %}
  1580.                                     {% for key, attribute in product.variation_attributes %}
  1581.                                         {% embed 'components/attributes/attribute-button.html.twig' with {
  1582.                                             atributos: 'product.variation_attributes[\"' ~ key ~ '\"]',
  1583.                                             atributo: key,
  1584.                                         } only %}
  1585.                                         {% endembed %}
  1586.                                     {% endfor %}
  1587.                                 {% endblock %}
  1588.                             </div>
  1589.                         {% endif %}
  1590.                         {% block add_to_cart %}
  1591.                             {% embed 'components/add-to-cart.html.twig' with {
  1592.                                 quantity: true
  1593.                             } %}{% endembed %}
  1594.                         {% endblock %}
  1595.                         {% block after_add_to_cart %}{% endblock %}
  1596.                     {% else %}
  1597.                         <div class=\"flex flex-row items-center gap-3 mt-6\">
  1598.                             <button id=\"addToCart\"
  1599.                                     class=\"no-stock w-full flex flex-row justify-center items-center gap-3 rounded-none bg-black p-3 text-white text-center\">
  1600.                                 <span>Producto agotado</span>
  1601.                             </button>
  1602.                         </div>
  1603.                     {% endif %}
  1604.                     <a href=\"{{ path('whatsapp_link', {'link': app.request.pathInfo}) }}\" target=\"_blank\"
  1605.                        rel=\"nofollow\" class=\"[&_svg]:max-w-40
  1606.                         [&_svg]:max-h-40 [&_svg]:w-full [&_svg]:h-auto [&_svg]:object-contain\">
  1607.                         {% include 'assets/whatsapp-herramientasparaalicatador.svg' %}
  1608.                     </a>
  1609.                 </div>
  1610.                 {% block price_nav_fixed %}
  1611.                     {% embed 'template-parts/price-nav-fixed.html.twig' %}{% endembed %}
  1612.                 {% endblock %}
  1613.             </div>
  1614.             <div class=\"order-last lg:order-3 mt-0 lg:mt-[400px] mb-8\">
  1615.                 {% block before_accordion %}{% endblock %}
  1616.                 {% if product.accordion|default %}
  1617.                     {% embed 'components/accordion.html.twig' with {
  1618.                         id: 'accordion_product',
  1619.                         accordion: 'collapse',
  1620.                         items: product.accordion
  1621.                     } %}
  1622.                     {% endembed %}
  1623.                 {% endif %}
  1624.             </div>
  1625.             {% if product.video|default %}
  1626.                 {% embed 'components/modal.html.twig' with {id: product.video, modal_button_class: 'hidden', youtube_id: product.video, modal_zIndex: 'z-[1000001]'} %}{% endembed %}
  1627.             {% endif %}
  1628.             {% block modales_producto %}{% endblock %}
  1629.         </div>
  1630.         {% block informacion_adicional_producto %}{% endblock %}
  1631.     </main>
  1632.     {% block after_main %}{% endblock %}
  1633.     {% if product.upsell_ids|default %}
  1634.         <section class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 flex flex-col gap-8\">
  1635.             {{ render_block('listadoproductos', {
  1636.                 titulo: product.tituloProductosRelacionados ?? 'Productos relacionados' ,
  1637.                 alineacion: 'start',
  1638.                 categorias_productos: false,
  1639.                 etiquetas_productos: false,
  1640.                 numero_productos: '-1',
  1641.                 boton: '',
  1642.                 slider_grid: 'slider',
  1643.                 productos: product.upsell_ids,
  1644.                 id: 'relacionados',
  1645.             }) }}
  1646.         </section>
  1647.     {% endif %}
  1648. {% endblock %}
  1649. {% block footer %}
  1650.     {% include 'footer.html.twig' %}
  1651.     <div class=\"pb-44 lg:pb-16\"></div>
  1652.     <style>
  1653.         #whatsapp {
  1654.             margin-bottom: 5rem;
  1655.         }
  1656.     </style>
  1657.     {{ wp_footer() }}
  1658. {% endblock footer %}
  1659. {% block json_schema %}
  1660.     {{ json_schema|raw }}
  1661. {% endblock %}""product.html.twig""/srv/app/templates/product.html.twig");
  1662.     }
  1663. }
  1664. /* product.html.twig */
  1665. class __TwigTemplate_92806ffe18a545913b4088f56e0ad847___201806956 extends Template
  1666. {
  1667.     private $source;
  1668.     private $macros = [];
  1669.     public function __construct(Environment $env)
  1670.     {
  1671.         parent::__construct($env);
  1672.         $this->source $this->getSourceContext();
  1673.         $this->blocks = [
  1674.         ];
  1675.     }
  1676.     protected function doGetParent(array $context)
  1677.     {
  1678.         // line 130
  1679.         return "components/attributes/attribute-button.html.twig";
  1680.     }
  1681.     protected function doDisplay(array $context, array $blocks = [])
  1682.     {
  1683.         $macros $this->macros;
  1684.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  1685.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""product.html.twig"));
  1686.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  1687.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""product.html.twig"));
  1688.         $this->parent $this->loadTemplate("components/attributes/attribute-button.html.twig""product.html.twig"130);
  1689.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  1690.         
  1691.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1692.         
  1693.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1694.     }
  1695.     /**
  1696.      * @codeCoverageIgnore
  1697.      */
  1698.     public function getTemplateName()
  1699.     {
  1700.         return "product.html.twig";
  1701.     }
  1702.     /**
  1703.      * @codeCoverageIgnore
  1704.      */
  1705.     public function isTraitable()
  1706.     {
  1707.         return false;
  1708.     }
  1709.     /**
  1710.      * @codeCoverageIgnore
  1711.      */
  1712.     public function getDebugInfo()
  1713.     {
  1714.         return array (  1855 => 130,  1567 => 115,  1279 => 112,  991 => 23,  713 => 216,  703 => 215,  691 => 212,  683 => 206,  680 => 205,  670 => 204,  652 => 185,  634 => 182,  616 => 180,  598 => 166,  588 => 162,  585 => 161,  575 => 160,  557 => 144,  547 => 143,  544 => 140,  534 => 139,  524 => 136,  518 => 135,  516 => 132,  515 => 131,  513 => 130,  508 => 129,  498 => 128,  488 => 120,  486 => 118,  485 => 117,  483 => 115,  473 => 114,  463 => 113,  460 => 112,  450 => 111,  432 => 110,  419 => 199,  417 => 197,  416 => 190,  415 => 189,  412 => 188,  410 => 187,  407 => 186,  405 => 185,  401 => 183,  399 => 182,  396 => 181,  393 => 180,  390 => 179,  387 => 178,  385 => 177,  381 => 175,  378 => 174,  376 => 171,  374 => 168,  371 => 167,  369 => 166,  364 => 163,  362 => 160,  357 => 157,  355 => 156,  348 => 153,  339 => 146,  336 => 145,  333 => 144,  330 => 139,  326 => 137,  324 => 128,  320 => 126,  317 => 125,  314 => 124,  308 => 122,  305 => 121,  302 => 114,  299 => 111,  297 => 110,  290 => 106,  286 => 104,  281 => 101,  279 => 100,  274 => 97,  272 => 96,  267 => 93,  257 => 89,  253 => 88,  250 => 87,  246 => 86,  232 => 74,  230 => 73,  226 => 71,  224 => 70,  219 => 67,  212 => 65,  203 => 60,  200 => 59,  194 => 56,  190 => 55,  186 => 54,  182 => 53,  173 => 50,  171 => 49,  168 => 48,  164 => 47,  147 => 32,  142 => 29,  140 => 28,  134 => 26,  131 => 25,  128 => 24,  125 => 23,  123 => 22,  120 => 21,  118 => 20,  113 => 17,  107 => 15,  99 => 13,  97 => 12,  92 => 10,  89 => 9,  87 => 8,  84 => 7,  74 => 6,  63 => 1,  61 => 4,  48 => 1,);
  1715.     }
  1716.     public function getSourceContext()
  1717.     {
  1718.         return new Source("{% extends 'base.html.twig' %}
  1719. {# Some helpers to make this file more readable #}
  1720. {% set d = product.default_variation|default %}
  1721. {% block main %}
  1722.     <div class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 pt-header\">
  1723.         {% include 'template-parts/breadcrumb.html.twig' %}
  1724.     </div>
  1725.     <main id=\"product-{{ product.id }}\"
  1726.           x-init=\"\$nextTick(() => { initialize() })\"
  1727.             {% if d %}
  1728.                 x-data=\"window.alpineProductData({{ product | json_encode }}, {{ product['default_variation'] | json_encode }})\"
  1729.             {% else %}
  1730.                 x-data=\"window.alpineProductData({{ product | json_encode }})\"
  1731.             {% endif %}
  1732.           class=\"max-w-screen-2xl mx-auto px-5 lg:px-20\">
  1733.         <div class=\"grid grid-cols-1 lg:grid-cols-2 lg:grid-rows-[0.02fr_1fr] gap-y-6 lg:gap-x-12 lg:gap-y-4 pb-0 lg:pb-12\">
  1734.             <div class=\"swiper-container-wrapper product-gallery -ml-4 lg:ml-0 w-screen lg:w-full flex flex-col sm:flex-row-reverse flex-nowrap gap-4 lg:aspect-[677/400] lg:overflow-hidden order-2 lg:order-first\">
  1735.                 {% if product.gallery|default or product.galleryVariations|default %}
  1736.                     <div class=\"swiper group/product-page-swiper w-full lg:w-[calc(100%-100px)] relative !z-5\">
  1737.                         {% if product.discount|default %}
  1738.                             {% embed 'components/picto.html.twig' with {picto_name: '- ' ~ product.discount ~ '%'} %}{% endembed %}
  1739.                         {% endif %}
  1740.                         {% if product.video|default %}
  1741.                             <button data-modal-target=\"{{ product.video }}\"
  1742.                                     class=\"absolute top-4 right-4 z-100 flex w-max flex-row items-center gap-2 rounded-none bg-neutral-200 py-1 px-3\">
  1743.                                 {% include 'assets/youtube_icon.svg' %}
  1744.                                 <span class=\"text-sm font-bold text-black\">Ver vĂ­deo</span>
  1745.                             </button>
  1746.                         {% endif %}
  1747.                         <div class=\"swiper-wrapper\">
  1748.                             <template x-for=\"item in current?.gallery || []\">
  1749.                                 <div class=\"swiper-slide\">
  1750.                                     <template x-if=\"item.src\">
  1751.                                         <a :href=\"item.src\" :data-pswp-src=\"item.src\" :data-pswp-width=\"1024\"
  1752.                                            :data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
  1753.                                             <img class=\"w-full h-full aspect-[4/3] object-contain\"
  1754.                                                  :src=\"item.src\"
  1755.                                                  :srcset=\"item.srcset\"
  1756.                                                  :sizes=\"item.sizes\"
  1757.                                                  :alt=\"item.alt\" loading=\"lazy\">
  1758.                                         </a>
  1759.                                     </template>
  1760.                                 </div>
  1761.                             </template>
  1762.                             {% for image in product.gallery %}
  1763.                                 <div class=\"swiper-slide\">
  1764.                                     {% if image.src|default %}
  1765.                                         <a href=\"{{ image.src }}\" data-pswp-src=\"{{ image.src }}\" data-pswp-width=\"1024\"
  1766.                                            data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
  1767.                                             <img class=\"w-full h-full aspect-[4/3] object-contain\"
  1768.                                                  src=\"{{ image.src }}\"
  1769.                                                  srcset=\"{{ image.srcset }}\"
  1770.                                                  sizes=\"{{ image.sizes }}\"
  1771.                                                  alt=\"{{ image.alt }}\" loading=\"lazy\">
  1772.                                         </a>
  1773.                                     {% endif %}
  1774.                                     {% if image.youtube_id|default %}
  1775.                                         <iframe src=\"{{ image.youtube_src }}\" class=\"w-full h-full\"
  1776.                                                 width=\"640\" height=\"360\" frameborder=\"0\"
  1777.                                                 allow=\"autoplay; fullscreen; picture-in-picture\"
  1778.                                                 allowfullscreen></iframe>
  1779.                                     {% endif %}
  1780.                                 </div>
  1781.                             {% endfor %}
  1782.                         </div>
  1783.                         <div class=\"swiper-scrollbar lg:opacity-0 group-[.swiper-initialized:hover]/product-page-swiper:opacity-100 transition-opacity duration-300 ease-in-out\"></div>
  1784.                         <div class=\"swiper-button-next aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
  1785.                             {% include 'assets/swiper-next.svg' %}
  1786.                         </div>
  1787.                         <div class=\"swiper-button-prev aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
  1788.                             {% include 'assets/swiper-prev.svg' %}
  1789.                         </div>
  1790.                     </div>
  1791.                     <div class=\"swiper product-page-swiper-thumbs w-[100px] !hidden lg:!block relative\">
  1792.                         <div class=\"swiper-wrapper\">
  1793.                             <template x-for=\"item in current?.gallery || []\">
  1794.                                 <div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
  1795.                                     <template x-if=\"item.src\">
  1796.                                         <img :src=\"item.thumbnail.src\"
  1797.                                              :alt=\"item.alt\" loading=\"lazy\">
  1798.                                     </template>
  1799.                                 </div>
  1800.                             </template>
  1801.                             {% for image in product.gallery %}
  1802.                                 <div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
  1803.                                     <img src=\"{{ image.thumbnail.src }}\"
  1804.                                          alt=\"Miniatura {{ image.thumbnail.alt|default ? image.thumbnail.alt : image.alt }}\"
  1805.                                          loading=\"lazy\">
  1806.                                 </div>
  1807.                             {% endfor %}
  1808.                         </div>
  1809.                         <div class=\"swiper-button-next swiper-button-next-thumbs !top-auto !bottom-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
  1810.                              aria-disabled=\"true\">
  1811.                             {% include 'assets/swiper-next-thumbs.svg' %}
  1812.                         </div>
  1813.                         <div class=\"swiper-button-prev swiper-button-prev-thumbs !top-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
  1814.                              aria-disabled=\"true\">
  1815.                             {% include 'assets/swiper-prev-thumbs.svg' %}
  1816.                         </div>
  1817.                     </div>
  1818.                 {% endif %}
  1819.             </div>
  1820.             <div class=\"row-span-1\">
  1821.                 <h1 class=\"text-3xl lg:max-w-lg\">{{ product.name }}</h1>
  1822.             </div>
  1823.             <div class=\"lg:row-span-2 order-4\">
  1824.                 <div class=\"lg:sticky lg:top-header flex flex-col gap-y-6 z-0 sm:max-xl max-w-lg\">
  1825.                     {% block start_sticky_product %}{% endblock %}
  1826.                     {% block price_box %}
  1827.                         {% embed 'template-parts/price-box.html.twig' %}{% endembed %}
  1828.                     {% endblock %}
  1829.                     {% block info_destacada %}
  1830.                         {% embed 'components/info-destacada.html.twig' with {
  1831.                             envio: true,
  1832.                             tiempo_envio: product.attributes['pa_tiempo-de-envio'][0].name ?? '',
  1833.                             size: product.length|default or product.width|default or product.height|default
  1834.                         } only %}{% endembed %}
  1835.                     {% endblock %}
  1836.                     {% if product.short_description|default %}
  1837.                         <span class=\"order-last lg:order-none text-sm text-black prose max-w-none\">{{ product.short_description|raw }}</span>
  1838.                     {% endif %}
  1839.                     {% if product.is_in_stock|default %}
  1840.                         {% if product.variation_attributes|default %}
  1841.                             <div id=\"product-attributes\"
  1842.                                  class=\"space-y-6 bg-stone-100 xs:rounded-none p-4 w-screen -ml-4 xs:w-full xs:ml-0\">
  1843.                                 {% block product_attributes %}
  1844.                                     {% for key, attribute in product.variation_attributes %}
  1845.                                         {% embed 'components/attributes/attribute-button.html.twig' with {
  1846.                                             atributos: 'product.variation_attributes[\"' ~ key ~ '\"]',
  1847.                                             atributo: key,
  1848.                                         } only %}
  1849.                                         {% endembed %}
  1850.                                     {% endfor %}
  1851.                                 {% endblock %}
  1852.                             </div>
  1853.                         {% endif %}
  1854.                         {% block add_to_cart %}
  1855.                             {% embed 'components/add-to-cart.html.twig' with {
  1856.                                 quantity: true
  1857.                             } %}{% endembed %}
  1858.                         {% endblock %}
  1859.                         {% block after_add_to_cart %}{% endblock %}
  1860.                     {% else %}
  1861.                         <div class=\"flex flex-row items-center gap-3 mt-6\">
  1862.                             <button id=\"addToCart\"
  1863.                                     class=\"no-stock w-full flex flex-row justify-center items-center gap-3 rounded-none bg-black p-3 text-white text-center\">
  1864.                                 <span>Producto agotado</span>
  1865.                             </button>
  1866.                         </div>
  1867.                     {% endif %}
  1868.                     <a href=\"{{ path('whatsapp_link', {'link': app.request.pathInfo}) }}\" target=\"_blank\"
  1869.                        rel=\"nofollow\" class=\"[&_svg]:max-w-40
  1870.                         [&_svg]:max-h-40 [&_svg]:w-full [&_svg]:h-auto [&_svg]:object-contain\">
  1871.                         {% include 'assets/whatsapp-herramientasparaalicatador.svg' %}
  1872.                     </a>
  1873.                 </div>
  1874.                 {% block price_nav_fixed %}
  1875.                     {% embed 'template-parts/price-nav-fixed.html.twig' %}{% endembed %}
  1876.                 {% endblock %}
  1877.             </div>
  1878.             <div class=\"order-last lg:order-3 mt-0 lg:mt-[400px] mb-8\">
  1879.                 {% block before_accordion %}{% endblock %}
  1880.                 {% if product.accordion|default %}
  1881.                     {% embed 'components/accordion.html.twig' with {
  1882.                         id: 'accordion_product',
  1883.                         accordion: 'collapse',
  1884.                         items: product.accordion
  1885.                     } %}
  1886.                     {% endembed %}
  1887.                 {% endif %}
  1888.             </div>
  1889.             {% if product.video|default %}
  1890.                 {% embed 'components/modal.html.twig' with {id: product.video, modal_button_class: 'hidden', youtube_id: product.video, modal_zIndex: 'z-[1000001]'} %}{% endembed %}
  1891.             {% endif %}
  1892.             {% block modales_producto %}{% endblock %}
  1893.         </div>
  1894.         {% block informacion_adicional_producto %}{% endblock %}
  1895.     </main>
  1896.     {% block after_main %}{% endblock %}
  1897.     {% if product.upsell_ids|default %}
  1898.         <section class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 flex flex-col gap-8\">
  1899.             {{ render_block('listadoproductos', {
  1900.                 titulo: product.tituloProductosRelacionados ?? 'Productos relacionados' ,
  1901.                 alineacion: 'start',
  1902.                 categorias_productos: false,
  1903.                 etiquetas_productos: false,
  1904.                 numero_productos: '-1',
  1905.                 boton: '',
  1906.                 slider_grid: 'slider',
  1907.                 productos: product.upsell_ids,
  1908.                 id: 'relacionados',
  1909.             }) }}
  1910.         </section>
  1911.     {% endif %}
  1912. {% endblock %}
  1913. {% block footer %}
  1914.     {% include 'footer.html.twig' %}
  1915.     <div class=\"pb-44 lg:pb-16\"></div>
  1916.     <style>
  1917.         #whatsapp {
  1918.             margin-bottom: 5rem;
  1919.         }
  1920.     </style>
  1921.     {{ wp_footer() }}
  1922. {% endblock footer %}
  1923. {% block json_schema %}
  1924.     {{ json_schema|raw }}
  1925. {% endblock %}""product.html.twig""/srv/app/templates/product.html.twig");
  1926.     }
  1927. }
  1928. /* product.html.twig */
  1929. class __TwigTemplate_92806ffe18a545913b4088f56e0ad847___1059092971 extends Template
  1930. {
  1931.     private $source;
  1932.     private $macros = [];
  1933.     public function __construct(Environment $env)
  1934.     {
  1935.         parent::__construct($env);
  1936.         $this->source $this->getSourceContext();
  1937.         $this->blocks = [
  1938.         ];
  1939.     }
  1940.     protected function doGetParent(array $context)
  1941.     {
  1942.         // line 140
  1943.         return "components/add-to-cart.html.twig";
  1944.     }
  1945.     protected function doDisplay(array $context, array $blocks = [])
  1946.     {
  1947.         $macros $this->macros;
  1948.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  1949.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""product.html.twig"));
  1950.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  1951.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""product.html.twig"));
  1952.         $this->parent $this->loadTemplate("components/add-to-cart.html.twig""product.html.twig"140);
  1953.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  1954.         
  1955.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1956.         
  1957.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1958.     }
  1959.     /**
  1960.      * @codeCoverageIgnore
  1961.      */
  1962.     public function getTemplateName()
  1963.     {
  1964.         return "product.html.twig";
  1965.     }
  1966.     /**
  1967.      * @codeCoverageIgnore
  1968.      */
  1969.     public function isTraitable()
  1970.     {
  1971.         return false;
  1972.     }
  1973.     /**
  1974.      * @codeCoverageIgnore
  1975.      */
  1976.     public function getDebugInfo()
  1977.     {
  1978.         return array (  2143 => 140,  1855 => 130,  1567 => 115,  1279 => 112,  991 => 23,  713 => 216,  703 => 215,  691 => 212,  683 => 206,  680 => 205,  670 => 204,  652 => 185,  634 => 182,  616 => 180,  598 => 166,  588 => 162,  585 => 161,  575 => 160,  557 => 144,  547 => 143,  544 => 140,  534 => 139,  524 => 136,  518 => 135,  516 => 132,  515 => 131,  513 => 130,  508 => 129,  498 => 128,  488 => 120,  486 => 118,  485 => 117,  483 => 115,  473 => 114,  463 => 113,  460 => 112,  450 => 111,  432 => 110,  419 => 199,  417 => 197,  416 => 190,  415 => 189,  412 => 188,  410 => 187,  407 => 186,  405 => 185,  401 => 183,  399 => 182,  396 => 181,  393 => 180,  390 => 179,  387 => 178,  385 => 177,  381 => 175,  378 => 174,  376 => 171,  374 => 168,  371 => 167,  369 => 166,  364 => 163,  362 => 160,  357 => 157,  355 => 156,  348 => 153,  339 => 146,  336 => 145,  333 => 144,  330 => 139,  326 => 137,  324 => 128,  320 => 126,  317 => 125,  314 => 124,  308 => 122,  305 => 121,  302 => 114,  299 => 111,  297 => 110,  290 => 106,  286 => 104,  281 => 101,  279 => 100,  274 => 97,  272 => 96,  267 => 93,  257 => 89,  253 => 88,  250 => 87,  246 => 86,  232 => 74,  230 => 73,  226 => 71,  224 => 70,  219 => 67,  212 => 65,  203 => 60,  200 => 59,  194 => 56,  190 => 55,  186 => 54,  182 => 53,  173 => 50,  171 => 49,  168 => 48,  164 => 47,  147 => 32,  142 => 29,  140 => 28,  134 => 26,  131 => 25,  128 => 24,  125 => 23,  123 => 22,  120 => 21,  118 => 20,  113 => 17,  107 => 15,  99 => 13,  97 => 12,  92 => 10,  89 => 9,  87 => 8,  84 => 7,  74 => 6,  63 => 1,  61 => 4,  48 => 1,);
  1979.     }
  1980.     public function getSourceContext()
  1981.     {
  1982.         return new Source("{% extends 'base.html.twig' %}
  1983. {# Some helpers to make this file more readable #}
  1984. {% set d = product.default_variation|default %}
  1985. {% block main %}
  1986.     <div class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 pt-header\">
  1987.         {% include 'template-parts/breadcrumb.html.twig' %}
  1988.     </div>
  1989.     <main id=\"product-{{ product.id }}\"
  1990.           x-init=\"\$nextTick(() => { initialize() })\"
  1991.             {% if d %}
  1992.                 x-data=\"window.alpineProductData({{ product | json_encode }}, {{ product['default_variation'] | json_encode }})\"
  1993.             {% else %}
  1994.                 x-data=\"window.alpineProductData({{ product | json_encode }})\"
  1995.             {% endif %}
  1996.           class=\"max-w-screen-2xl mx-auto px-5 lg:px-20\">
  1997.         <div class=\"grid grid-cols-1 lg:grid-cols-2 lg:grid-rows-[0.02fr_1fr] gap-y-6 lg:gap-x-12 lg:gap-y-4 pb-0 lg:pb-12\">
  1998.             <div class=\"swiper-container-wrapper product-gallery -ml-4 lg:ml-0 w-screen lg:w-full flex flex-col sm:flex-row-reverse flex-nowrap gap-4 lg:aspect-[677/400] lg:overflow-hidden order-2 lg:order-first\">
  1999.                 {% if product.gallery|default or product.galleryVariations|default %}
  2000.                     <div class=\"swiper group/product-page-swiper w-full lg:w-[calc(100%-100px)] relative !z-5\">
  2001.                         {% if product.discount|default %}
  2002.                             {% embed 'components/picto.html.twig' with {picto_name: '- ' ~ product.discount ~ '%'} %}{% endembed %}
  2003.                         {% endif %}
  2004.                         {% if product.video|default %}
  2005.                             <button data-modal-target=\"{{ product.video }}\"
  2006.                                     class=\"absolute top-4 right-4 z-100 flex w-max flex-row items-center gap-2 rounded-none bg-neutral-200 py-1 px-3\">
  2007.                                 {% include 'assets/youtube_icon.svg' %}
  2008.                                 <span class=\"text-sm font-bold text-black\">Ver vĂ­deo</span>
  2009.                             </button>
  2010.                         {% endif %}
  2011.                         <div class=\"swiper-wrapper\">
  2012.                             <template x-for=\"item in current?.gallery || []\">
  2013.                                 <div class=\"swiper-slide\">
  2014.                                     <template x-if=\"item.src\">
  2015.                                         <a :href=\"item.src\" :data-pswp-src=\"item.src\" :data-pswp-width=\"1024\"
  2016.                                            :data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
  2017.                                             <img class=\"w-full h-full aspect-[4/3] object-contain\"
  2018.                                                  :src=\"item.src\"
  2019.                                                  :srcset=\"item.srcset\"
  2020.                                                  :sizes=\"item.sizes\"
  2021.                                                  :alt=\"item.alt\" loading=\"lazy\">
  2022.                                         </a>
  2023.                                     </template>
  2024.                                 </div>
  2025.                             </template>
  2026.                             {% for image in product.gallery %}
  2027.                                 <div class=\"swiper-slide\">
  2028.                                     {% if image.src|default %}
  2029.                                         <a href=\"{{ image.src }}\" data-pswp-src=\"{{ image.src }}\" data-pswp-width=\"1024\"
  2030.                                            data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
  2031.                                             <img class=\"w-full h-full aspect-[4/3] object-contain\"
  2032.                                                  src=\"{{ image.src }}\"
  2033.                                                  srcset=\"{{ image.srcset }}\"
  2034.                                                  sizes=\"{{ image.sizes }}\"
  2035.                                                  alt=\"{{ image.alt }}\" loading=\"lazy\">
  2036.                                         </a>
  2037.                                     {% endif %}
  2038.                                     {% if image.youtube_id|default %}
  2039.                                         <iframe src=\"{{ image.youtube_src }}\" class=\"w-full h-full\"
  2040.                                                 width=\"640\" height=\"360\" frameborder=\"0\"
  2041.                                                 allow=\"autoplay; fullscreen; picture-in-picture\"
  2042.                                                 allowfullscreen></iframe>
  2043.                                     {% endif %}
  2044.                                 </div>
  2045.                             {% endfor %}
  2046.                         </div>
  2047.                         <div class=\"swiper-scrollbar lg:opacity-0 group-[.swiper-initialized:hover]/product-page-swiper:opacity-100 transition-opacity duration-300 ease-in-out\"></div>
  2048.                         <div class=\"swiper-button-next aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
  2049.                             {% include 'assets/swiper-next.svg' %}
  2050.                         </div>
  2051.                         <div class=\"swiper-button-prev aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
  2052.                             {% include 'assets/swiper-prev.svg' %}
  2053.                         </div>
  2054.                     </div>
  2055.                     <div class=\"swiper product-page-swiper-thumbs w-[100px] !hidden lg:!block relative\">
  2056.                         <div class=\"swiper-wrapper\">
  2057.                             <template x-for=\"item in current?.gallery || []\">
  2058.                                 <div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
  2059.                                     <template x-if=\"item.src\">
  2060.                                         <img :src=\"item.thumbnail.src\"
  2061.                                              :alt=\"item.alt\" loading=\"lazy\">
  2062.                                     </template>
  2063.                                 </div>
  2064.                             </template>
  2065.                             {% for image in product.gallery %}
  2066.                                 <div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
  2067.                                     <img src=\"{{ image.thumbnail.src }}\"
  2068.                                          alt=\"Miniatura {{ image.thumbnail.alt|default ? image.thumbnail.alt : image.alt }}\"
  2069.                                          loading=\"lazy\">
  2070.                                 </div>
  2071.                             {% endfor %}
  2072.                         </div>
  2073.                         <div class=\"swiper-button-next swiper-button-next-thumbs !top-auto !bottom-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
  2074.                              aria-disabled=\"true\">
  2075.                             {% include 'assets/swiper-next-thumbs.svg' %}
  2076.                         </div>
  2077.                         <div class=\"swiper-button-prev swiper-button-prev-thumbs !top-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
  2078.                              aria-disabled=\"true\">
  2079.                             {% include 'assets/swiper-prev-thumbs.svg' %}
  2080.                         </div>
  2081.                     </div>
  2082.                 {% endif %}
  2083.             </div>
  2084.             <div class=\"row-span-1\">
  2085.                 <h1 class=\"text-3xl lg:max-w-lg\">{{ product.name }}</h1>
  2086.             </div>
  2087.             <div class=\"lg:row-span-2 order-4\">
  2088.                 <div class=\"lg:sticky lg:top-header flex flex-col gap-y-6 z-0 sm:max-xl max-w-lg\">
  2089.                     {% block start_sticky_product %}{% endblock %}
  2090.                     {% block price_box %}
  2091.                         {% embed 'template-parts/price-box.html.twig' %}{% endembed %}
  2092.                     {% endblock %}
  2093.                     {% block info_destacada %}
  2094.                         {% embed 'components/info-destacada.html.twig' with {
  2095.                             envio: true,
  2096.                             tiempo_envio: product.attributes['pa_tiempo-de-envio'][0].name ?? '',
  2097.                             size: product.length|default or product.width|default or product.height|default
  2098.                         } only %}{% endembed %}
  2099.                     {% endblock %}
  2100.                     {% if product.short_description|default %}
  2101.                         <span class=\"order-last lg:order-none text-sm text-black prose max-w-none\">{{ product.short_description|raw }}</span>
  2102.                     {% endif %}
  2103.                     {% if product.is_in_stock|default %}
  2104.                         {% if product.variation_attributes|default %}
  2105.                             <div id=\"product-attributes\"
  2106.                                  class=\"space-y-6 bg-stone-100 xs:rounded-none p-4 w-screen -ml-4 xs:w-full xs:ml-0\">
  2107.                                 {% block product_attributes %}
  2108.                                     {% for key, attribute in product.variation_attributes %}
  2109.                                         {% embed 'components/attributes/attribute-button.html.twig' with {
  2110.                                             atributos: 'product.variation_attributes[\"' ~ key ~ '\"]',
  2111.                                             atributo: key,
  2112.                                         } only %}
  2113.                                         {% endembed %}
  2114.                                     {% endfor %}
  2115.                                 {% endblock %}
  2116.                             </div>
  2117.                         {% endif %}
  2118.                         {% block add_to_cart %}
  2119.                             {% embed 'components/add-to-cart.html.twig' with {
  2120.                                 quantity: true
  2121.                             } %}{% endembed %}
  2122.                         {% endblock %}
  2123.                         {% block after_add_to_cart %}{% endblock %}
  2124.                     {% else %}
  2125.                         <div class=\"flex flex-row items-center gap-3 mt-6\">
  2126.                             <button id=\"addToCart\"
  2127.                                     class=\"no-stock w-full flex flex-row justify-center items-center gap-3 rounded-none bg-black p-3 text-white text-center\">
  2128.                                 <span>Producto agotado</span>
  2129.                             </button>
  2130.                         </div>
  2131.                     {% endif %}
  2132.                     <a href=\"{{ path('whatsapp_link', {'link': app.request.pathInfo}) }}\" target=\"_blank\"
  2133.                        rel=\"nofollow\" class=\"[&_svg]:max-w-40
  2134.                         [&_svg]:max-h-40 [&_svg]:w-full [&_svg]:h-auto [&_svg]:object-contain\">
  2135.                         {% include 'assets/whatsapp-herramientasparaalicatador.svg' %}
  2136.                     </a>
  2137.                 </div>
  2138.                 {% block price_nav_fixed %}
  2139.                     {% embed 'template-parts/price-nav-fixed.html.twig' %}{% endembed %}
  2140.                 {% endblock %}
  2141.             </div>
  2142.             <div class=\"order-last lg:order-3 mt-0 lg:mt-[400px] mb-8\">
  2143.                 {% block before_accordion %}{% endblock %}
  2144.                 {% if product.accordion|default %}
  2145.                     {% embed 'components/accordion.html.twig' with {
  2146.                         id: 'accordion_product',
  2147.                         accordion: 'collapse',
  2148.                         items: product.accordion
  2149.                     } %}
  2150.                     {% endembed %}
  2151.                 {% endif %}
  2152.             </div>
  2153.             {% if product.video|default %}
  2154.                 {% embed 'components/modal.html.twig' with {id: product.video, modal_button_class: 'hidden', youtube_id: product.video, modal_zIndex: 'z-[1000001]'} %}{% endembed %}
  2155.             {% endif %}
  2156.             {% block modales_producto %}{% endblock %}
  2157.         </div>
  2158.         {% block informacion_adicional_producto %}{% endblock %}
  2159.     </main>
  2160.     {% block after_main %}{% endblock %}
  2161.     {% if product.upsell_ids|default %}
  2162.         <section class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 flex flex-col gap-8\">
  2163.             {{ render_block('listadoproductos', {
  2164.                 titulo: product.tituloProductosRelacionados ?? 'Productos relacionados' ,
  2165.                 alineacion: 'start',
  2166.                 categorias_productos: false,
  2167.                 etiquetas_productos: false,
  2168.                 numero_productos: '-1',
  2169.                 boton: '',
  2170.                 slider_grid: 'slider',
  2171.                 productos: product.upsell_ids,
  2172.                 id: 'relacionados',
  2173.             }) }}
  2174.         </section>
  2175.     {% endif %}
  2176. {% endblock %}
  2177. {% block footer %}
  2178.     {% include 'footer.html.twig' %}
  2179.     <div class=\"pb-44 lg:pb-16\"></div>
  2180.     <style>
  2181.         #whatsapp {
  2182.             margin-bottom: 5rem;
  2183.         }
  2184.     </style>
  2185.     {{ wp_footer() }}
  2186. {% endblock footer %}
  2187. {% block json_schema %}
  2188.     {{ json_schema|raw }}
  2189. {% endblock %}""product.html.twig""/srv/app/templates/product.html.twig");
  2190.     }
  2191. }
  2192. /* product.html.twig */
  2193. class __TwigTemplate_92806ffe18a545913b4088f56e0ad847___1230436163 extends Template
  2194. {
  2195.     private $source;
  2196.     private $macros = [];
  2197.     public function __construct(Environment $env)
  2198.     {
  2199.         parent::__construct($env);
  2200.         $this->source $this->getSourceContext();
  2201.         $this->blocks = [
  2202.         ];
  2203.     }
  2204.     protected function doGetParent(array $context)
  2205.     {
  2206.         // line 161
  2207.         return "template-parts/price-nav-fixed.html.twig";
  2208.     }
  2209.     protected function doDisplay(array $context, array $blocks = [])
  2210.     {
  2211.         $macros $this->macros;
  2212.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  2213.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""product.html.twig"));
  2214.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  2215.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""product.html.twig"));
  2216.         $this->parent $this->loadTemplate("template-parts/price-nav-fixed.html.twig""product.html.twig"161);
  2217.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  2218.         
  2219.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  2220.         
  2221.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  2222.     }
  2223.     /**
  2224.      * @codeCoverageIgnore
  2225.      */
  2226.     public function getTemplateName()
  2227.     {
  2228.         return "product.html.twig";
  2229.     }
  2230.     /**
  2231.      * @codeCoverageIgnore
  2232.      */
  2233.     public function isTraitable()
  2234.     {
  2235.         return false;
  2236.     }
  2237.     /**
  2238.      * @codeCoverageIgnore
  2239.      */
  2240.     public function getDebugInfo()
  2241.     {
  2242.         return array (  2431 => 161,  2143 => 140,  1855 => 130,  1567 => 115,  1279 => 112,  991 => 23,  713 => 216,  703 => 215,  691 => 212,  683 => 206,  680 => 205,  670 => 204,  652 => 185,  634 => 182,  616 => 180,  598 => 166,  588 => 162,  585 => 161,  575 => 160,  557 => 144,  547 => 143,  544 => 140,  534 => 139,  524 => 136,  518 => 135,  516 => 132,  515 => 131,  513 => 130,  508 => 129,  498 => 128,  488 => 120,  486 => 118,  485 => 117,  483 => 115,  473 => 114,  463 => 113,  460 => 112,  450 => 111,  432 => 110,  419 => 199,  417 => 197,  416 => 190,  415 => 189,  412 => 188,  410 => 187,  407 => 186,  405 => 185,  401 => 183,  399 => 182,  396 => 181,  393 => 180,  390 => 179,  387 => 178,  385 => 177,  381 => 175,  378 => 174,  376 => 171,  374 => 168,  371 => 167,  369 => 166,  364 => 163,  362 => 160,  357 => 157,  355 => 156,  348 => 153,  339 => 146,  336 => 145,  333 => 144,  330 => 139,  326 => 137,  324 => 128,  320 => 126,  317 => 125,  314 => 124,  308 => 122,  305 => 121,  302 => 114,  299 => 111,  297 => 110,  290 => 106,  286 => 104,  281 => 101,  279 => 100,  274 => 97,  272 => 96,  267 => 93,  257 => 89,  253 => 88,  250 => 87,  246 => 86,  232 => 74,  230 => 73,  226 => 71,  224 => 70,  219 => 67,  212 => 65,  203 => 60,  200 => 59,  194 => 56,  190 => 55,  186 => 54,  182 => 53,  173 => 50,  171 => 49,  168 => 48,  164 => 47,  147 => 32,  142 => 29,  140 => 28,  134 => 26,  131 => 25,  128 => 24,  125 => 23,  123 => 22,  120 => 21,  118 => 20,  113 => 17,  107 => 15,  99 => 13,  97 => 12,  92 => 10,  89 => 9,  87 => 8,  84 => 7,  74 => 6,  63 => 1,  61 => 4,  48 => 1,);
  2243.     }
  2244.     public function getSourceContext()
  2245.     {
  2246.         return new Source("{% extends 'base.html.twig' %}
  2247. {# Some helpers to make this file more readable #}
  2248. {% set d = product.default_variation|default %}
  2249. {% block main %}
  2250.     <div class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 pt-header\">
  2251.         {% include 'template-parts/breadcrumb.html.twig' %}
  2252.     </div>
  2253.     <main id=\"product-{{ product.id }}\"
  2254.           x-init=\"\$nextTick(() => { initialize() })\"
  2255.             {% if d %}
  2256.                 x-data=\"window.alpineProductData({{ product | json_encode }}, {{ product['default_variation'] | json_encode }})\"
  2257.             {% else %}
  2258.                 x-data=\"window.alpineProductData({{ product | json_encode }})\"
  2259.             {% endif %}
  2260.           class=\"max-w-screen-2xl mx-auto px-5 lg:px-20\">
  2261.         <div class=\"grid grid-cols-1 lg:grid-cols-2 lg:grid-rows-[0.02fr_1fr] gap-y-6 lg:gap-x-12 lg:gap-y-4 pb-0 lg:pb-12\">
  2262.             <div class=\"swiper-container-wrapper product-gallery -ml-4 lg:ml-0 w-screen lg:w-full flex flex-col sm:flex-row-reverse flex-nowrap gap-4 lg:aspect-[677/400] lg:overflow-hidden order-2 lg:order-first\">
  2263.                 {% if product.gallery|default or product.galleryVariations|default %}
  2264.                     <div class=\"swiper group/product-page-swiper w-full lg:w-[calc(100%-100px)] relative !z-5\">
  2265.                         {% if product.discount|default %}
  2266.                             {% embed 'components/picto.html.twig' with {picto_name: '- ' ~ product.discount ~ '%'} %}{% endembed %}
  2267.                         {% endif %}
  2268.                         {% if product.video|default %}
  2269.                             <button data-modal-target=\"{{ product.video }}\"
  2270.                                     class=\"absolute top-4 right-4 z-100 flex w-max flex-row items-center gap-2 rounded-none bg-neutral-200 py-1 px-3\">
  2271.                                 {% include 'assets/youtube_icon.svg' %}
  2272.                                 <span class=\"text-sm font-bold text-black\">Ver vĂ­deo</span>
  2273.                             </button>
  2274.                         {% endif %}
  2275.                         <div class=\"swiper-wrapper\">
  2276.                             <template x-for=\"item in current?.gallery || []\">
  2277.                                 <div class=\"swiper-slide\">
  2278.                                     <template x-if=\"item.src\">
  2279.                                         <a :href=\"item.src\" :data-pswp-src=\"item.src\" :data-pswp-width=\"1024\"
  2280.                                            :data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
  2281.                                             <img class=\"w-full h-full aspect-[4/3] object-contain\"
  2282.                                                  :src=\"item.src\"
  2283.                                                  :srcset=\"item.srcset\"
  2284.                                                  :sizes=\"item.sizes\"
  2285.                                                  :alt=\"item.alt\" loading=\"lazy\">
  2286.                                         </a>
  2287.                                     </template>
  2288.                                 </div>
  2289.                             </template>
  2290.                             {% for image in product.gallery %}
  2291.                                 <div class=\"swiper-slide\">
  2292.                                     {% if image.src|default %}
  2293.                                         <a href=\"{{ image.src }}\" data-pswp-src=\"{{ image.src }}\" data-pswp-width=\"1024\"
  2294.                                            data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
  2295.                                             <img class=\"w-full h-full aspect-[4/3] object-contain\"
  2296.                                                  src=\"{{ image.src }}\"
  2297.                                                  srcset=\"{{ image.srcset }}\"
  2298.                                                  sizes=\"{{ image.sizes }}\"
  2299.                                                  alt=\"{{ image.alt }}\" loading=\"lazy\">
  2300.                                         </a>
  2301.                                     {% endif %}
  2302.                                     {% if image.youtube_id|default %}
  2303.                                         <iframe src=\"{{ image.youtube_src }}\" class=\"w-full h-full\"
  2304.                                                 width=\"640\" height=\"360\" frameborder=\"0\"
  2305.                                                 allow=\"autoplay; fullscreen; picture-in-picture\"
  2306.                                                 allowfullscreen></iframe>
  2307.                                     {% endif %}
  2308.                                 </div>
  2309.                             {% endfor %}
  2310.                         </div>
  2311.                         <div class=\"swiper-scrollbar lg:opacity-0 group-[.swiper-initialized:hover]/product-page-swiper:opacity-100 transition-opacity duration-300 ease-in-out\"></div>
  2312.                         <div class=\"swiper-button-next aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
  2313.                             {% include 'assets/swiper-next.svg' %}
  2314.                         </div>
  2315.                         <div class=\"swiper-button-prev aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
  2316.                             {% include 'assets/swiper-prev.svg' %}
  2317.                         </div>
  2318.                     </div>
  2319.                     <div class=\"swiper product-page-swiper-thumbs w-[100px] !hidden lg:!block relative\">
  2320.                         <div class=\"swiper-wrapper\">
  2321.                             <template x-for=\"item in current?.gallery || []\">
  2322.                                 <div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
  2323.                                     <template x-if=\"item.src\">
  2324.                                         <img :src=\"item.thumbnail.src\"
  2325.                                              :alt=\"item.alt\" loading=\"lazy\">
  2326.                                     </template>
  2327.                                 </div>
  2328.                             </template>
  2329.                             {% for image in product.gallery %}
  2330.                                 <div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
  2331.                                     <img src=\"{{ image.thumbnail.src }}\"
  2332.                                          alt=\"Miniatura {{ image.thumbnail.alt|default ? image.thumbnail.alt : image.alt }}\"
  2333.                                          loading=\"lazy\">
  2334.                                 </div>
  2335.                             {% endfor %}
  2336.                         </div>
  2337.                         <div class=\"swiper-button-next swiper-button-next-thumbs !top-auto !bottom-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
  2338.                              aria-disabled=\"true\">
  2339.                             {% include 'assets/swiper-next-thumbs.svg' %}
  2340.                         </div>
  2341.                         <div class=\"swiper-button-prev swiper-button-prev-thumbs !top-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
  2342.                              aria-disabled=\"true\">
  2343.                             {% include 'assets/swiper-prev-thumbs.svg' %}
  2344.                         </div>
  2345.                     </div>
  2346.                 {% endif %}
  2347.             </div>
  2348.             <div class=\"row-span-1\">
  2349.                 <h1 class=\"text-3xl lg:max-w-lg\">{{ product.name }}</h1>
  2350.             </div>
  2351.             <div class=\"lg:row-span-2 order-4\">
  2352.                 <div class=\"lg:sticky lg:top-header flex flex-col gap-y-6 z-0 sm:max-xl max-w-lg\">
  2353.                     {% block start_sticky_product %}{% endblock %}
  2354.                     {% block price_box %}
  2355.                         {% embed 'template-parts/price-box.html.twig' %}{% endembed %}
  2356.                     {% endblock %}
  2357.                     {% block info_destacada %}
  2358.                         {% embed 'components/info-destacada.html.twig' with {
  2359.                             envio: true,
  2360.                             tiempo_envio: product.attributes['pa_tiempo-de-envio'][0].name ?? '',
  2361.                             size: product.length|default or product.width|default or product.height|default
  2362.                         } only %}{% endembed %}
  2363.                     {% endblock %}
  2364.                     {% if product.short_description|default %}
  2365.                         <span class=\"order-last lg:order-none text-sm text-black prose max-w-none\">{{ product.short_description|raw }}</span>
  2366.                     {% endif %}
  2367.                     {% if product.is_in_stock|default %}
  2368.                         {% if product.variation_attributes|default %}
  2369.                             <div id=\"product-attributes\"
  2370.                                  class=\"space-y-6 bg-stone-100 xs:rounded-none p-4 w-screen -ml-4 xs:w-full xs:ml-0\">
  2371.                                 {% block product_attributes %}
  2372.                                     {% for key, attribute in product.variation_attributes %}
  2373.                                         {% embed 'components/attributes/attribute-button.html.twig' with {
  2374.                                             atributos: 'product.variation_attributes[\"' ~ key ~ '\"]',
  2375.                                             atributo: key,
  2376.                                         } only %}
  2377.                                         {% endembed %}
  2378.                                     {% endfor %}
  2379.                                 {% endblock %}
  2380.                             </div>
  2381.                         {% endif %}
  2382.                         {% block add_to_cart %}
  2383.                             {% embed 'components/add-to-cart.html.twig' with {
  2384.                                 quantity: true
  2385.                             } %}{% endembed %}
  2386.                         {% endblock %}
  2387.                         {% block after_add_to_cart %}{% endblock %}
  2388.                     {% else %}
  2389.                         <div class=\"flex flex-row items-center gap-3 mt-6\">
  2390.                             <button id=\"addToCart\"
  2391.                                     class=\"no-stock w-full flex flex-row justify-center items-center gap-3 rounded-none bg-black p-3 text-white text-center\">
  2392.                                 <span>Producto agotado</span>
  2393.                             </button>
  2394.                         </div>
  2395.                     {% endif %}
  2396.                     <a href=\"{{ path('whatsapp_link', {'link': app.request.pathInfo}) }}\" target=\"_blank\"
  2397.                        rel=\"nofollow\" class=\"[&_svg]:max-w-40
  2398.                         [&_svg]:max-h-40 [&_svg]:w-full [&_svg]:h-auto [&_svg]:object-contain\">
  2399.                         {% include 'assets/whatsapp-herramientasparaalicatador.svg' %}
  2400.                     </a>
  2401.                 </div>
  2402.                 {% block price_nav_fixed %}
  2403.                     {% embed 'template-parts/price-nav-fixed.html.twig' %}{% endembed %}
  2404.                 {% endblock %}
  2405.             </div>
  2406.             <div class=\"order-last lg:order-3 mt-0 lg:mt-[400px] mb-8\">
  2407.                 {% block before_accordion %}{% endblock %}
  2408.                 {% if product.accordion|default %}
  2409.                     {% embed 'components/accordion.html.twig' with {
  2410.                         id: 'accordion_product',
  2411.                         accordion: 'collapse',
  2412.                         items: product.accordion
  2413.                     } %}
  2414.                     {% endembed %}
  2415.                 {% endif %}
  2416.             </div>
  2417.             {% if product.video|default %}
  2418.                 {% embed 'components/modal.html.twig' with {id: product.video, modal_button_class: 'hidden', youtube_id: product.video, modal_zIndex: 'z-[1000001]'} %}{% endembed %}
  2419.             {% endif %}
  2420.             {% block modales_producto %}{% endblock %}
  2421.         </div>
  2422.         {% block informacion_adicional_producto %}{% endblock %}
  2423.     </main>
  2424.     {% block after_main %}{% endblock %}
  2425.     {% if product.upsell_ids|default %}
  2426.         <section class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 flex flex-col gap-8\">
  2427.             {{ render_block('listadoproductos', {
  2428.                 titulo: product.tituloProductosRelacionados ?? 'Productos relacionados' ,
  2429.                 alineacion: 'start',
  2430.                 categorias_productos: false,
  2431.                 etiquetas_productos: false,
  2432.                 numero_productos: '-1',
  2433.                 boton: '',
  2434.                 slider_grid: 'slider',
  2435.                 productos: product.upsell_ids,
  2436.                 id: 'relacionados',
  2437.             }) }}
  2438.         </section>
  2439.     {% endif %}
  2440. {% endblock %}
  2441. {% block footer %}
  2442.     {% include 'footer.html.twig' %}
  2443.     <div class=\"pb-44 lg:pb-16\"></div>
  2444.     <style>
  2445.         #whatsapp {
  2446.             margin-bottom: 5rem;
  2447.         }
  2448.     </style>
  2449.     {{ wp_footer() }}
  2450. {% endblock footer %}
  2451. {% block json_schema %}
  2452.     {{ json_schema|raw }}
  2453. {% endblock %}""product.html.twig""/srv/app/templates/product.html.twig");
  2454.     }
  2455. }
  2456. /* product.html.twig */
  2457. class __TwigTemplate_92806ffe18a545913b4088f56e0ad847___85078136 extends Template
  2458. {
  2459.     private $source;
  2460.     private $macros = [];
  2461.     public function __construct(Environment $env)
  2462.     {
  2463.         parent::__construct($env);
  2464.         $this->source $this->getSourceContext();
  2465.         $this->blocks = [
  2466.         ];
  2467.     }
  2468.     protected function doGetParent(array $context)
  2469.     {
  2470.         // line 168
  2471.         return "components/accordion.html.twig";
  2472.     }
  2473.     protected function doDisplay(array $context, array $blocks = [])
  2474.     {
  2475.         $macros $this->macros;
  2476.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  2477.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""product.html.twig"));
  2478.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  2479.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""product.html.twig"));
  2480.         $this->parent $this->loadTemplate("components/accordion.html.twig""product.html.twig"168);
  2481.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  2482.         
  2483.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  2484.         
  2485.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  2486.     }
  2487.     /**
  2488.      * @codeCoverageIgnore
  2489.      */
  2490.     public function getTemplateName()
  2491.     {
  2492.         return "product.html.twig";
  2493.     }
  2494.     /**
  2495.      * @codeCoverageIgnore
  2496.      */
  2497.     public function isTraitable()
  2498.     {
  2499.         return false;
  2500.     }
  2501.     /**
  2502.      * @codeCoverageIgnore
  2503.      */
  2504.     public function getDebugInfo()
  2505.     {
  2506.         return array (  2719 => 168,  2431 => 161,  2143 => 140,  1855 => 130,  1567 => 115,  1279 => 112,  991 => 23,  713 => 216,  703 => 215,  691 => 212,  683 => 206,  680 => 205,  670 => 204,  652 => 185,  634 => 182,  616 => 180,  598 => 166,  588 => 162,  585 => 161,  575 => 160,  557 => 144,  547 => 143,  544 => 140,  534 => 139,  524 => 136,  518 => 135,  516 => 132,  515 => 131,  513 => 130,  508 => 129,  498 => 128,  488 => 120,  486 => 118,  485 => 117,  483 => 115,  473 => 114,  463 => 113,  460 => 112,  450 => 111,  432 => 110,  419 => 199,  417 => 197,  416 => 190,  415 => 189,  412 => 188,  410 => 187,  407 => 186,  405 => 185,  401 => 183,  399 => 182,  396 => 181,  393 => 180,  390 => 179,  387 => 178,  385 => 177,  381 => 175,  378 => 174,  376 => 171,  374 => 168,  371 => 167,  369 => 166,  364 => 163,  362 => 160,  357 => 157,  355 => 156,  348 => 153,  339 => 146,  336 => 145,  333 => 144,  330 => 139,  326 => 137,  324 => 128,  320 => 126,  317 => 125,  314 => 124,  308 => 122,  305 => 121,  302 => 114,  299 => 111,  297 => 110,  290 => 106,  286 => 104,  281 => 101,  279 => 100,  274 => 97,  272 => 96,  267 => 93,  257 => 89,  253 => 88,  250 => 87,  246 => 86,  232 => 74,  230 => 73,  226 => 71,  224 => 70,  219 => 67,  212 => 65,  203 => 60,  200 => 59,  194 => 56,  190 => 55,  186 => 54,  182 => 53,  173 => 50,  171 => 49,  168 => 48,  164 => 47,  147 => 32,  142 => 29,  140 => 28,  134 => 26,  131 => 25,  128 => 24,  125 => 23,  123 => 22,  120 => 21,  118 => 20,  113 => 17,  107 => 15,  99 => 13,  97 => 12,  92 => 10,  89 => 9,  87 => 8,  84 => 7,  74 => 6,  63 => 1,  61 => 4,  48 => 1,);
  2507.     }
  2508.     public function getSourceContext()
  2509.     {
  2510.         return new Source("{% extends 'base.html.twig' %}
  2511. {# Some helpers to make this file more readable #}
  2512. {% set d = product.default_variation|default %}
  2513. {% block main %}
  2514.     <div class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 pt-header\">
  2515.         {% include 'template-parts/breadcrumb.html.twig' %}
  2516.     </div>
  2517.     <main id=\"product-{{ product.id }}\"
  2518.           x-init=\"\$nextTick(() => { initialize() })\"
  2519.             {% if d %}
  2520.                 x-data=\"window.alpineProductData({{ product | json_encode }}, {{ product['default_variation'] | json_encode }})\"
  2521.             {% else %}
  2522.                 x-data=\"window.alpineProductData({{ product | json_encode }})\"
  2523.             {% endif %}
  2524.           class=\"max-w-screen-2xl mx-auto px-5 lg:px-20\">
  2525.         <div class=\"grid grid-cols-1 lg:grid-cols-2 lg:grid-rows-[0.02fr_1fr] gap-y-6 lg:gap-x-12 lg:gap-y-4 pb-0 lg:pb-12\">
  2526.             <div class=\"swiper-container-wrapper product-gallery -ml-4 lg:ml-0 w-screen lg:w-full flex flex-col sm:flex-row-reverse flex-nowrap gap-4 lg:aspect-[677/400] lg:overflow-hidden order-2 lg:order-first\">
  2527.                 {% if product.gallery|default or product.galleryVariations|default %}
  2528.                     <div class=\"swiper group/product-page-swiper w-full lg:w-[calc(100%-100px)] relative !z-5\">
  2529.                         {% if product.discount|default %}
  2530.                             {% embed 'components/picto.html.twig' with {picto_name: '- ' ~ product.discount ~ '%'} %}{% endembed %}
  2531.                         {% endif %}
  2532.                         {% if product.video|default %}
  2533.                             <button data-modal-target=\"{{ product.video }}\"
  2534.                                     class=\"absolute top-4 right-4 z-100 flex w-max flex-row items-center gap-2 rounded-none bg-neutral-200 py-1 px-3\">
  2535.                                 {% include 'assets/youtube_icon.svg' %}
  2536.                                 <span class=\"text-sm font-bold text-black\">Ver vĂ­deo</span>
  2537.                             </button>
  2538.                         {% endif %}
  2539.                         <div class=\"swiper-wrapper\">
  2540.                             <template x-for=\"item in current?.gallery || []\">
  2541.                                 <div class=\"swiper-slide\">
  2542.                                     <template x-if=\"item.src\">
  2543.                                         <a :href=\"item.src\" :data-pswp-src=\"item.src\" :data-pswp-width=\"1024\"
  2544.                                            :data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
  2545.                                             <img class=\"w-full h-full aspect-[4/3] object-contain\"
  2546.                                                  :src=\"item.src\"
  2547.                                                  :srcset=\"item.srcset\"
  2548.                                                  :sizes=\"item.sizes\"
  2549.                                                  :alt=\"item.alt\" loading=\"lazy\">
  2550.                                         </a>
  2551.                                     </template>
  2552.                                 </div>
  2553.                             </template>
  2554.                             {% for image in product.gallery %}
  2555.                                 <div class=\"swiper-slide\">
  2556.                                     {% if image.src|default %}
  2557.                                         <a href=\"{{ image.src }}\" data-pswp-src=\"{{ image.src }}\" data-pswp-width=\"1024\"
  2558.                                            data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
  2559.                                             <img class=\"w-full h-full aspect-[4/3] object-contain\"
  2560.                                                  src=\"{{ image.src }}\"
  2561.                                                  srcset=\"{{ image.srcset }}\"
  2562.                                                  sizes=\"{{ image.sizes }}\"
  2563.                                                  alt=\"{{ image.alt }}\" loading=\"lazy\">
  2564.                                         </a>
  2565.                                     {% endif %}
  2566.                                     {% if image.youtube_id|default %}
  2567.                                         <iframe src=\"{{ image.youtube_src }}\" class=\"w-full h-full\"
  2568.                                                 width=\"640\" height=\"360\" frameborder=\"0\"
  2569.                                                 allow=\"autoplay; fullscreen; picture-in-picture\"
  2570.                                                 allowfullscreen></iframe>
  2571.                                     {% endif %}
  2572.                                 </div>
  2573.                             {% endfor %}
  2574.                         </div>
  2575.                         <div class=\"swiper-scrollbar lg:opacity-0 group-[.swiper-initialized:hover]/product-page-swiper:opacity-100 transition-opacity duration-300 ease-in-out\"></div>
  2576.                         <div class=\"swiper-button-next aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
  2577.                             {% include 'assets/swiper-next.svg' %}
  2578.                         </div>
  2579.                         <div class=\"swiper-button-prev aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
  2580.                             {% include 'assets/swiper-prev.svg' %}
  2581.                         </div>
  2582.                     </div>
  2583.                     <div class=\"swiper product-page-swiper-thumbs w-[100px] !hidden lg:!block relative\">
  2584.                         <div class=\"swiper-wrapper\">
  2585.                             <template x-for=\"item in current?.gallery || []\">
  2586.                                 <div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
  2587.                                     <template x-if=\"item.src\">
  2588.                                         <img :src=\"item.thumbnail.src\"
  2589.                                              :alt=\"item.alt\" loading=\"lazy\">
  2590.                                     </template>
  2591.                                 </div>
  2592.                             </template>
  2593.                             {% for image in product.gallery %}
  2594.                                 <div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
  2595.                                     <img src=\"{{ image.thumbnail.src }}\"
  2596.                                          alt=\"Miniatura {{ image.thumbnail.alt|default ? image.thumbnail.alt : image.alt }}\"
  2597.                                          loading=\"lazy\">
  2598.                                 </div>
  2599.                             {% endfor %}
  2600.                         </div>
  2601.                         <div class=\"swiper-button-next swiper-button-next-thumbs !top-auto !bottom-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
  2602.                              aria-disabled=\"true\">
  2603.                             {% include 'assets/swiper-next-thumbs.svg' %}
  2604.                         </div>
  2605.                         <div class=\"swiper-button-prev swiper-button-prev-thumbs !top-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
  2606.                              aria-disabled=\"true\">
  2607.                             {% include 'assets/swiper-prev-thumbs.svg' %}
  2608.                         </div>
  2609.                     </div>
  2610.                 {% endif %}
  2611.             </div>
  2612.             <div class=\"row-span-1\">
  2613.                 <h1 class=\"text-3xl lg:max-w-lg\">{{ product.name }}</h1>
  2614.             </div>
  2615.             <div class=\"lg:row-span-2 order-4\">
  2616.                 <div class=\"lg:sticky lg:top-header flex flex-col gap-y-6 z-0 sm:max-xl max-w-lg\">
  2617.                     {% block start_sticky_product %}{% endblock %}
  2618.                     {% block price_box %}
  2619.                         {% embed 'template-parts/price-box.html.twig' %}{% endembed %}
  2620.                     {% endblock %}
  2621.                     {% block info_destacada %}
  2622.                         {% embed 'components/info-destacada.html.twig' with {
  2623.                             envio: true,
  2624.                             tiempo_envio: product.attributes['pa_tiempo-de-envio'][0].name ?? '',
  2625.                             size: product.length|default or product.width|default or product.height|default
  2626.                         } only %}{% endembed %}
  2627.                     {% endblock %}
  2628.                     {% if product.short_description|default %}
  2629.                         <span class=\"order-last lg:order-none text-sm text-black prose max-w-none\">{{ product.short_description|raw }}</span>
  2630.                     {% endif %}
  2631.                     {% if product.is_in_stock|default %}
  2632.                         {% if product.variation_attributes|default %}
  2633.                             <div id=\"product-attributes\"
  2634.                                  class=\"space-y-6 bg-stone-100 xs:rounded-none p-4 w-screen -ml-4 xs:w-full xs:ml-0\">
  2635.                                 {% block product_attributes %}
  2636.                                     {% for key, attribute in product.variation_attributes %}
  2637.                                         {% embed 'components/attributes/attribute-button.html.twig' with {
  2638.                                             atributos: 'product.variation_attributes[\"' ~ key ~ '\"]',
  2639.                                             atributo: key,
  2640.                                         } only %}
  2641.                                         {% endembed %}
  2642.                                     {% endfor %}
  2643.                                 {% endblock %}
  2644.                             </div>
  2645.                         {% endif %}
  2646.                         {% block add_to_cart %}
  2647.                             {% embed 'components/add-to-cart.html.twig' with {
  2648.                                 quantity: true
  2649.                             } %}{% endembed %}
  2650.                         {% endblock %}
  2651.                         {% block after_add_to_cart %}{% endblock %}
  2652.                     {% else %}
  2653.                         <div class=\"flex flex-row items-center gap-3 mt-6\">
  2654.                             <button id=\"addToCart\"
  2655.                                     class=\"no-stock w-full flex flex-row justify-center items-center gap-3 rounded-none bg-black p-3 text-white text-center\">
  2656.                                 <span>Producto agotado</span>
  2657.                             </button>
  2658.                         </div>
  2659.                     {% endif %}
  2660.                     <a href=\"{{ path('whatsapp_link', {'link': app.request.pathInfo}) }}\" target=\"_blank\"
  2661.                        rel=\"nofollow\" class=\"[&_svg]:max-w-40
  2662.                         [&_svg]:max-h-40 [&_svg]:w-full [&_svg]:h-auto [&_svg]:object-contain\">
  2663.                         {% include 'assets/whatsapp-herramientasparaalicatador.svg' %}
  2664.                     </a>
  2665.                 </div>
  2666.                 {% block price_nav_fixed %}
  2667.                     {% embed 'template-parts/price-nav-fixed.html.twig' %}{% endembed %}
  2668.                 {% endblock %}
  2669.             </div>
  2670.             <div class=\"order-last lg:order-3 mt-0 lg:mt-[400px] mb-8\">
  2671.                 {% block before_accordion %}{% endblock %}
  2672.                 {% if product.accordion|default %}
  2673.                     {% embed 'components/accordion.html.twig' with {
  2674.                         id: 'accordion_product',
  2675.                         accordion: 'collapse',
  2676.                         items: product.accordion
  2677.                     } %}
  2678.                     {% endembed %}
  2679.                 {% endif %}
  2680.             </div>
  2681.             {% if product.video|default %}
  2682.                 {% embed 'components/modal.html.twig' with {id: product.video, modal_button_class: 'hidden', youtube_id: product.video, modal_zIndex: 'z-[1000001]'} %}{% endembed %}
  2683.             {% endif %}
  2684.             {% block modales_producto %}{% endblock %}
  2685.         </div>
  2686.         {% block informacion_adicional_producto %}{% endblock %}
  2687.     </main>
  2688.     {% block after_main %}{% endblock %}
  2689.     {% if product.upsell_ids|default %}
  2690.         <section class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 flex flex-col gap-8\">
  2691.             {{ render_block('listadoproductos', {
  2692.                 titulo: product.tituloProductosRelacionados ?? 'Productos relacionados' ,
  2693.                 alineacion: 'start',
  2694.                 categorias_productos: false,
  2695.                 etiquetas_productos: false,
  2696.                 numero_productos: '-1',
  2697.                 boton: '',
  2698.                 slider_grid: 'slider',
  2699.                 productos: product.upsell_ids,
  2700.                 id: 'relacionados',
  2701.             }) }}
  2702.         </section>
  2703.     {% endif %}
  2704. {% endblock %}
  2705. {% block footer %}
  2706.     {% include 'footer.html.twig' %}
  2707.     <div class=\"pb-44 lg:pb-16\"></div>
  2708.     <style>
  2709.         #whatsapp {
  2710.             margin-bottom: 5rem;
  2711.         }
  2712.     </style>
  2713.     {{ wp_footer() }}
  2714. {% endblock footer %}
  2715. {% block json_schema %}
  2716.     {{ json_schema|raw }}
  2717. {% endblock %}""product.html.twig""/srv/app/templates/product.html.twig");
  2718.     }
  2719. }
  2720. /* product.html.twig */
  2721. class __TwigTemplate_92806ffe18a545913b4088f56e0ad847___458667039 extends Template
  2722. {
  2723.     private $source;
  2724.     private $macros = [];
  2725.     public function __construct(Environment $env)
  2726.     {
  2727.         parent::__construct($env);
  2728.         $this->source $this->getSourceContext();
  2729.         $this->blocks = [
  2730.         ];
  2731.     }
  2732.     protected function doGetParent(array $context)
  2733.     {
  2734.         // line 178
  2735.         return "components/modal.html.twig";
  2736.     }
  2737.     protected function doDisplay(array $context, array $blocks = [])
  2738.     {
  2739.         $macros $this->macros;
  2740.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  2741.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""product.html.twig"));
  2742.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  2743.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""product.html.twig"));
  2744.         $this->parent $this->loadTemplate("components/modal.html.twig""product.html.twig"178);
  2745.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  2746.         
  2747.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  2748.         
  2749.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  2750.     }
  2751.     /**
  2752.      * @codeCoverageIgnore
  2753.      */
  2754.     public function getTemplateName()
  2755.     {
  2756.         return "product.html.twig";
  2757.     }
  2758.     /**
  2759.      * @codeCoverageIgnore
  2760.      */
  2761.     public function isTraitable()
  2762.     {
  2763.         return false;
  2764.     }
  2765.     /**
  2766.      * @codeCoverageIgnore
  2767.      */
  2768.     public function getDebugInfo()
  2769.     {
  2770.         return array (  3007 => 178,  2719 => 168,  2431 => 161,  2143 => 140,  1855 => 130,  1567 => 115,  1279 => 112,  991 => 23,  713 => 216,  703 => 215,  691 => 212,  683 => 206,  680 => 205,  670 => 204,  652 => 185,  634 => 182,  616 => 180,  598 => 166,  588 => 162,  585 => 161,  575 => 160,  557 => 144,  547 => 143,  544 => 140,  534 => 139,  524 => 136,  518 => 135,  516 => 132,  515 => 131,  513 => 130,  508 => 129,  498 => 128,  488 => 120,  486 => 118,  485 => 117,  483 => 115,  473 => 114,  463 => 113,  460 => 112,  450 => 111,  432 => 110,  419 => 199,  417 => 197,  416 => 190,  415 => 189,  412 => 188,  410 => 187,  407 => 186,  405 => 185,  401 => 183,  399 => 182,  396 => 181,  393 => 180,  390 => 179,  387 => 178,  385 => 177,  381 => 175,  378 => 174,  376 => 171,  374 => 168,  371 => 167,  369 => 166,  364 => 163,  362 => 160,  357 => 157,  355 => 156,  348 => 153,  339 => 146,  336 => 145,  333 => 144,  330 => 139,  326 => 137,  324 => 128,  320 => 126,  317 => 125,  314 => 124,  308 => 122,  305 => 121,  302 => 114,  299 => 111,  297 => 110,  290 => 106,  286 => 104,  281 => 101,  279 => 100,  274 => 97,  272 => 96,  267 => 93,  257 => 89,  253 => 88,  250 => 87,  246 => 86,  232 => 74,  230 => 73,  226 => 71,  224 => 70,  219 => 67,  212 => 65,  203 => 60,  200 => 59,  194 => 56,  190 => 55,  186 => 54,  182 => 53,  173 => 50,  171 => 49,  168 => 48,  164 => 47,  147 => 32,  142 => 29,  140 => 28,  134 => 26,  131 => 25,  128 => 24,  125 => 23,  123 => 22,  120 => 21,  118 => 20,  113 => 17,  107 => 15,  99 => 13,  97 => 12,  92 => 10,  89 => 9,  87 => 8,  84 => 7,  74 => 6,  63 => 1,  61 => 4,  48 => 1,);
  2771.     }
  2772.     public function getSourceContext()
  2773.     {
  2774.         return new Source("{% extends 'base.html.twig' %}
  2775. {# Some helpers to make this file more readable #}
  2776. {% set d = product.default_variation|default %}
  2777. {% block main %}
  2778.     <div class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 pt-header\">
  2779.         {% include 'template-parts/breadcrumb.html.twig' %}
  2780.     </div>
  2781.     <main id=\"product-{{ product.id }}\"
  2782.           x-init=\"\$nextTick(() => { initialize() })\"
  2783.             {% if d %}
  2784.                 x-data=\"window.alpineProductData({{ product | json_encode }}, {{ product['default_variation'] | json_encode }})\"
  2785.             {% else %}
  2786.                 x-data=\"window.alpineProductData({{ product | json_encode }})\"
  2787.             {% endif %}
  2788.           class=\"max-w-screen-2xl mx-auto px-5 lg:px-20\">
  2789.         <div class=\"grid grid-cols-1 lg:grid-cols-2 lg:grid-rows-[0.02fr_1fr] gap-y-6 lg:gap-x-12 lg:gap-y-4 pb-0 lg:pb-12\">
  2790.             <div class=\"swiper-container-wrapper product-gallery -ml-4 lg:ml-0 w-screen lg:w-full flex flex-col sm:flex-row-reverse flex-nowrap gap-4 lg:aspect-[677/400] lg:overflow-hidden order-2 lg:order-first\">
  2791.                 {% if product.gallery|default or product.galleryVariations|default %}
  2792.                     <div class=\"swiper group/product-page-swiper w-full lg:w-[calc(100%-100px)] relative !z-5\">
  2793.                         {% if product.discount|default %}
  2794.                             {% embed 'components/picto.html.twig' with {picto_name: '- ' ~ product.discount ~ '%'} %}{% endembed %}
  2795.                         {% endif %}
  2796.                         {% if product.video|default %}
  2797.                             <button data-modal-target=\"{{ product.video }}\"
  2798.                                     class=\"absolute top-4 right-4 z-100 flex w-max flex-row items-center gap-2 rounded-none bg-neutral-200 py-1 px-3\">
  2799.                                 {% include 'assets/youtube_icon.svg' %}
  2800.                                 <span class=\"text-sm font-bold text-black\">Ver vĂ­deo</span>
  2801.                             </button>
  2802.                         {% endif %}
  2803.                         <div class=\"swiper-wrapper\">
  2804.                             <template x-for=\"item in current?.gallery || []\">
  2805.                                 <div class=\"swiper-slide\">
  2806.                                     <template x-if=\"item.src\">
  2807.                                         <a :href=\"item.src\" :data-pswp-src=\"item.src\" :data-pswp-width=\"1024\"
  2808.                                            :data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
  2809.                                             <img class=\"w-full h-full aspect-[4/3] object-contain\"
  2810.                                                  :src=\"item.src\"
  2811.                                                  :srcset=\"item.srcset\"
  2812.                                                  :sizes=\"item.sizes\"
  2813.                                                  :alt=\"item.alt\" loading=\"lazy\">
  2814.                                         </a>
  2815.                                     </template>
  2816.                                 </div>
  2817.                             </template>
  2818.                             {% for image in product.gallery %}
  2819.                                 <div class=\"swiper-slide\">
  2820.                                     {% if image.src|default %}
  2821.                                         <a href=\"{{ image.src }}\" data-pswp-src=\"{{ image.src }}\" data-pswp-width=\"1024\"
  2822.                                            data-pswp-height=\"1024\" class=\"cursor-zoom-in\" rel=\"noreferrer\">
  2823.                                             <img class=\"w-full h-full aspect-[4/3] object-contain\"
  2824.                                                  src=\"{{ image.src }}\"
  2825.                                                  srcset=\"{{ image.srcset }}\"
  2826.                                                  sizes=\"{{ image.sizes }}\"
  2827.                                                  alt=\"{{ image.alt }}\" loading=\"lazy\">
  2828.                                         </a>
  2829.                                     {% endif %}
  2830.                                     {% if image.youtube_id|default %}
  2831.                                         <iframe src=\"{{ image.youtube_src }}\" class=\"w-full h-full\"
  2832.                                                 width=\"640\" height=\"360\" frameborder=\"0\"
  2833.                                                 allow=\"autoplay; fullscreen; picture-in-picture\"
  2834.                                                 allowfullscreen></iframe>
  2835.                                     {% endif %}
  2836.                                 </div>
  2837.                             {% endfor %}
  2838.                         </div>
  2839.                         <div class=\"swiper-scrollbar lg:opacity-0 group-[.swiper-initialized:hover]/product-page-swiper:opacity-100 transition-opacity duration-300 ease-in-out\"></div>
  2840.                         <div class=\"swiper-button-next aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
  2841.                             {% include 'assets/swiper-next.svg' %}
  2842.                         </div>
  2843.                         <div class=\"swiper-button-prev aria-disabled:hidden after:hidden\" aria-disabled=\"true\">
  2844.                             {% include 'assets/swiper-prev.svg' %}
  2845.                         </div>
  2846.                     </div>
  2847.                     <div class=\"swiper product-page-swiper-thumbs w-[100px] !hidden lg:!block relative\">
  2848.                         <div class=\"swiper-wrapper\">
  2849.                             <template x-for=\"item in current?.gallery || []\">
  2850.                                 <div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
  2851.                                     <template x-if=\"item.src\">
  2852.                                         <img :src=\"item.thumbnail.src\"
  2853.                                              :alt=\"item.alt\" loading=\"lazy\">
  2854.                                     </template>
  2855.                                 </div>
  2856.                             </template>
  2857.                             {% for image in product.gallery %}
  2858.                                 <div class=\"swiper-slide !h-auto cursor-pointer last:!mb-0\">
  2859.                                     <img src=\"{{ image.thumbnail.src }}\"
  2860.                                          alt=\"Miniatura {{ image.thumbnail.alt|default ? image.thumbnail.alt : image.alt }}\"
  2861.                                          loading=\"lazy\">
  2862.                                 </div>
  2863.                             {% endfor %}
  2864.                         </div>
  2865.                         <div class=\"swiper-button-next swiper-button-next-thumbs !top-auto !bottom-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
  2866.                              aria-disabled=\"true\">
  2867.                             {% include 'assets/swiper-next-thumbs.svg' %}
  2868.                         </div>
  2869.                         <div class=\"swiper-button-prev swiper-button-prev-thumbs !top-0 !left-0 !right-0 !mt-0 m-auto aria-disabled:hidden after:hidden\"
  2870.                              aria-disabled=\"true\">
  2871.                             {% include 'assets/swiper-prev-thumbs.svg' %}
  2872.                         </div>
  2873.                     </div>
  2874.                 {% endif %}
  2875.             </div>
  2876.             <div class=\"row-span-1\">
  2877.                 <h1 class=\"text-3xl lg:max-w-lg\">{{ product.name }}</h1>
  2878.             </div>
  2879.             <div class=\"lg:row-span-2 order-4\">
  2880.                 <div class=\"lg:sticky lg:top-header flex flex-col gap-y-6 z-0 sm:max-xl max-w-lg\">
  2881.                     {% block start_sticky_product %}{% endblock %}
  2882.                     {% block price_box %}
  2883.                         {% embed 'template-parts/price-box.html.twig' %}{% endembed %}
  2884.                     {% endblock %}
  2885.                     {% block info_destacada %}
  2886.                         {% embed 'components/info-destacada.html.twig' with {
  2887.                             envio: true,
  2888.                             tiempo_envio: product.attributes['pa_tiempo-de-envio'][0].name ?? '',
  2889.                             size: product.length|default or product.width|default or product.height|default
  2890.                         } only %}{% endembed %}
  2891.                     {% endblock %}
  2892.                     {% if product.short_description|default %}
  2893.                         <span class=\"order-last lg:order-none text-sm text-black prose max-w-none\">{{ product.short_description|raw }}</span>
  2894.                     {% endif %}
  2895.                     {% if product.is_in_stock|default %}
  2896.                         {% if product.variation_attributes|default %}
  2897.                             <div id=\"product-attributes\"
  2898.                                  class=\"space-y-6 bg-stone-100 xs:rounded-none p-4 w-screen -ml-4 xs:w-full xs:ml-0\">
  2899.                                 {% block product_attributes %}
  2900.                                     {% for key, attribute in product.variation_attributes %}
  2901.                                         {% embed 'components/attributes/attribute-button.html.twig' with {
  2902.                                             atributos: 'product.variation_attributes[\"' ~ key ~ '\"]',
  2903.                                             atributo: key,
  2904.                                         } only %}
  2905.                                         {% endembed %}
  2906.                                     {% endfor %}
  2907.                                 {% endblock %}
  2908.                             </div>
  2909.                         {% endif %}
  2910.                         {% block add_to_cart %}
  2911.                             {% embed 'components/add-to-cart.html.twig' with {
  2912.                                 quantity: true
  2913.                             } %}{% endembed %}
  2914.                         {% endblock %}
  2915.                         {% block after_add_to_cart %}{% endblock %}
  2916.                     {% else %}
  2917.                         <div class=\"flex flex-row items-center gap-3 mt-6\">
  2918.                             <button id=\"addToCart\"
  2919.                                     class=\"no-stock w-full flex flex-row justify-center items-center gap-3 rounded-none bg-black p-3 text-white text-center\">
  2920.                                 <span>Producto agotado</span>
  2921.                             </button>
  2922.                         </div>
  2923.                     {% endif %}
  2924.                     <a href=\"{{ path('whatsapp_link', {'link': app.request.pathInfo}) }}\" target=\"_blank\"
  2925.                        rel=\"nofollow\" class=\"[&_svg]:max-w-40
  2926.                         [&_svg]:max-h-40 [&_svg]:w-full [&_svg]:h-auto [&_svg]:object-contain\">
  2927.                         {% include 'assets/whatsapp-herramientasparaalicatador.svg' %}
  2928.                     </a>
  2929.                 </div>
  2930.                 {% block price_nav_fixed %}
  2931.                     {% embed 'template-parts/price-nav-fixed.html.twig' %}{% endembed %}
  2932.                 {% endblock %}
  2933.             </div>
  2934.             <div class=\"order-last lg:order-3 mt-0 lg:mt-[400px] mb-8\">
  2935.                 {% block before_accordion %}{% endblock %}
  2936.                 {% if product.accordion|default %}
  2937.                     {% embed 'components/accordion.html.twig' with {
  2938.                         id: 'accordion_product',
  2939.                         accordion: 'collapse',
  2940.                         items: product.accordion
  2941.                     } %}
  2942.                     {% endembed %}
  2943.                 {% endif %}
  2944.             </div>
  2945.             {% if product.video|default %}
  2946.                 {% embed 'components/modal.html.twig' with {id: product.video, modal_button_class: 'hidden', youtube_id: product.video, modal_zIndex: 'z-[1000001]'} %}{% endembed %}
  2947.             {% endif %}
  2948.             {% block modales_producto %}{% endblock %}
  2949.         </div>
  2950.         {% block informacion_adicional_producto %}{% endblock %}
  2951.     </main>
  2952.     {% block after_main %}{% endblock %}
  2953.     {% if product.upsell_ids|default %}
  2954.         <section class=\"max-w-screen-2xl mx-auto px-5 lg:px-20 flex flex-col gap-8\">
  2955.             {{ render_block('listadoproductos', {
  2956.                 titulo: product.tituloProductosRelacionados ?? 'Productos relacionados' ,
  2957.                 alineacion: 'start',
  2958.                 categorias_productos: false,
  2959.                 etiquetas_productos: false,
  2960.                 numero_productos: '-1',
  2961.                 boton: '',
  2962.                 slider_grid: 'slider',
  2963.                 productos: product.upsell_ids,
  2964.                 id: 'relacionados',
  2965.             }) }}
  2966.         </section>
  2967.     {% endif %}
  2968. {% endblock %}
  2969. {% block footer %}
  2970.     {% include 'footer.html.twig' %}
  2971.     <div class=\"pb-44 lg:pb-16\"></div>
  2972.     <style>
  2973.         #whatsapp {
  2974.             margin-bottom: 5rem;
  2975.         }
  2976.     </style>
  2977.     {{ wp_footer() }}
  2978. {% endblock footer %}
  2979. {% block json_schema %}
  2980.     {{ json_schema|raw }}
  2981. {% endblock %}""product.html.twig""/srv/app/templates/product.html.twig");
  2982.     }
  2983. }