{"product_id":"guadalajara","title":"⭐LA GRANJA en GUADALAJARA⭐","description":"\u003cdiv class=\"evento-box\"\u003e\n  \u003cdiv class=\"stars\"\u003e\u003c\/div\u003e\n\n  \u003c!-- BOTÓN MAPA DEL TEATRO ARRIBA --\u003e\n  \u003cdetails class=\"mapa-toggle-box\"\u003e\n    \u003csummary class=\"mapa-toggle-btn\"\u003e🗺️ Ver mapa del teatro\u003c\/summary\u003e\n\n    \u003cdiv class=\"mapa-preview-guadalajara\"\u003e\n      \u003cdiv class=\"mapa-ciudad\"\u003eGUADALAJARA · JALISCO\u003c\/div\u003e\n\n      \u003cdiv class=\"mapa-scroll\"\u003e\n        \u003cdiv class=\"mapa-inner-guadalajara\"\u003e\n\n          \u003cdiv class=\"gj-stage\"\u003eESCENARIO\u003c\/div\u003e\n\n          \u003cdiv class=\"gj-card\"\u003e\n            \u003cdiv class=\"gj-title\"\u003eMapa de Asientos - Guadalajara\u003c\/div\u003e\n\n            \u003cdiv class=\"gj-layout\"\u003e\n\n              \u003c!-- VIP + MEET \u0026 GREET --\u003e\n              \u003cdiv class=\"gj-sector\"\u003e\n                \u003cdiv class=\"gj-sector-title gj-meet-title\"\u003e\n                  ⭐ VIP + MEET \u0026amp; GREET\n                \u003c\/div\u003e\n\n                \u003cdiv class=\"gj-grid\"\u003e\n                  \u003cdiv class=\"gj-seat-block gj-left-block\"\u003e\n                    \u003cdiv class=\"gj-block-name gj-left-name\"\u003eIzquierda\u003c\/div\u003e\n                    \u003cdiv class=\"gj-vip-side-spacer\"\u003e\u003c\/div\u003e\n                    \u003cdiv id=\"vip-left-guadalajara\"\u003e\u003c\/div\u003e\n                  \u003c\/div\u003e\n\n                  \u003cdiv class=\"gj-seat-block gj-middle-block\"\u003e\n                    \u003cdiv class=\"gj-block-name gj-middle-name\"\u003eMedio\u003c\/div\u003e\n                    \u003cdiv id=\"vip-middle-guadalajara\"\u003e\u003c\/div\u003e\n                  \u003c\/div\u003e\n\n                  \u003cdiv class=\"gj-seat-block gj-right-block\"\u003e\n                    \u003cdiv class=\"gj-block-name gj-right-name\"\u003eDerecha\u003c\/div\u003e\n                    \u003cdiv class=\"gj-vip-side-spacer\"\u003e\u003c\/div\u003e\n                    \u003cdiv id=\"vip-right-guadalajara\"\u003e\u003c\/div\u003e\n                  \u003c\/div\u003e\n                \u003c\/div\u003e\n              \u003c\/div\u003e\n\n              \u003c!-- PREFERENTE --\u003e\n              \u003cdiv class=\"gj-sector\"\u003e\n                \u003cdiv class=\"gj-sector-title gj-pref-title\"\u003e\n                  ❤️ PREFERENTE\n                \u003c\/div\u003e\n\n                \u003cdiv class=\"gj-grid\"\u003e\n                  \u003cdiv class=\"gj-seat-block gj-left-block\"\u003e\n                    \u003cdiv class=\"gj-block-name gj-left-name\"\u003eIzquierda\u003c\/div\u003e\n                    \u003cdiv id=\"pref-left-guadalajara\"\u003e\u003c\/div\u003e\n                  \u003c\/div\u003e\n\n                  \u003cdiv class=\"gj-seat-block gj-middle-block\"\u003e\n                    \u003cdiv class=\"gj-block-name gj-middle-name\"\u003eMedio\u003c\/div\u003e\n                    \u003cdiv id=\"pref-middle-guadalajara\"\u003e\u003c\/div\u003e\n                  \u003c\/div\u003e\n\n                  \u003cdiv class=\"gj-seat-block gj-right-block\"\u003e\n                    \u003cdiv class=\"gj-block-name gj-right-name\"\u003eDerecha\u003c\/div\u003e\n                    \u003cdiv id=\"pref-right-guadalajara\"\u003e\u003c\/div\u003e\n                  \u003c\/div\u003e\n                \u003c\/div\u003e\n              \u003c\/div\u003e\n\n              \u003c!-- GENERAL --\u003e\n              \u003cdiv class=\"gj-sector gj-general-wrapper\"\u003e\n                \u003cdiv class=\"gj-sector-title gj-general-title\"\u003e\n                  🐮 BOLETO GENERAL\n                \u003c\/div\u003e\n\n                \u003cdiv class=\"gj-grid\"\u003e\n                  \u003cdiv class=\"gj-seat-block gj-left-block\"\u003e\n                    \u003cdiv class=\"gj-block-name gj-left-name\"\u003eIzquierda\u003c\/div\u003e\n                    \u003cdiv id=\"general-left-guadalajara\"\u003e\u003c\/div\u003e\n                  \u003c\/div\u003e\n\n                  \u003cdiv class=\"gj-seat-block gj-middle-block\"\u003e\n                    \u003cdiv class=\"gj-block-name gj-middle-name\"\u003eMedio\u003c\/div\u003e\n                    \u003cdiv id=\"general-middle-guadalajara\"\u003e\u003c\/div\u003e\n                  \u003c\/div\u003e\n\n                  \u003cdiv class=\"gj-seat-block gj-right-block\"\u003e\n                    \u003cdiv class=\"gj-block-name gj-right-name\"\u003eDerecha\u003c\/div\u003e\n                    \u003cdiv id=\"general-right-guadalajara\"\u003e\u003c\/div\u003e\n                  \u003c\/div\u003e\n                \u003c\/div\u003e\n              \u003c\/div\u003e\n\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"gj-leyenda\"\u003e\n              \u003cdiv class=\"gj-leyenda-item\"\u003e\n                \u003cspan class=\"gj-color gj-meet\"\u003e\u003c\/span\u003e\n                ⭐ VIP + MEET \u0026amp; GREET\n              \u003c\/div\u003e\n\n              \u003cdiv class=\"gj-leyenda-item\"\u003e\n                \u003cspan class=\"gj-color gj-pref\"\u003e\u003c\/span\u003e\n                ❤️ PREFERENTE\n              \u003c\/div\u003e\n\n              \u003cdiv class=\"gj-leyenda-item\"\u003e\n                \u003cspan class=\"gj-color gj-general\"\u003e\u003c\/span\u003e\n                🐮 GENERAL\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/details\u003e\n\n  \u003c!-- BLOQUE PRINCIPAL --\u003e\n  \u003cdiv class=\"hero-evento\"\u003e\n    \u003cdiv class=\"titulo-brillante\"\u003eÚNICA FUNCIÓN\u003c\/div\u003e\n    \u003cdiv class=\"hora-grande\"\u003e15 HS\u003c\/div\u003e\n    \u003cdiv class=\"sub-alerta\"\u003e20 Junio · Guadalajara, Jalisco\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- UBICACIÓN --\u003e\n  \u003cdiv class=\"info-card-simple ubicacion-card\"\u003e\n    \u003cspan\u003e📍\u003c\/span\u003e\n    \u003cdiv\u003e\n      \u003cstrong\u003eTeatro REX\u003c\/strong\u003e\u003cbr\u003e\n      \u003csmall\u003eHerrera y Cairo 978 – Centro\u003c\/small\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- INFO IMPORTANTE --\u003e\n  \u003cdiv class=\"info-card-simple\"\u003e\n    \u003cspan\u003e👶\u003c\/span\u003e\n    \u003cdiv\u003eDesde los \u003cstrong\u003e2 años\u003c\/strong\u003e abonan boleto\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- SECTORES Y PRECIOS --\u003e\n  \u003cdiv class=\"precios-box\"\u003e\n    \u003cdiv class=\"precios-title-btn\"\u003e🎟️ PRECIOS DE VENTA ANTICIPADA\u003c\/div\u003e\n\n    \u003cdiv class=\"precio-item vip\"\u003e\n      \u003cdiv\u003e\n        \u003cstrong\u003e⭐ VIP + MEET \u0026amp; GREET\u003c\/strong\u003e\n        \u003csmall\u003eFoto con personajes\u003c\/small\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"precio\"\u003e$300 MXN\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"precio-item preferente\"\u003e\n      \u003cdiv\u003e\n        \u003cstrong\u003e❤️ PREFERENTE\u003c\/strong\u003e\n        \u003csmall\u003eBoleto preferente\u003c\/small\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"precio\"\u003e$225 MXN\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"precio-item general\"\u003e\n      \u003cdiv\u003e\n        \u003cstrong\u003e🐮 GENERAL\u003c\/strong\u003e\n        \u003csmall\u003eBoleto general\u003c\/small\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"precio\"\u003e$150 MXN\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- FORMAS DE PAGO --\u003e\n  \u003cdiv class=\"pago-box\"\u003e\n    \u003cdiv class=\"section-title\"\u003e💳 Formas de pago\u003c\/div\u003e\n\n    \u003cdiv class=\"pago-grid\"\u003e\n      \u003cdiv class=\"pago-chip\"\u003e\n        \u003cdiv class=\"pago-icon\"\u003e💳\u003c\/div\u003e\n        \u003cdiv\u003eCrédito\u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"pago-chip\"\u003e\n        \u003cdiv class=\"pago-icon\"\u003e💳\u003c\/div\u003e\n        \u003cdiv\u003eDébito\u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"pago-chip\"\u003e\n        \u003cdiv class=\"pago-icon\"\u003e🏦\u003c\/div\u003e\n        \u003cdiv\u003eTransferencia\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- WHATSAPP AYUDA --\u003e\n  \u003cdiv class=\"whatsapp-ayuda-box\"\u003e\n    \u003ca class=\"whatsapp-ayuda-btn\" href=\"https:\/\/wa.me\/5213341625898?text=Hola%2C%20quiero%20comprar%20mis%20boletos%20para%20La%20Granja%20de%20Zen%C3%B3n%20en%20Guadalajara%2C%20Jalisco%20-%2020%20Junio%2017%20hs\" rel=\"noopener noreferrer\" target=\"_blank\"\u003e\n      \u003cspan class=\"wa-icon\" aria-hidden=\"true\"\u003e\n        \u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"currentColor\" viewbox=\"0 0 32 32\"\u003e\n          \u003cpath d=\"M19.11 17.21c-.27-.13-1.57-.77-1.81-.86-.24-.09-.41-.13-.58.13-.17.27-.67.86-.82 1.03-.15.18-.3.2-.57.07-.27-.13-1.12-.41-2.14-1.3-.79-.7-1.33-1.57-1.48-1.84-.15-.27-.02-.41.11-.54.12-.12.27-.31.4-.46.13-.16.18-.27.27-.45.09-.18.04-.34-.02-.47-.07-.13-.58-1.4-.79-1.92-.21-.5-.43-.43-.58-.44h-.49c-.18 0-.47.07-.72.34-.25.27-.95.93-.95 2.27 0 1.34.97 2.63 1.11 2.81.13.18 1.89 2.89 4.58 4.05.64.28 1.15.45 1.54.58.65.21 1.24.18 1.71.11.52-.08 1.57-.64 1.79-1.26.22-.62.22-1.15.15-1.26-.06-.11-.24-.18-.51-.31Z\"\u003e\u003c\/path\u003e\n          \u003cpath d=\"M16.03 3.2c-7 0-12.67 5.67-12.67 12.67 0 2.23.58 4.41 1.68 6.33L3.2 28.8l6.78-1.78a12.71 12.71 0 0 0 6.05 1.54h.01c6.99 0 12.67-5.68 12.67-12.67S23.03 3.2 16.03 3.2Zm0 23.21h-.01a10.52 10.52 0 0 1-5.35-1.46l-.39-.23-4.02 1.06 1.07-3.92-.25-.4a10.52 10.52 0 0 1-1.62-5.58c0-5.82 4.74-10.56 10.57-10.56 2.82 0 5.47 1.1 7.46 3.09 1.99 1.99 3.09 4.64 3.08 7.46 0 5.83-4.74 10.57-10.56 10.57Z\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e\n      \u003c\/span\u003e\n      \u003cspan\u003eAyuda con mis boletos\u003c\/span\u003e\n    \u003c\/a\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .evento-box {\n    position: relative;\n    overflow: hidden;\n    background: linear-gradient(180deg, #ffffff 0%, #fffaf0 100%);\n    border: 2px solid #ffe58a;\n    border-radius: 22px;\n    padding: 22px;\n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;\n    color: #151515;\n    box-shadow: 0 14px 30px rgba(0,0,0,0.12);\n  }\n\n  .evento-box::before {\n    content: \"\";\n    position: absolute;\n    top: 0;\n    left: -45%;\n    width: 45%;\n    height: 100%;\n    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.75), transparent);\n    animation: shineMove 4s infinite;\n    pointer-events: none;\n  }\n\n  .stars::before,\n  .stars::after {\n    content: \"✦ ✨ ✦ ✨ ✦\";\n    position: absolute;\n    color: rgba(255, 193, 7, 0.8);\n    font-size: 18px;\n    letter-spacing: 18px;\n    animation: starsFloat 5s infinite ease-in-out;\n    pointer-events: none;\n    z-index: 1;\n  }\n\n  .stars::before {\n    top: 16px;\n    left: 18px;\n  }\n\n  .stars::after {\n    bottom: 18px;\n    right: 16px;\n    animation-delay: 1.5s;\n  }\n\n  .mapa-toggle-box {\n    position: relative;\n    z-index: 2;\n    margin: 0 0 18px;\n  }\n\n  .mapa-toggle-box[open] .mapa-toggle-btn {\n    border-radius: 16px 16px 8px 8px;\n  }\n\n  .mapa-toggle-btn {\n    list-style: none;\n    cursor: pointer;\n    text-align: center;\n    display: block;\n    background: linear-gradient(135deg, #1d4ed8, #2563eb);\n    color: #ffffff;\n    font-size: 16px;\n    font-weight: 1000;\n    letter-spacing: .3px;\n    border-radius: 16px;\n    padding: 14px 16px;\n    box-shadow: 0 5px 0 #143b9b, 0 8px 16px rgba(37,99,235,.22);\n    user-select: none;\n    animation: botonTitileoAzul 1.9s infinite ease-in-out;\n  }\n\n  .mapa-toggle-btn::-webkit-details-marker {\n    display: none;\n  }\n\n  .mapa-toggle-btn::after {\n    content: \" ▼\";\n    font-size: 12px;\n  }\n\n  .mapa-toggle-box[open] .mapa-toggle-btn::after {\n    content: \" ▲\";\n  }\n\n  .mapa-preview-guadalajara {\n    width: 100%;\n    margin: 14px auto 0;\n    padding: 14px;\n    background: #f5f7fb;\n    border-radius: 18px;\n    border: 1px solid #e5eaf2;\n    box-sizing: border-box;\n  }\n\n  .mapa-ciudad {\n    text-align: center;\n    font-size: 13px;\n    font-weight: 1000;\n    color: #374151;\n    margin-bottom: 12px;\n    letter-spacing: .5px;\n  }\n\n  .mapa-scroll {\n    width: 100%;\n    overflow-x: auto;\n    overflow-y: hidden;\n    padding-bottom: 8px;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .mapa-inner-guadalajara {\n    width: max-content;\n    min-width: 1680px;\n    margin: 0 auto;\n  }\n\n  .gj-stage {\n    width: 900px;\n    max-width: 100%;\n    margin: 0 auto 28px;\n    text-align: center;\n    font-weight: 1000;\n    padding: 18px;\n    border-radius: 18px;\n    background: linear-gradient(180deg,#eef2f8,#dde3ec);\n    font-size: 24px;\n    letter-spacing: 1px;\n    color: #111827;\n    border: 1px solid #d7dce5;\n    text-transform: uppercase;\n    box-sizing: border-box;\n  }\n\n  .gj-card {\n    background: #ffffff;\n    border-radius: 22px;\n    padding: 20px;\n    border: 1px solid #e5eaf2;\n    box-shadow: 0 10px 22px rgba(15,23,42,.07);\n  }\n\n  .gj-title {\n    text-align: center;\n    font-size: 18px;\n    font-weight: 1000;\n    color: #111827;\n    margin-bottom: 20px;\n    text-transform: uppercase;\n  }\n\n  .gj-layout {\n    display: flex;\n    flex-direction: column;\n    gap: 34px;\n  }\n\n  .gj-sector {\n    display: flex;\n    flex-direction: column;\n    gap: 18px;\n  }\n\n  .gj-sector-title {\n    width: 100%;\n    text-align: center;\n    padding: 14px 20px;\n    border-radius: 999px;\n    font-weight: 1000;\n    text-transform: uppercase;\n    letter-spacing: .4px;\n    box-sizing: border-box;\n    font-size: 15px;\n  }\n\n  .gj-meet-title {\n    background: linear-gradient(#ffeb70,#ffc300);\n    color: #4d3200;\n    border: 2px solid #f3b600;\n  }\n\n  .gj-pref-title {\n    background: linear-gradient(#ff7b8b,#ec2f48);\n    color: #ffffff;\n    border: 2px solid #c91830;\n  }\n\n  .gj-general-title {\n    background: linear-gradient(#40ef7b,#16c857);\n    color: #032f14;\n    border: 2px solid #10aa47;\n  }\n\n  .gj-grid {\n    display: grid;\n    grid-template-columns: max-content max-content max-content;\n    gap: 34px;\n    align-items: start;\n    justify-content: center;\n  }\n\n  .gj-seat-block {\n    border-radius: 20px;\n    padding: 18px;\n    background: #ffffff;\n    border: 1px solid #ebeff5;\n    box-shadow: 0 8px 18px rgba(0,0,0,.045);\n  }\n\n  .gj-left-block,\n  .gj-right-block {\n    min-width: 330px;\n  }\n\n  .gj-middle-block {\n    min-width: 760px;\n  }\n\n  .gj-block-name {\n    text-align: center;\n    font-weight: 1000;\n    font-size: 13px;\n    text-transform: uppercase;\n    margin-bottom: 12px;\n    color: #374151;\n    letter-spacing: .5px;\n  }\n\n  .gj-left-name {\n    color: #f97316;\n  }\n\n  .gj-middle-name {\n    color: #9333ea;\n  }\n\n  .gj-right-name {\n    color: #0284c7;\n  }\n\n  .gj-vip-side-spacer {\n    height: 168px;\n  }\n\n  .gj-row {\n    display: grid;\n    grid-template-columns: 42px 1fr;\n    gap: 9px;\n    margin-bottom: 8px;\n    align-items: center;\n  }\n\n  .gj-row:last-child {\n    margin-bottom: 0;\n  }\n\n  .gj-row-label {\n    text-align: right;\n    font-weight: 1000;\n    color: #111827;\n    font-size: 20px;\n    line-height: 1;\n  }\n\n  .gj-seat-row {\n    display: flex;\n    gap: 6px;\n    justify-content: center;\n    min-height: 34px;\n    align-items: center;\n  }\n\n  .gj-middle-seat-row {\n    display: flex;\n    gap: 54px;\n    justify-content: center;\n    align-items: center;\n    min-height: 34px;\n  }\n\n  .gj-middle-seat-group {\n    display: flex;\n    gap: 6px;\n    align-items: center;\n  }\n\n  .gj-middle-seat-group.align-left {\n    justify-content: flex-start;\n  }\n\n  .gj-middle-seat-group.align-right {\n    justify-content: flex-end;\n  }\n\n  .gj-middle-seat-group.align-center {\n    justify-content: center;\n  }\n\n  .gj-seat {\n    width: 34px;\n    height: 34px;\n    border-radius: 9px;\n    font-weight: 1000;\n    border: 2px solid #c8d0db;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-sizing: border-box;\n    font-size: 12px;\n    color: #111827;\n    box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 2px 5px rgba(15,23,42,.08);\n  }\n\n  .gj-middle-block .gj-seat {\n    width: 30px;\n    height: 30px;\n    border-radius: 8px;\n    font-size: 11px;\n  }\n\n  .gj-seat.meet {\n    background: #ffe145;\n    border-color: #d6b400;\n  }\n\n  .gj-seat.preferente {\n    background: #ff6f82;\n    color: #ffffff;\n    border-color: #d81b60;\n  }\n\n  .gj-seat.general {\n    background: #7df0a6;\n    border-color: #229a53;\n  }\n\n  .gj-general-wrapper {\n    margin-top: 28px;\n  }\n\n  .gj-leyenda {\n    margin-top: 20px;\n    display: flex;\n    flex-wrap: wrap;\n    gap: 8px;\n    justify-content: center;\n  }\n\n  .gj-leyenda-item {\n    display: flex;\n    align-items: center;\n    gap: 7px;\n    padding: 8px 11px;\n    border-radius: 999px;\n    background: #f8fafc;\n    border: 1px solid #e5eaf2;\n    font-size: 12px;\n    font-weight: 1000;\n    color: #111827;\n  }\n\n  .gj-color {\n    width: 19px;\n    height: 19px;\n    border-radius: 7px;\n    border: 2px solid rgba(17,24,39,.13);\n    display: inline-block;\n  }\n\n  .gj-color.gj-meet {\n    background: #ffe145;\n  }\n\n  .gj-color.gj-pref {\n    background: #ff6f82;\n  }\n\n  .gj-color.gj-general {\n    background: #7df0a6;\n  }\n\n  .hero-evento {\n    position: relative;\n    z-index: 2;\n    text-align: center;\n    background: radial-gradient(circle at top, #ff8a8a 0%, #ff3b3b 38%, #d40000 72%, #8f0000 100%);\n    border-radius: 20px;\n    padding: 24px 14px 22px;\n    margin-bottom: 18px;\n    box-shadow: inset 0 2px 0 rgba(255,255,255,0.35), 0 10px 22px rgba(180,0,0,0.30);\n    border: 2px solid #ff9c9c;\n  }\n\n  .titulo-brillante {\n    font-size: 31px;\n    line-height: 1;\n    font-weight: 1000;\n    color: #ffffff;\n    letter-spacing: 1px;\n    text-shadow:\n      0 3px 0 #a30000,\n      0 5px 12px rgba(0,0,0,0.35);\n    animation: blinkTitle 1.6s infinite;\n  }\n\n  .hora-grande {\n    font-size: 50px;\n    line-height: 1;\n    font-weight: 1000;\n    color: #ffe600;\n    margin-top: 8px;\n    text-shadow:\n      0 4px 0 #003eb8,\n      0 7px 14px rgba(0,0,0,0.35);\n    letter-spacing: 2px;\n  }\n\n  .sub-alerta {\n    margin-top: 12px;\n    font-size: 15px;\n    font-weight: 900;\n    color: #ffffff;\n    text-shadow: 0 2px 5px rgba(0,0,0,0.35);\n  }\n\n  .info-card-simple {\n    position: relative;\n    z-index: 2;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 11px;\n    background: #ffffff;\n    border: 1px solid #eeeeee;\n    border-radius: 15px;\n    padding: 13px;\n    font-size: 15px;\n    line-height: 1.35;\n    box-shadow: 0 4px 10px rgba(0,0,0,0.05);\n    margin-bottom: 16px;\n    text-align: center;\n  }\n\n  .info-card-simple span {\n    font-size: 22px;\n  }\n\n  .info-card-simple small {\n    display: block;\n    margin-top: 3px;\n    color: #555555;\n    font-size: 13px;\n    font-weight: 700;\n  }\n\n  .ubicacion-card {\n    margin-bottom: 10px;\n  }\n\n  .section-title {\n    text-align: center;\n    font-size: 16px;\n    font-weight: 1000;\n    color: #111111;\n    margin-bottom: 12px;\n    letter-spacing: .3px;\n  }\n\n  .precios-box {\n    position: relative;\n    z-index: 2;\n    background: #ffffff;\n    border: 1px solid #eeeeee;\n    border-radius: 18px;\n    padding: 15px;\n    margin-bottom: 16px;\n    box-shadow: 0 6px 15px rgba(0,0,0,0.06);\n  }\n\n  .precios-title-btn {\n    display: block;\n    width: fit-content;\n    max-width: 100%;\n    margin: 0 auto 14px;\n    text-align: center;\n    background: linear-gradient(135deg, #ffcc26, #ff9f00);\n    color: #111111;\n    border: 2px solid #ffd84d;\n    border-radius: 999px;\n    padding: 10px 16px;\n    font-size: 13px;\n    font-weight: 1000;\n    letter-spacing: .5px;\n    text-transform: uppercase;\n    box-shadow: 0 4px 0 #c87500, 0 8px 14px rgba(255,159,0,.22);\n  }\n\n  .precio-item {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    gap: 12px;\n    padding: 13px;\n    border-radius: 15px;\n    margin-bottom: 10px;\n  }\n\n  .precio-item:last-child {\n    margin-bottom: 0;\n  }\n\n  .precio-item strong {\n    display: block;\n    font-size: 15px;\n    line-height: 1.2;\n  }\n\n  .precio-item small {\n    display: block;\n    margin-top: 4px;\n    color: #555555;\n    font-size: 12px;\n    font-weight: 700;\n  }\n\n  .precio-item.vip {\n    background: linear-gradient(135deg, #fff7bf, #ffffff);\n    border: 1px solid #ffd84d;\n  }\n\n  .precio-item.preferente {\n    background: linear-gradient(135deg, #ffe5f0, #ffffff);\n    border: 1px solid #ff9fcb;\n  }\n\n  .precio-item.general {\n    background: linear-gradient(135deg, #eaffea, #ffffff);\n    border: 1px solid #b8efb8;\n  }\n\n  .precio {\n    white-space: nowrap;\n    font-size: 17px;\n    font-weight: 1000;\n    color: #ffffff;\n    background: linear-gradient(135deg, #18b943, #0d8f2f);\n    border-radius: 999px;\n    padding: 9px 12px;\n    box-shadow: 0 3px 8px rgba(0,0,0,0.12);\n  }\n\n  .pago-box {\n    position: relative;\n    z-index: 2;\n    background: #f7fbff;\n    border: 1px solid #dcecff;\n    border-radius: 18px;\n    padding: 15px;\n    margin-bottom: 16px;\n  }\n\n  .pago-grid {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 10px;\n  }\n\n  .pago-chip {\n    background: #ffffff;\n    border: 1px solid #e6e6e6;\n    border-radius: 15px;\n    padding: 12px 8px;\n    text-align: center;\n    font-size: 13px;\n    font-weight: 900;\n    color: #111111;\n    box-shadow: 0 4px 10px rgba(0,0,0,0.05);\n  }\n\n  .pago-icon {\n    font-size: 24px;\n    margin-bottom: 5px;\n  }\n\n  .whatsapp-ayuda-box {\n    position: relative;\n    z-index: 2;\n    margin-top: 16px;\n    background: linear-gradient(135deg, #eaffea, #ffffff);\n    border: 1px solid #b8efb8;\n    border-radius: 18px;\n    padding: 14px;\n    box-shadow: 0 6px 15px rgba(0,0,0,0.06);\n  }\n\n  .whatsapp-ayuda-btn {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n    width: 100%;\n    box-sizing: border-box;\n    text-align: center;\n    text-decoration: none;\n    background: linear-gradient(135deg, #25d366, #128c3a);\n    color: #ffffff !important;\n    font-size: 16px;\n    font-weight: 1000;\n    border-radius: 16px;\n    padding: 14px 16px;\n    box-shadow: 0 5px 0 #0b6f2c, 0 10px 18px rgba(18,140,58,.25);\n    animation: whatsappTitileo 1.9s infinite ease-in-out;\n  }\n\n  .whatsapp-ayuda-btn:hover {\n    color: #ffffff !important;\n    text-decoration: none;\n  }\n\n  .wa-icon {\n    width: 22px;\n    height: 22px;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    flex: 0 0 22px;\n  }\n\n  .wa-icon svg {\n    width: 22px;\n    height: 22px;\n    display: block;\n    fill: currentColor;\n  }\n\n  @keyframes whatsappTitileo {\n    0%, 100% {\n      transform: scale(1);\n      filter: brightness(1);\n      box-shadow: 0 5px 0 #0b6f2c, 0 10px 18px rgba(18,140,58,.25);\n    }\n    50% {\n      transform: scale(1.025);\n      filter: brightness(1.15);\n      box-shadow: 0 5px 0 #0b6f2c, 0 13px 24px rgba(37,211,102,.40);\n    }\n  }\n\n  @keyframes botonTitileoAzul {\n    0%, 100% {\n      transform: scale(1);\n      filter: brightness(1);\n      box-shadow: 0 5px 0 #143b9b, 0 8px 16px rgba(37,99,235,.22);\n    }\n    50% {\n      transform: scale(1.025);\n      filter: brightness(1.18);\n      box-shadow: 0 5px 0 #143b9b, 0 12px 24px rgba(37,99,235,.40);\n    }\n  }\n\n  @keyframes blinkTitle {\n    0%, 100% { transform: scale(1); filter: brightness(1); }\n    50% { transform: scale(1.035); filter: brightness(1.35); }\n  }\n\n  @keyframes starsFloat {\n    0%, 100% { opacity: 0.35; transform: translateY(0) scale(1); }\n    50% { opacity: 1; transform: translateY(-6px) scale(1.08); }\n  }\n\n  @keyframes shineMove {\n    0% { left: -50%; }\n    55% { left: 120%; }\n    100% { left: 120%; }\n  }\n\n  @media (max-width: 480px) {\n    .evento-box {\n      padding: 18px;\n      border-radius: 20px;\n    }\n\n    .titulo-brillante {\n      font-size: 25px;\n    }\n\n    .hora-grande {\n      font-size: 43px;\n    }\n\n    .info-card-simple {\n      font-size: 14px;\n      padding: 12px;\n    }\n\n    .info-card-simple small {\n      font-size: 12px;\n    }\n\n    .precios-title-btn {\n      font-size: 12px;\n      padding: 9px 12px;\n    }\n\n    .precio-item {\n      padding: 12px 10px;\n      gap: 8px;\n    }\n\n    .precio-item strong {\n      font-size: 14px;\n    }\n\n    .precio {\n      font-size: 15px;\n      padding: 8px 10px;\n    }\n\n    .mapa-toggle-btn {\n      font-size: 15px;\n      padding: 13px 14px;\n    }\n\n    .mapa-preview-guadalajara {\n      padding: 12px;\n      border-radius: 16px;\n    }\n\n    .mapa-inner-guadalajara {\n      min-width: 1680px;\n    }\n\n    .gj-stage {\n      font-size: 20px;\n      padding: 13px;\n    }\n\n    .gj-card {\n      padding: 15px;\n    }\n\n    .gj-grid {\n      gap: 26px;\n    }\n\n    .gj-seat {\n      width: 31px;\n      height: 31px;\n      font-size: 11px;\n    }\n\n    .gj-middle-block .gj-seat {\n      width: 28px;\n      height: 28px;\n      font-size: 10px;\n    }\n\n    .gj-row-label {\n      font-size: 17px;\n    }\n\n    .pago-grid {\n      grid-template-columns: 1fr;\n    }\n\n    .pago-chip {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      gap: 8px;\n      font-size: 14px;\n    }\n\n    .pago-icon {\n      margin-bottom: 0;\n    }\n\n    .whatsapp-ayuda-btn {\n      font-size: 15px;\n      padding: 13px 14px;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cscript\u003e\n(function(){\n  function makeSeats(total, className, startNumber){\n    var html = '';\n    startNumber = startNumber || 1;\n\n    for(var i = 0; i \u003c total; i++){\n      html += '\u003cdiv class=\"gj-seat ' + className + '\"\u003e' + (startNumber + i) + '\u003c\/div\u003e';\n    }\n\n    return html;\n  }\n\n  function makeSideRows(rows, className){\n    var html = '';\n\n    rows.forEach(function(row){\n      html += '' +\n        '\u003cdiv class=\"gj-row\"\u003e' +\n          '\u003cdiv class=\"gj-row-label\"\u003e' + row.row + '\u003c\/div\u003e' +\n          '\u003cdiv class=\"gj-seat-row\"\u003e' +\n            makeSeats(row.count, className, 1) +\n          '\u003c\/div\u003e' +\n        '\u003c\/div\u003e';\n    });\n\n    return html;\n  }\n\n  function makeMiddleRows(rows, className, maxLeft, maxRight){\n    var html = '';\n\n    rows.forEach(function(row){\n      var leftCount = row.left || 0;\n      var rightCount = row.right || 0;\n      var leftAlign = row.leftAlign || 'center';\n      var rightAlign = row.rightAlign || 'center';\n\n      var seatWidth = 30;\n      var gap = 6;\n\n      var leftWidth = (maxLeft * seatWidth) + ((maxLeft - 1) * gap);\n      var rightWidth = (maxRight * seatWidth) + ((maxRight - 1) * gap);\n\n      html += '' +\n        '\u003cdiv class=\"gj-row\"\u003e' +\n          '\u003cdiv class=\"gj-row-label\"\u003e' + row.row + '\u003c\/div\u003e' +\n          '\u003cdiv class=\"gj-middle-seat-row\"\u003e' +\n            '\u003cdiv class=\"gj-middle-seat-group align-' + leftAlign + '\" style=\"width:' + leftWidth + 'px;\"\u003e' +\n              makeSeats(leftCount, className, 1) +\n            '\u003c\/div\u003e' +\n            '\u003cdiv class=\"gj-middle-seat-group align-' + rightAlign + '\" style=\"width:' + rightWidth + 'px;\"\u003e' +\n              makeSeats(rightCount, className, leftCount + 1) +\n            '\u003c\/div\u003e' +\n          '\u003c\/div\u003e' +\n        '\u003c\/div\u003e';\n    });\n\n    return html;\n  }\n\n  var vipLeftRows = [\n    {row:5,count:6},\n    {row:6,count:7},\n    {row:7,count:8},\n    {row:8,count:9},\n    {row:9,count:9}\n  ];\n\n  var vipMiddleRows = [\n    {row:1,left:11,right:11},\n    {row:2,left:14,right:14},\n    {row:3,left:14,right:14},\n    {row:4,left:14,right:14},\n    {row:5,left:14,right:14},\n    {row:6,left:14,right:14},\n    {row:7,left:14,right:14},\n    {row:8,left:14,right:14},\n    {row:9,left:14,right:14}\n  ];\n\n  var vipRightRows = [\n    {row:5,count:6},\n    {row:6,count:7},\n    {row:7,count:8},\n    {row:8,count:9},\n    {row:9,count:9}\n  ];\n\n  var prefLeftRows = [];\n  var prefMiddleRows = [];\n  var prefRightRows = [];\n\n  for(var row = 10; row \u003c= 23; row++){\n    prefLeftRows.push({row: row, count: 9});\n    prefMiddleRows.push({row: row, left: 14, right: 14});\n    prefRightRows.push({row: row, count: 9});\n  }\n\n  var generalLeftRows = [\n    {row:1,count:0},\n    {row:2,count:9},\n    {row:3,count:9},\n    {row:4,count:9},\n    {row:5,count:9},\n    {row:6,count:9},\n    {row:7,count:9},\n    {row:8,count:9},\n    {row:9,count:9},\n    {row:10,count:9},\n    {row:11,count:9}\n  ];\n\n  var generalMiddleRows = [\n    {row:1,left:9,right:9,leftAlign:'right',rightAlign:'left'},\n    {row:2,left:9,right:9,leftAlign:'right',rightAlign:'left'},\n    {row:3,left:12,right:12,leftAlign:'center',rightAlign:'center'},\n    {row:4,left:12,right:12,leftAlign:'center',rightAlign:'center'},\n    {row:5,left:12,right:12,leftAlign:'center',rightAlign:'center'},\n    {row:6,left:12,right:12,leftAlign:'center',rightAlign:'center'},\n    {row:7,left:12,right:12,leftAlign:'center',rightAlign:'center'},\n    {row:8,left:7,right:7,leftAlign:'left',rightAlign:'right'},\n    {row:9,left:7,right:7,leftAlign:'left',rightAlign:'right'},\n    {row:10,left:7,right:7,leftAlign:'left',rightAlign:'right'},\n    {row:11,left:7,right:7,leftAlign:'left',rightAlign:'right'}\n  ];\n\n  var generalRightRows = [\n    {row:1,count:0},\n    {row:2,count:9},\n    {row:3,count:9},\n    {row:4,count:9},\n    {row:5,count:9},\n    {row:6,count:9},\n    {row:7,count:9},\n    {row:8,count:9},\n    {row:9,count:9},\n    {row:10,count:9},\n    {row:11,count:9}\n  ];\n\n  var vipLeft = document.getElementById('vip-left-guadalajara');\n  var vipMiddle = document.getElementById('vip-middle-guadalajara');\n  var vipRight = document.getElementById('vip-right-guadalajara');\n\n  var prefLeft = document.getElementById('pref-left-guadalajara');\n  var prefMiddle = document.getElementById('pref-middle-guadalajara');\n  var prefRight = document.getElementById('pref-right-guadalajara');\n\n  var generalLeft = document.getElementById('general-left-guadalajara');\n  var generalMiddle = document.getElementById('general-middle-guadalajara');\n  var generalRight = document.getElementById('general-right-guadalajara');\n\n  if(vipLeft){ vipLeft.innerHTML = makeSideRows(vipLeftRows, 'meet'); }\n  if(vipMiddle){ vipMiddle.innerHTML = makeMiddleRows(vipMiddleRows, 'meet', 14, 14); }\n  if(vipRight){ vipRight.innerHTML = makeSideRows(vipRightRows, 'meet'); }\n\n  if(prefLeft){ prefLeft.innerHTML = makeSideRows(prefLeftRows, 'preferente'); }\n  if(prefMiddle){ prefMiddle.innerHTML = makeMiddleRows(prefMiddleRows, 'preferente', 14, 14); }\n  if(prefRight){ prefRight.innerHTML = makeSideRows(prefRightRows, 'preferente'); }\n\n  if(generalLeft){ generalLeft.innerHTML = makeSideRows(generalLeftRows, 'general'); }\n  if(generalMiddle){ generalMiddle.innerHTML = makeMiddleRows(generalMiddleRows, 'general', 12, 12); }\n  if(generalRight){ generalRight.innerHTML = makeSideRows(generalRightRows, 'general'); }\n})();\n\u003c\/script\u003e","brand":"Event","offers":[{"title":"⭐ VIP + MEET \u0026 GREET (FOTO CON PERSONAJES)","offer_id":49154031157500,"sku":null,"price":300.0,"currency_code":"MXN","in_stock":true},{"title":"❤️ PREFERENTE","offer_id":49154031190268,"sku":null,"price":225.0,"currency_code":"MXN","in_stock":true},{"title":"🐮 GENERAL","offer_id":49154031223036,"sku":null,"price":150.0,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0803\/8278\/7836\/files\/guadalajara_1.jpg?v=1780392118","url":"https:\/\/www.lagranjaenmexico.com\/products\/guadalajara","provider":"LA GRANJA EN MÉXICO","version":"1.0","type":"link"}