{"id":9,"date":"2026-10-01T23:04:55","date_gmt":"2026-10-01T23:04:55","guid":{"rendered":"https:\/\/caguamosrock.com\/?page_id=9"},"modified":"2026-10-01T23:35:54","modified_gmt":"2026-10-01T23:35:54","slug":"elultimobaile","status":"publish","type":"page","link":"https:\/\/caguamosrock.com\/?page_id=9","title":{"rendered":"El Ultimo Baile"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"9\" class=\"elementor elementor-9\">\n\t\t\t\t<div class=\"elementor-element elementor-element-501718e e-con-full e-flex e-con e-parent\" data-id=\"501718e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9c2b24f elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"9c2b24f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"es\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>TicketsLive - Conciertos Especiales<\/title>\r\n    <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\">\r\n    <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/html2pdf.js\/0.10.1\/html2pdf.bundle.min.js\"><\/script>\r\n    \r\n    <style>\r\n        \/* COLORES ORIGINALES RESTAURADOS (Azul y rojo para destellos) *\/\r\n        :root {\r\n            --bg-dark: #070709;\r\n            --text-light: #ffffff;\r\n            --primary-color: #0073ff; \r\n            --accent-color: #ff0055;  \r\n            --silver-vip: #e8e8e8;\r\n            --highlight-yellow: #ffd700;\r\n            --card-bg: #141419;\r\n            --ticket-bg: #101014;\r\n        }\r\n        \r\n        * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; cursor: none !important; }\r\n        html { scroll-behavior: smooth; }\r\n        body { background-color: var(--bg-dark); color: var(--text-light); overflow-x: hidden; }\r\n\r\n        \/* CURSOR DORADO PREMIUM *\/\r\n        .custom-cursor-dot { position: fixed; top: 0; left: 0; width: 8px; height: 8px; background-color: var(--highlight-yellow); border-radius: 50%; z-index: 999999; pointer-events: none; transform: translate(-50%, -50%); }\r\n        .custom-cursor-ring { position: fixed; top: 0; left: 0; width: 36px; height: 36px; border: 2px solid var(--highlight-yellow); border-radius: 50%; z-index: 999998; pointer-events: none; transform: translate(-50%, -50%); transition: width 0.2s, height 0.2s, background-color 0.2s; }\r\n        .custom-cursor-ring.hovered { width: 55px; height: 55px; background-color: rgba(255, 215, 0, 0.15); border-color: transparent; }\r\n\r\n        @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }\r\n        @keyframes zoomIn { from { transform: scale(0.8); opacity: 0; } to { transform: scale(1); opacity: 1; } }\r\n        @keyframes pulseGlow { 0% { box-shadow: 0 0 10px rgba(232, 232, 232, 0.3); } 50% { box-shadow: 0 0 25px rgba(232, 232, 232, 0.8), 0 0 10px rgba(255, 0, 85, 0.5); } 100% { box-shadow: 0 0 10px rgba(232, 232, 232, 0.3); } }\r\n        @keyframes spotlightMove { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }\r\n        @keyframes shine { 0% { transform: translateX(-100%) skewX(-20deg); } 100% { transform: translateX(200%) skewX(-20deg); } }\r\n        @keyframes pulseTimer { 0% { opacity: 1; } 50% { opacity: 0.6; } 100% { opacity: 1; } }\r\n\r\n        .particle { position: absolute; bottom: -10px; width: 4px; height: 4px; background: var(--silver-vip); border-radius: 50%; opacity: 0; animation: floatUp linear infinite; box-shadow: 0 0 8px var(--silver-vip); z-index: 2; pointer-events: none; }\r\n        @keyframes floatUp { 0% { transform: translateY(0) scale(1); opacity: 1; } 100% { transform: translateY(-60vh) scale(0); opacity: 0; } }\r\n        .fade-in { animation: fadeIn 1s ease-out forwards; }\r\n\r\n        .ticket-transition-overlay { display: none; position: fixed; top:0; left:0; width:100%; height:100%; background: rgba(0,0,0,0.95); z-index: 9999; justify-content:center; align-items:center; perspective: 1000px; }\r\n        .silver-ticket-3d { width: 320px; height: 160px; background: linear-gradient(135deg, #ffffff, #a9a9a9, #ffffff); border: 2px dashed #333; border-radius: 12px; display:flex; flex-direction:column; justify-content:center; align-items:center; color: #111; font-size: 1.8rem; font-weight:900; transform-style: preserve-3d; box-shadow: 0 0 40px rgba(232, 232, 232, 0.6); animation: flipTicket 3s cubic-bezier(0.4, 0, 0.2, 1) forwards; text-transform: uppercase; text-align: center; }\r\n        .silver-ticket-3d span { font-size: 1rem; color: #000; letter-spacing: 3px; margin-top: 5px; background: #fff; padding: 2px 10px; border-radius: 4px; }\r\n        @keyframes flipTicket { 0% { transform: rotateY(-90deg) scale(0.5) translateY(100px); opacity: 0; } 30% { opacity: 1; } 70% { transform: rotateY(1080deg) scale(1.2) translateY(0); opacity: 1; } 100% { transform: rotateY(1080deg) scale(2.5) translateY(-50px); opacity: 0; } }\r\n\r\n        nav { display: flex; justify-content: space-between; align-items: center; padding: 15px 5%; background: rgba(5, 5, 8, 0.95); position: sticky; top: 0; z-index: 1000; border-bottom: 1px solid #222; backdrop-filter: blur(10px); }\r\n        .logo { font-size: 1.5rem; font-weight: bold; color: var(--text-light); cursor: pointer; letter-spacing: 1px; }\r\n        .logo span { color: var(--primary-color); }\r\n        .nav-links { display: flex; list-style: none; gap: 30px; }\r\n        .nav-links a { color: var(--text-light); text-decoration: none; font-weight: 500; text-transform: uppercase; font-size: 0.9rem; letter-spacing: 1px; transition: color 0.3s, transform 0.3s; }\r\n        .nav-links a:hover { color: var(--silver-vip); transform: scale(1.1); }\r\n        .lang-selector select { background: #1a1a20; color: white; border: 1px solid #333; padding: 6px 12px; border-radius: 5px; cursor: pointer; transition: all 0.3s; }\r\n        .lang-selector select:hover { border-color: var(--silver-vip); }\r\n\r\n        \/* CARRUSEL HERO ORIGINAL *\/\r\n        .hero-carousel { position: relative; width: 100%; height: 75vh; overflow: hidden; }\r\n        .carousel-slide { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 0.8s ease-in-out; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 0 20px; z-index: 0; }\r\n        .carousel-slide.active { opacity: 1; z-index: 1; }\r\n        .carousel-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at center, rgba(255,0,85,0.2) 0%, rgba(0,0,0,0.85) 75%), linear-gradient(120deg, rgba(0,115,255,0.25), rgba(232, 232, 232, 0.15)); background-size: 200% 200%; animation: spotlightMove 8s ease infinite; z-index: 1; }\r\n        #particles-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; overflow: hidden; pointer-events: none; }\r\n        .carousel-content { position: relative; z-index: 2; max-width: 800px; }\r\n        .carousel-content h1 { font-size: 4.5rem; line-height: 1.1; margin-bottom: 15px; text-transform: uppercase; letter-spacing: 2px; text-shadow: 0 0 25px rgba(255, 0, 85, 0.8); }\r\n        .carousel-content p { font-size: 1.4rem; margin-bottom: 25px; color: #eee; text-shadow: 0 2px 4px rgba(0,0,0,0.8); }\r\n\r\n        .countdown-container { display: flex; justify-content: center; gap: 15px; margin-bottom: 25px; }\r\n        .countdown-box { background: rgba(0, 0, 0, 0.7); border: 1px solid rgba(232, 232, 232, 0.5); padding: 10px 15px; border-radius: 8px; min-width: 70px; backdrop-filter: blur(5px); }\r\n        .countdown-box span { display: block; font-size: 1.5rem; font-weight: bold; color: var(--silver-vip); }\r\n        .countdown-box label { font-size: 0.7rem; text-transform: uppercase; color: #bbb; }\r\n\r\n        .btn { padding: 14px 40px; font-size: 1.05rem; background: var(--primary-color); color: white; border: none; border-radius: 30px; cursor: pointer; transition: transform 0.3s, box-shadow 0.3s; font-weight: bold; display: inline-block; }\r\n        .btn:hover { transform: scale(1.08); box-shadow: 0 10px 25px rgba(0, 115, 255, 0.5); }\r\n        .btn-silver { background: linear-gradient(45deg, #ffffff, #999999); color: #000; font-weight: 800; }\r\n        .btn-silver:hover { box-shadow: 0 10px 25px rgba(232, 232, 232, 0.6); }\r\n        .btn-outline { padding: 10px 25px; font-size: 1rem; background: transparent; color: var(--text-light); border: 1px solid #444; border-radius: 30px; cursor: pointer; transition: all 0.3s; font-weight: bold; display: flex; align-items: center; gap: 8px; }\r\n        .btn-outline:hover { background: var(--primary-color); border-color: var(--primary-color); transform: scale(1.05); }\r\n        \r\n        .carousel-btn { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(0, 0, 0, 0.6); color: white; border: 1px solid #333; width: 50px; height: 50px; border-radius: 50%; cursor: pointer; font-size: 1.5rem; z-index: 10; transition: all 0.3s ease; display: flex; justify-content: center; align-items: center; }\r\n        .carousel-btn:hover { background: var(--silver-vip); color: #000; border-color: var(--silver-vip); }\r\n        .prev-btn { left: 20px; } .next-btn { right: 20px; }\r\n\r\n        .section { padding: 80px 5%; }\r\n        .section-title { font-size: 2.2rem; margin-bottom: 40px; border-left: 5px solid var(--primary-color); padding-left: 15px; display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }\r\n        .section-title.silver-title { border-left-color: var(--silver-vip); }\r\n        \r\n        \/* CONCIERTOS (Hover rojo interactivo) *\/\r\n        .concert-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }\r\n        .concert-card { background: var(--card-bg); border-radius: 12px; overflow: hidden; transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease; cursor: pointer; border: 1px solid #222; position: relative; }\r\n        .concert-card:hover { transform: translateY(-10px) scale(1.03); box-shadow: 0 15px 30px rgba(255, 0, 85, 0.3); border-color: var(--accent-color); z-index: 10; }\r\n        .concert-card.special-card { border: 2px solid var(--silver-vip); animation: pulseGlow 3s infinite; overflow: hidden; }\r\n        .concert-card.special-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle 100px at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(232, 232, 232, 0.4), transparent 80%); opacity: 0; transition: opacity 0.3s; z-index: 10; pointer-events: none; }\r\n        .concert-card.special-card:hover::before { opacity: 1; }\r\n        \r\n        .special-badge { position: absolute; top: 10px; right: 10px; background: var(--silver-vip); color: #000; font-size: 0.75rem; font-weight: bold; padding: 4px 10px; border-radius: 20px; text-transform: uppercase; z-index: 5; }\r\n        .concert-img { height: 160px; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; font-weight: bold; color: white; text-align: center; padding: 10px; background-size: cover !important; background-position: center !important; text-shadow: 2px 2px 4px rgba(0,0,0,0.9); }\r\n        .concert-info { padding: 15px; position: relative; z-index: 2; }\r\n        .concert-info h3 { font-size: 1.2rem; margin-bottom: 5px; }\r\n        .concert-info p { font-size: 0.85rem; color: #aaa; }\r\n\r\n        \/* ==================================================\r\n           NUEVA GALER\u00cdA (Bento Box - Sin Huecos y Capa Blanca) \r\n           ================================================== *\/\r\n        .gallery-container {\r\n            display: grid;\r\n            grid-template-columns: repeat(4, 1fr);\r\n            grid-auto-rows: 200px;\r\n            gap: 12px;\r\n            grid-auto-flow: dense;\r\n            max-width: 1200px;\r\n            margin: 0 auto;\r\n        }\r\n\r\n        .gallery-item {\r\n            position: relative;\r\n            border-radius: 10px;\r\n            overflow: hidden;\r\n            border: 1px solid #222;\r\n            background: #111;\r\n            transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);\r\n            cursor: pointer; \/* A\u00f1adido para mostrar que es interactivo *\/\r\n        }\r\n\r\n        .gallery-item img {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n            transition: transform 0.6s ease;\r\n        }\r\n\r\n        \/* Capa blanca (invisible por defecto) *\/\r\n        .gallery-item::after {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0; left: 0; width: 100%; height: 100%;\r\n            background: rgba(255, 255, 255, 0); \r\n            transition: background 0.4s ease;\r\n            pointer-events: none;\r\n        }\r\n\r\n        \/* Efecto Hover: Transparencia blanca, Borde brillante, Salto 3D *\/\r\n        .gallery-item:hover {\r\n            transform: scale(1.05);\r\n            z-index: 10;\r\n            border-color: #fff;\r\n            box-shadow: 0 15px 35px rgba(255, 255, 255, 0.15);\r\n        }\r\n        .gallery-item:hover img {\r\n            transform: scale(1.1);\r\n        }\r\n        .gallery-item:hover::after {\r\n            background: rgba(255, 255, 255, 0.2); \r\n        }\r\n\r\n        .gallery-item.large { grid-column: span 2; grid-row: span 2; }\r\n        .gallery-item.wide { grid-column: span 2; grid-row: span 1; }\r\n        .gallery-item.tall { grid-column: span 1; grid-row: span 2; }\r\n\r\n        \/* MODAL DE GALER\u00cdA (Lightbox) *\/\r\n        #galleryModal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.85); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); z-index: 6000; justify-content: center; align-items: center; flex-direction: column; }\r\n        @keyframes cinematicReveal { 0% { transform: scale(0.85) translateY(40px); opacity: 0; } 100% { transform: scale(1) translateY(0); opacity: 1; box-shadow: 0 30px 60px rgba(0,0,0,0.9), 0 0 50px rgba(255, 215, 0, 0.2); } }\r\n        .gallery-modal-img { max-width: 90%; max-height: 85vh; border-radius: 8px; border: 1px solid #444; animation: cinematicReveal 0.4s cubic-bezier(0.2, 0.8, 0.2, 1) forwards; }\r\n        .close-gallery { position: absolute; top: 25px; right: 35px; font-size: 2.5rem; color: #888; cursor: pointer; transition: color 0.3s; z-index: 6001; }\r\n        .close-gallery:hover { color: var(--silver-vip); transform: scale(1.1); }\r\n\r\n        .history-content { background: #0d0d12; padding: 40px; border-radius: 15px; line-height: 1.8; border: 1px solid #222; transition: transform 0.3s; margin-bottom: 30px; text-align: justify; }\r\n        .history-content:hover { transform: scale(1.01); border-color: var(--primary-color); }\r\n\r\n        .ticket-box { background: var(--ticket-bg); border: 1px solid #222; border-radius: 10px; padding: 25px 30px; display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; transition: background 0.3s, border-color 0.3s, transform 0.3s; }\r\n        .ticket-box:hover { background: #16161f; border-color: var(--silver-vip); transform: translateX(5px); }\r\n        .ticket-box > div { flex: 1; }\r\n        .ticket-details h4 { font-size: 1.25rem; margin-bottom: 5px; color: #fff; font-weight: 700; }\r\n        .ticket-details p { color: #aaa; font-size: 0.9rem; }\r\n        .price { font-size: 1.4rem; font-weight: 800; color: var(--silver-vip); text-align: center; transition: opacity 0.3s ease; }\r\n        .ticket-action { text-align: right; }\r\n        .ticket-navigation { display: flex; justify-content: flex-end; gap: 15px; margin-top: 30px; padding-top: 20px; border-top: 1px solid #222; }\r\n\r\n        .modal-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); z-index: 2000; justify-content: center; align-items: center; }\r\n        .modal-box { background: #121218; padding: 40px; border-radius: 15px; width: 90%; max-width: 520px; text-align: center; position: relative; border: 1px solid var(--silver-vip); animation: zoomIn 0.3s ease-out forwards; box-shadow: 0 0 30px rgba(232, 232, 232, 0.2); }\r\n        .close-modal { position: absolute; top: 15px; right: 20px; font-size: 1.5rem; color: white; cursor: pointer; transition: color 0.3s; }\r\n        .close-modal:hover { color: var(--accent-color); }\r\n        .modal-box h3 { font-size: 2rem; margin-bottom: 10px; color: var(--silver-vip); }\r\n        .modal-box .date { font-weight: bold; margin-bottom: 20px; color: #ccc; }\r\n        .modal-box p { margin-bottom: 30px; line-height: 1.6; color: #ddd; }\r\n        .modal-buttons { display: flex; justify-content: center; gap: 15px; }\r\n\r\n        \/* CHECKOUT OVERLAY ORIGINAL LISO *\/\r\n        .checkout-page { position: fixed; top: 0; left: 100%; width: 100%; height: 100%; background-color: var(--bg-dark); z-index: 3000; transition: left 0.6s cubic-bezier(0.8, 0, 0.2, 1); overflow-y: auto; overflow-x: hidden; color: white; display: flex; flex-direction: column; }\r\n        .checkout-page.active { left: 0; }\r\n\r\n        .checkout-header { display: flex; justify-content: space-between; padding: 20px 5%; border-bottom: 1px solid #222; background: rgba(0,0,0,0.8); position: sticky; top: 0; z-index: 10;}\r\n        .btn-back { background: transparent; color: #aaa; border: none; font-size: 1rem; cursor: pointer; transition: color 0.3s; display: flex; align-items: center; gap: 10px; text-transform: uppercase; font-weight: bold; }\r\n        .btn-back:hover { color: var(--silver-vip); }\r\n        \r\n        .checkout-content { padding: 50px 5%; display: grid; grid-template-columns: 1.2fr 1fr; gap: 50px; max-width: 1200px; margin: 0 auto; width: 100%; }\r\n        .checkout-event-info { animation: fadeIn 0.8s 0.3s ease forwards; opacity: 0; }\r\n        .checkout-event-info h2 { font-size: 3rem; margin-bottom: 10px; color: var(--silver-vip); text-transform: uppercase; }\r\n        .checkout-event-info .chk-section { font-size: 1.5rem; color: var(--silver-vip); margin-bottom: 20px; }\r\n        \r\n        .chk-input-group { margin-top: 20px; background: #1a1a24; padding: 15px 20px; border-radius: 10px; border: 1px solid #444; }\r\n        .chk-input-group label { display: block; font-size: 0.9rem; color: #aaa; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 1px; }\r\n        .chk-input { width: 100%; background: #111; color: white; border: 1px solid #555; padding: 12px 15px; border-radius: 5px; font-size: 1.1rem; outline: none; transition: border-color 0.3s; }\r\n        .chk-input:focus { border-color: var(--silver-vip); }\r\n        \r\n        .checkout-ticket-visual { width: 100%; height: 180px; background: linear-gradient(45deg, #111, #222); border: 1px solid #444; border-radius: 15px; display: flex; justify-content: center; align-items: center; margin-top: 30px; position: relative; overflow: hidden; }\r\n        .checkout-ticket-visual::after { content:''; position: absolute; width: 50px; height: 100%; background: rgba(255,255,255,0.05); transform: skewX(-20deg); animation: shine 3s infinite; }\r\n        \r\n        .checkout-summary-card { background: #121216; border: 1px solid #333; border-radius: 15px; padding: 40px; box-shadow: 0 10px 30px rgba(0,0,0,0.8); animation: fadeIn 0.8s 0.5s ease forwards; opacity: 0; }\r\n        .checkout-summary-card h3 { font-size: 1.8rem; margin-bottom: 30px; border-bottom: 1px solid #333; padding-bottom: 15px; color: var(--silver-vip); }\r\n\r\n        .checkout-timer { background: rgba(232, 232, 232, 0.1); border: 1px solid rgba(232, 232, 232, 0.3); padding: 12px 15px; border-radius: 8px; text-align: center; font-weight: bold; margin-bottom: 25px; animation: pulseTimer 2s infinite; }\r\n        .checkout-timer span { color: var(--silver-vip); font-size: 1.3rem; margin-left: 5px; letter-spacing: 1px; }\r\n\r\n        .qty-control { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px; background: #1a1a24; padding: 15px 20px; border-radius: 10px; border: 1px solid #444; }\r\n        .qty-buttons { display: flex; align-items: center; gap: 20px; }\r\n        .qty-btn { width: 40px; height: 40px; border-radius: 50%; background: #333; color: white; border: none; font-size: 1.5rem; cursor: pointer; transition: background 0.3s; display: flex; justify-content: center; align-items: center; }\r\n        .qty-btn:hover { background: var(--silver-vip); color: #000; }\r\n        #chk-qty { font-size: 1.5rem; font-weight: bold; width: 30px; text-align: center; color: var(--silver-vip); }\r\n        \r\n        .price-row { display: flex; justify-content: space-between; margin-bottom: 15px; font-size: 1.1rem; color: #ccc; }\r\n        .price-total-row { display: flex; justify-content: space-between; margin-top: 20px; padding-top: 20px; border-top: 1px solid #444; font-size: 1.8rem; font-weight: bold; color: var(--silver-vip); }\r\n        \r\n        .btn-pay { width: 100%; padding: 18px; font-size: 1.2rem; background: linear-gradient(45deg, #ffffff, #999999); color: #000; border: none; border-radius: 30px; margin-top: 30px; font-weight: bold; cursor: pointer; transition: transform 0.3s, box-shadow 0.3s; text-transform: uppercase; letter-spacing: 2px; }\r\n        .btn-pay:hover { transform: translateY(-3px); box-shadow: 0 15px 30px rgba(232, 232, 232, 0.4); }\r\n\r\n        \/* MODAL DESCARGA PDF Y COMPRA EXITOSA *\/\r\n        #downloadModal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.8); backdrop-filter: blur(10px); z-index: 4000; justify-content: center; align-items: center; flex-direction: column; text-align: center; }\r\n        .ticket-preview { background: #fff; width: 90%; max-width: 600px; border-radius: 12px; padding: 20px; margin-bottom: 30px; color: #000; display: flex; box-shadow: 0 0 40px rgba(255,255,255,0.2); animation: zoomIn 0.5s forwards; text-align: left; position: relative; }\r\n        .tp-left { flex: 2; border-right: 2px dashed #ccc; padding-right: 20px; }\r\n        .tp-right { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding-left: 20px; }\r\n        .tp-logo { color: #000; font-weight: bold; font-size: 1.5rem; margin-bottom: 10px; }\r\n        .tp-event { font-size: 1.8rem; font-weight: 900; text-transform: uppercase; margin-bottom: 10px; line-height: 1.1; }\r\n        .tp-detail { font-size: 0.9rem; color: #555; margin-bottom: 5px; font-weight: bold; }\r\n        .tp-value { font-size: 1.1rem; color: #000; margin-bottom: 15px; display: block; }\r\n        \r\n        #successModal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.9); backdrop-filter: blur(10px); z-index: 5000; justify-content: center; align-items: center; flex-direction: column; text-align: center; }\r\n        .success-icon { font-size: 5rem; color: var(--silver-vip); margin-bottom: 20px; animation: zoomIn 0.5s cubic-bezier(0.4, 0, 0.2, 1); }\r\n        .success-text { font-size: 2rem; font-weight: bold; color: white; animation: fadeIn 1s 0.3s ease forwards; opacity: 0; }\r\n        .success-email { color: var(--silver-vip); font-weight: bold; }\r\n\r\n        \/* Contenedor Oculto para Generador PDF con QR Local *\/\r\n        #hidden-pdf-ticket { position: absolute; left: -9999px; top: -9999px; background: #ffffff; width: 800px; height: 350px; color: #000; border-radius: 15px; display: flex; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; box-sizing: border-box; }\r\n\r\n        footer { background: #030305; padding: 50px 5%; text-align: center; border-top: 1px solid #1a1a1a; position: relative; }\r\n        .social-icons { margin-bottom: 20px; }\r\n        .social-icons a { color: var(--text-light); font-size: 1.8rem; margin: 0 15px; transition: color 0.3s, transform 0.3s; display: inline-block; }\r\n        .social-icons a:hover { color: var(--silver-vip); transform: translateY(-5px); }\r\n        .footer-links { margin-bottom: 20px; }\r\n        .footer-links a { color: #888; text-decoration: none; font-size: 0.9rem; transition: color 0.3s; }\r\n        .footer-links a:hover { color: white; text-decoration: underline; }\r\n        .back-to-top { position: absolute; bottom: 30px; right: 5%; background: var(--silver-vip); color: #000; width: 50px; height: 50px; border-radius: 50%; display: flex; justify-content: center; align-items: center; font-size: 1.2rem; transition: background 0.3s, transform 0.3s; border: none; cursor: pointer; font-weight: bold; z-index: 100; }\r\n        .back-to-top:hover { background: #fff; transform: scale(1.1); }\r\n\r\n        @media (max-width: 1024px) { .concert-grid { grid-template-columns: repeat(2, 1fr); } }\r\n        @media (max-width: 768px) {\r\n            .hero-carousel { height: 70vh; }\r\n            .carousel-content h1 { font-size: 2.3rem; }\r\n            .nav-links { display: none; }\r\n            .ticket-box { flex-direction: column; text-align: center; gap: 15px; padding: 20px; }\r\n            .ticket-box > div { flex: none; width: 100%; text-align: center !important; }\r\n            .concert-grid, .gallery-container { grid-template-columns: 1fr; }\r\n            .gallery-item.large, .gallery-item.wide, .gallery-item.tall { grid-column: span 1; grid-row: span 1; }\r\n            .back-to-top { position: static; margin: 20px auto 0; }\r\n            .modal-buttons, .ticket-navigation { flex-direction: column; align-items: center; }\r\n            .ticket-navigation { justify-content: center; }\r\n            .ticket-preview { flex-direction: column; }\r\n            .tp-left { border-right: none; border-bottom: 2px dashed #ccc; padding-right: 0; padding-bottom: 20px; margin-bottom: 20px; }\r\n            .tp-right { padding-left: 0; }\r\n            .checkout-content { grid-template-columns: 1fr; gap: 30px; padding: 30px 5%; }\r\n            .checkout-event-info h2 { font-size: 2rem; }\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body id=\"inicio\">\r\n\r\n    <!-- CURSOR PERSONALIZADO DORADO -->\r\n    <div class=\"custom-cursor-dot\" id=\"cursor-dot\"><\/div>\r\n    <div class=\"custom-cursor-ring\" id=\"cursor-ring\"><\/div>\r\n\r\n    <nav>\r\n        <div class=\"logo\">Tickets<span>Live<\/span><\/div>\r\n        <ul class=\"nav-links\">\r\n            <li><a href=\"#historia\" data-lang=\"navHistory\">Historia<\/a><\/li>\r\n            <li><a href=\"#alberto\" data-lang=\"navAlberto\">Caguamos Rock Band<\/a><\/li>\r\n            <li><a href=\"#galeria\" data-lang=\"navGallery\">Galer\u00eda<\/a><\/li>\r\n            <li><a href=\"#boletos\" data-lang=\"navTickets\">Boletos<\/a><\/li>\r\n        <\/ul>\r\n        <div class=\"lang-selector\">\r\n            <select id=\"languageSelect\" onchange=\"changeLanguage()\">\r\n                <option value=\"es\">Espa\u00f1ol<\/option>\r\n                <option value=\"en\">English<\/option>\r\n                <option value=\"pt\">Portugu\u00eas<\/option>\r\n            <\/select>\r\n        <\/div>\r\n    <\/nav>\r\n\r\n    <div id=\"silverTicketOverlay\" class=\"ticket-transition-overlay\">\r\n        <div class=\"silver-ticket-3d\">\r\n            <span data-lang=\"name_alberto\">ALBERTO<br>EL \u00daLTIMO BAILE<\/span>\r\n            <span style=\"font-size: 1rem; color: #000; letter-spacing: 3px; margin-top: 5px; background: #fff; padding: 2px 10px; border-radius: 4px;\">VIP PASS<\/span>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Carrusel Hero Original (Con nuevas bandas) -->\r\n    <div class=\"hero-carousel\" id=\"heroCarousel\">\r\n        <button class=\"carousel-btn prev-btn\" onclick=\"prevSlide()\"><i class=\"fas fa-chevron-left\"><\/i><\/button>\r\n        <button class=\"carousel-btn next-btn\" onclick=\"nextSlide()\"><i class=\"fas fa-chevron-right\"><\/i><\/button>\r\n\r\n        <div class=\"carousel-slide active\" style=\"background-image: url('https:\/\/images.unsplash.com\/photo-1459749411175-04bf5292ceea?auto=format&fit=crop&w=1950&q=80'); background-attachment: fixed; background-size: cover; background-position: center;\">\r\n            <div class=\"carousel-overlay\"><\/div>\r\n            <div id=\"particles-container\"><\/div>\r\n            <div class=\"carousel-content fade-in\">\r\n                <h1 data-lang=\"name_alberto\">ALBERTO<br>EL \u00daLTIMO BAILE<\/h1>\r\n                <p data-lang=\"heroSub1\">Rock en Vivo - La gira de despedida y 44 Aniversario<\/p>\r\n                <div class=\"countdown-container\">\r\n                    <div class=\"countdown-box\"><span id=\"cd-days\">00<\/span><label data-lang=\"cdDays\">D\u00edas<\/label><\/div>\r\n                    <div class=\"countdown-box\"><span id=\"cd-hours\">00<\/span><label data-lang=\"cdHours\">Horas<\/label><\/div>\r\n                    <div class=\"countdown-box\"><span id=\"cd-mins\">00<\/span><label data-lang=\"cdMins\">Min<\/label><\/div>\r\n                    <div class=\"countdown-box\"><span id=\"cd-secs\">00<\/span><label data-lang=\"cdSecs\">Seg<\/label><\/div>\r\n                <\/div>\r\n                <button class=\"btn\" onclick=\"triggerSilverTicket()\" data-lang=\"heroBtn\">Comprar Boletos<\/button>\r\n            <\/div>\r\n        <\/div>\r\n        \r\n        <div class=\"carousel-slide\" style=\"background-image: url('https:\/\/images.unsplash.com\/photo-1540039155732-61ee14b1263c?auto=format&fit=crop&w=1950&q=80'); background-attachment: fixed; background-size: cover; background-position: center;\">\r\n            <div class=\"carousel-overlay\"><\/div>\r\n            <div class=\"carousel-content\">\r\n                <h1 data-lang=\"name_heroes\">H\u00e9roes del Silencio<\/h1>\r\n                <p data-lang=\"heroSub2\">Tributo Avalancha<\/p>\r\n                <button class=\"btn\" onclick=\"selectConcert('heroes')\" data-lang=\"heroBtn\">Comprar Boletos<\/button>\r\n            <\/div>\r\n        <\/div>\r\n        <div class=\"carousel-slide\" style=\"background-image: url('https:\/\/images.unsplash.com\/photo-1493225457124-a1a2a4af4048?auto=format&fit=crop&w=1950&q=80'); background-attachment: fixed; background-size: cover; background-position: center;\">\r\n            <div class=\"carousel-overlay\"><\/div>\r\n            <div class=\"carousel-content\">\r\n                <h1 data-lang=\"name_soda\">Soda Stereo<\/h1>\r\n                <p data-lang=\"heroSub3\">Gracias Totales Tour<\/p>\r\n                <button class=\"btn\" onclick=\"selectConcert('soda')\" data-lang=\"heroBtn\">Comprar Boletos<\/button>\r\n            <\/div>\r\n        <\/div>\r\n        <div class=\"carousel-slide\" style=\"background-image: url('https:\/\/images.unsplash.com\/photo-1598387993441-a3637e1066b5?auto=format&fit=crop&w=1950&q=80'); background-attachment: fixed; background-size: cover; background-position: center;\">\r\n            <div class=\"carousel-overlay\"><\/div>\r\n            <div class=\"carousel-content\">\r\n                <h1 data-lang=\"name_kiss\">KISS<\/h1>\r\n                <p data-lang=\"heroSub4\">End of the Road World Tour<\/p>\r\n                <button class=\"btn\" onclick=\"selectConcert('kiss')\" data-lang=\"heroBtn\">Comprar Boletos<\/button>\r\n            <\/div>\r\n        <\/div>\r\n        <div class=\"carousel-slide\" style=\"background-image: url('https:\/\/images.unsplash.com\/photo-1470229722913-7c0e2dbbafd3?auto=format&fit=crop&w=1950&q=80'); background-attachment: fixed; background-size: cover; background-position: center;\">\r\n            <div class=\"carousel-overlay\"><\/div>\r\n            <div class=\"carousel-content\">\r\n                <h1 data-lang=\"name_metallica\">Metallica<\/h1>\r\n                <p data-lang=\"heroSub5\">M72 World Tour<\/p>\r\n                <button class=\"btn\" onclick=\"selectConcert('metallica')\" data-lang=\"heroBtn\">Comprar Boletos<\/button>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Conciertos del Momento -->\r\n    <div class=\"section fade-in\">\r\n        <h2 class=\"section-title\" data-lang=\"trendingTitle\">Conciertos del Momento<\/h2>\r\n        <div class=\"concert-grid\">\r\n            <div class=\"concert-card special-card\" onclick=\"openModal('alberto')\" onmousemove=\"handleGlow(event, this)\">\r\n                <span class=\"special-badge\">Show Especial<\/span>\r\n                <div class=\"concert-img\" style=\"background: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.8)), url('https:\/\/images.unsplash.com\/photo-1459749411175-04bf5292ceea?auto=format&fit=crop&w=500&q=60');\">Rock En Vivo<\/div>\r\n                <div class=\"concert-info\"><h3 data-lang=\"name_alberto\">ALBERTO<br>EL \u00daLTIMO BAILE<\/h3><p data-lang=\"date_alberto\">S\u00e1bado 21 de Noviembre \u2022 Estadio Nacional<\/p><\/div>\r\n            <\/div>\r\n            <div class=\"concert-card\" onclick=\"openModal('voces')\">\r\n                <div class=\"concert-img\" style=\"background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('https:\/\/images.unsplash.com\/photo-1470229722913-7c0e2dbbafd3?auto=format&fit=crop&w=500&q=60');\">Festival Indie<\/div>\r\n                <div class=\"concert-info\"><h3 data-lang=\"name_voces\">Voces del Desierto<\/h3><p data-lang=\"date_voces\">Arena Ciudad \u2022 22 de Nov<\/p><\/div>\r\n            <\/div>\r\n            <div class=\"concert-card\" onclick=\"openModal('neon')\">\r\n                <div class=\"concert-img\" style=\"background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('https:\/\/images.unsplash.com\/photo-1493225457124-a1a2a4af4048?auto=format&fit=crop&w=500&q=60');\">Pop Tour<\/div>\r\n                <div class=\"concert-info\"><h3 data-lang=\"name_neon\">Noches de Ne\u00f3n<\/h3><p data-lang=\"date_neon\">Foro Central \u2022 01 de Dic<\/p><\/div>\r\n            <\/div>\r\n            <div class=\"concert-card\" onclick=\"openModal('metal')\">\r\n                <div class=\"concert-img\" style=\"background: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.8)), url('https:\/\/images.unsplash.com\/photo-1598387993441-a3637e1066b5?auto=format&fit=crop&w=500&q=60');\">Heavy Metal<\/div>\r\n                <div class=\"concert-info\"><h3 data-lang=\"name_metal\">Ecos de Metal<\/h3><p data-lang=\"date_metal\">Teatro Met\u00e1lico \u2022 10 de Dic<\/p><\/div>\r\n            <\/div>\r\n            <div class=\"concert-card\" onclick=\"openModal('sinfonia')\">\r\n                <div class=\"concert-img\" style=\"background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('https:\/\/images.unsplash.com\/photo-1506157786151-b8491531f063?auto=format&fit=crop&w=500&q=60');\">Cl\u00e1sica & Electro<\/div>\r\n                <div class=\"concert-info\"><h3 data-lang=\"name_sinfonia\">Sinfon\u00eda Urbana<\/h3><p data-lang=\"date_sinfonia\">Palacio Bellas Artes \u2022 15 de Dic<\/p><\/div>\r\n            <\/div>\r\n            <div class=\"concert-card\" onclick=\"openModal('ritmo')\">\r\n                <div class=\"concert-img\" style=\"background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('https:\/\/images.unsplash.com\/photo-1533174000244-b4623910fe58?auto=format&fit=crop&w=500&q=60');\">Fiesta Latina<\/div>\r\n                <div class=\"concert-info\"><h3 data-lang=\"name_ritmo\">Ritmo y Sabor<\/h3><p data-lang=\"date_ritmo\">Plaza de la Danza \u2022 20 de Dic<\/p><\/div>\r\n            <\/div>\r\n            <div class=\"concert-card\" onclick=\"openModal('leyendas')\">\r\n                <div class=\"concert-img\" style=\"background: linear-gradient(rgba(105,105,105,0.6), rgba(0,0,0,0.6)), url('https:\/\/images.unsplash.com\/photo-1474692295473-66ba4d54e0d3?auto=format&fit=crop&w=500&q=60');\">Tributo<\/div>\r\n                <div class=\"concert-info\"><h3 data-lang=\"name_leyendas\">Leyendas del Rock<\/h3><p data-lang=\"date_leyendas\">Estadio GNP \u2022 05 de Ene<\/p><\/div>\r\n            <\/div>\r\n            <div class=\"concert-card\" onclick=\"openModal('acustico')\">\r\n                <div class=\"concert-img\" style=\"background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('https:\/\/images.unsplash.com\/photo-1514525253161-7a46d19cd819?auto=format&fit=crop&w=500&q=60');\">Unplugged<\/div>\r\n                <div class=\"concert-info\"><h3 data-lang=\"name_acustico\">Ac\u00fastico Estrellas<\/h3><p data-lang=\"date_acustico\">Jard\u00edn Bot\u00e1nico \u2022 14 de Feb<\/p><\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Historia -->\r\n    <div id=\"historia\" class=\"section fade-in\">\r\n        <h2 class=\"section-title\" data-lang=\"historyTitle\">Historia de la Banda<\/h2>\r\n        <div class=\"history-content\" data-lang=\"historyText1\">\r\n            Hay bandas que persiguen tendencias y otras que simplemente viven por la m\u00fasica. Caguamos Rock Band pertenece a la segunda categor\u00eda. Formada en 2013 por cuatro m\u00fasicos mexicanos unidos por la amistad, la pasi\u00f3n por el escenario y el amor por el rock, la agrupaci\u00f3n se ha consolidado como una propuesta que celebra algunas de las mejores canciones que han marcado generaciones.<br><br>\r\n            Integrada por Luis en la bater\u00eda, Arturo en el bajo, To\u00f1o en la guitarra y Beto en la voz, la banda encuentra su esencia en un repertorio que conecta con el coraz\u00f3n de cualquier amante del rock. Desde los grandes himnos en espa\u00f1ol hasta los cl\u00e1sicos inmortales en ingl\u00e9s, Caguamos Rock Band recorre las d\u00e9cadas de los 80, 90 y 2000 con una energ\u00eda que transforma cada presentaci\u00f3n en una experiencia cargada de nostalgia, fuerza y autenticidad.<br><br>\r\n            Las influencias de la banda son tan diversas como contundentes. La poes\u00eda el\u00e9ctrica de H\u00e9roes del Silencio, la sofisticaci\u00f3n sonora de Soda Stereo, los paisajes musicales de Pink Floyd y la crudeza honesta del Rock Urbano mexicano conviven en un estilo propio que honra a los originales sin perder personalidad. Lejos de limitarse a interpretar canciones, el grupo busca transmitir la emoci\u00f3n y la intensidad que hicieron de estos artistas referentes para millones de personas.<br><br>\r\n            Sobre el escenario, Caguamos Rock Band entiende una verdad fundamental: el rock no se escucha, se vive. Cada acorde, cada golpe de bater\u00eda y cada coro compartido con el p\u00fablico son una invitaci\u00f3n a viajar por distintas \u00e9pocas de la historia musical, donde las canciones siguen teniendo la misma capacidad de emocionar que la primera vez que sonaron.<br><br>\r\n            Despu\u00e9s de m\u00e1s de una d\u00e9cada de trayectoria, la banda contin\u00faa demostrando que el rock est\u00e1 lejos de ser un recuerdo del pasado. Caguamos Rock Band es una celebraci\u00f3n permanente de la m\u00fasica que marc\u00f3 vidas, una reuni\u00f3n entre amigos que se convirti\u00f3 en proyecto y una prueba de que los grandes cl\u00e1sicos nunca dejan de encontrar nuevas voces para mantenerlos vigentes.<br><br>\r\n            Porque mientras existan escenarios, guitarras encendidas y personas dispuestas a cantar a todo pulm\u00f3n, el rock seguir\u00e1 vivo. Y Caguamos Rock Band est\u00e1 aqu\u00ed para recordarlo.\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Alberto -->\r\n    <div id=\"alberto\" class=\"section fade-in\" style=\"padding-top: 0;\">\r\n        <h2 class=\"section-title silver-title\" data-lang=\"albertoTitle\">Alberto Ruiz Chan<\/h2>\r\n        <div class=\"history-content\" style=\"border-color: rgba(232, 232, 232, 0.3);\">\r\n            <p data-lang=\"historyText2\">Nacido el 24 de octubre de 1982 en la vibrante Ciudad de M\u00e9xico, <strong>Alberto Ruiz Chan<\/strong> creci\u00f3 rodeado de m\u00fasica. Su gira celebra su cumplea\u00f1os n\u00famero 44.<\/p>\r\n            <br>\r\n            <p data-lang=\"historyText3\">\r\n                Despu\u00e9s de m\u00e1s de una d\u00e9cada de historia, amistad y rock, Caguamos Rock Band vuelve a reunirse para una noche irrepetible. El pr\u00f3ximo 21 de noviembre de 2026, Luis, Arturo, To\u00f1o y Beto subir\u00e1n nuevamente al escenario para ofrecer \"El \u00daltimo Vals\", un concierto especial que marcar\u00e1 la despedida de la banda.<br><br>\r\n                Ser\u00e1 una celebraci\u00f3n de los grandes cl\u00e1sicos del rock en espa\u00f1ol e ingl\u00e9s de los 80, 90 y 2000, las canciones que nos unieron desde 2013 y que compartimos con todos ustedes a lo largo de los a\u00f1os.<br><br>\r\n                La noche estar\u00e1 llena de emociones, recuerdos, invitados especiales, sorpresas \u00fanicas y toda la energ\u00eda que siempre caracteriz\u00f3 a Caguamos Rock Band.<br><br>\r\n                Los boletos ya est\u00e1n disponibles. No te pierdas la oportunidad de formar parte de este \u00faltimo cap\u00edtulo y despedir junto a nosotros una historia escrita con amistad, pasi\u00f3n y mucho rock.<br><br>\r\n                Caguamos Rock Band presenta: \"El \u00daltimo Vals\"<br>\r\n                \ud83d\udcc5 21 de noviembre de 2026<br>\r\n                \ud83c\udfb8 Una \u00faltima noche. Una \u00faltima canci\u00f3n. Un \u00faltimo brindis. \ud83c\udf7b\ud83e\udd18\r\n            <\/p>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- NUEVA GALER\u00cdA (BENTO BOX + CAPA BLANCA) SUSTITUIDA AQU\u00cd -->\r\n    <div id=\"galeria\" class=\"section fade-in\">\r\n        <h2 class=\"section-title silver-title\" data-lang=\"galeriaTitle\">Galer\u00eda<\/h2>\r\n        <div class=\"gallery-container\">\r\n            <!-- 20 items calculados perfectamente sin huecos, todos con la funci\u00f3n 'onclick' para que el modal funcione -->\r\n            <div class=\"gallery-item large\" onclick=\"openGallery('https:\/\/images.unsplash.com\/photo-1459749411175-04bf5292ceea?auto=format&fit=crop&w=1200&q=80')\">\r\n                <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1459749411175-04bf5292ceea?auto=format&fit=crop&w=600&q=80\" alt=\"Foto 1\">\r\n            <\/div>\r\n            <div class=\"gallery-item wide\" onclick=\"openGallery('https:\/\/images.unsplash.com\/photo-1493225457124-a1a2a4af4048?auto=format&fit=crop&w=1200&q=80')\">\r\n                <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1493225457124-a1a2a4af4048?auto=format&fit=crop&w=600&q=80\" alt=\"Foto 2\">\r\n            <\/div>\r\n            <div class=\"gallery-item tall\" onclick=\"openGallery('https:\/\/images.unsplash.com\/photo-1598387993441-a3637e1066b5?auto=format&fit=crop&w=1200&q=80')\">\r\n                <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1598387993441-a3637e1066b5?auto=format&fit=crop&w=400&q=80\" alt=\"Foto 3\">\r\n            <\/div>\r\n            <div class=\"gallery-item\" onclick=\"openGallery('https:\/\/images.unsplash.com\/photo-1540039155732-61ee14b1263c?auto=format&fit=crop&w=1200&q=80')\">\r\n                <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1540039155732-61ee14b1263c?auto=format&fit=crop&w=400&q=80\" alt=\"Foto 4\">\r\n            <\/div>\r\n            \r\n            <div class=\"gallery-item wide\" onclick=\"openGallery('https:\/\/images.unsplash.com\/photo-1514525253161-7a46d19cd819?auto=format&fit=crop&w=1200&q=80')\">\r\n                <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1514525253161-7a46d19cd819?auto=format&fit=crop&w=600&q=80\" alt=\"Foto 5\">\r\n            <\/div>\r\n            <div class=\"gallery-item\" onclick=\"openGallery('https:\/\/images.unsplash.com\/photo-1470229722913-7c0e2dbbafd3?auto=format&fit=crop&w=1200&q=80')\">\r\n                <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1470229722913-7c0e2dbbafd3?auto=format&fit=crop&w=400&q=80\" alt=\"Foto 6\">\r\n            <\/div>\r\n            <div class=\"gallery-item tall\" onclick=\"openGallery('https:\/\/images.unsplash.com\/photo-1506157786151-b8491531f063?auto=format&fit=crop&w=1200&q=80')\">\r\n                <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1506157786151-b8491531f063?auto=format&fit=crop&w=400&q=80\" alt=\"Foto 7\">\r\n            <\/div>\r\n            <div class=\"gallery-item large\" onclick=\"openGallery('https:\/\/images.unsplash.com\/photo-1533174000244-b4623910fe58?auto=format&fit=crop&w=1200&q=80')\">\r\n                <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1533174000244-b4623910fe58?auto=format&fit=crop&w=600&q=80\" alt=\"Foto 8\">\r\n            <\/div>\r\n            \r\n            <div class=\"gallery-item tall\" onclick=\"openGallery('https:\/\/images.unsplash.com\/photo-1474692295473-66ba4d54e0d3?auto=format&fit=crop&w=1200&q=80')\">\r\n                <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1474692295473-66ba4d54e0d3?auto=format&fit=crop&w=400&q=80\" alt=\"Foto 9\">\r\n            <\/div>\r\n            <div class=\"gallery-item\" onclick=\"openGallery('https:\/\/images.unsplash.com\/photo-1501281668745-f7f57925c3b4?auto=format&fit=crop&w=1200&q=80')\">\r\n                <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1501281668745-f7f57925c3b4?auto=format&fit=crop&w=400&q=80\" alt=\"Foto 10\">\r\n            <\/div>\r\n            <div class=\"gallery-item wide\" onclick=\"openGallery('https:\/\/images.unsplash.com\/photo-1516450360452-9312f5e86fc7?auto=format&fit=crop&w=1200&q=80')\">\r\n                <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1516450360452-9312f5e86fc7?auto=format&fit=crop&w=600&q=80\" alt=\"Foto 11\">\r\n            <\/div>\r\n            <div class=\"gallery-item\" onclick=\"openGallery('https:\/\/images.unsplash.com\/photo-1526478806334-5fd488fcaabc?auto=format&fit=crop&w=1200&q=80')\">\r\n                <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1526478806334-5fd488fcaabc?auto=format&fit=crop&w=400&q=80\" alt=\"Foto 12\">\r\n            <\/div>\r\n            \r\n            <div class=\"gallery-item wide\" onclick=\"openGallery('https:\/\/images.unsplash.com\/photo-1429962714451-ea93426c1165?auto=format&fit=crop&w=1200&q=80')\">\r\n                <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1429962714451-ea93426c1165?auto=format&fit=crop&w=600&q=80\" alt=\"Foto 13\">\r\n            <\/div>\r\n            <div class=\"gallery-item tall\" onclick=\"openGallery('https:\/\/images.unsplash.com\/photo-1524368535928-5b5e00ddc76b?auto=format&fit=crop&w=1200&q=80')\">\r\n                <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1524368535928-5b5e00ddc76b?auto=format&fit=crop&w=400&q=80\" alt=\"Foto 14\">\r\n            <\/div>\r\n            <div class=\"gallery-item tall\" onclick=\"openGallery('https:\/\/images.unsplash.com\/photo-1470225620780-dba8ba36b745?auto=format&fit=crop&w=1200&q=80')\">\r\n                <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1470225620780-dba8ba36b745?auto=format&fit=crop&w=400&q=80\" alt=\"Foto 15\">\r\n            <\/div>\r\n            <div class=\"gallery-item\" onclick=\"openGallery('https:\/\/images.unsplash.com\/photo-1501386761578-eac5c94b800a?auto=format&fit=crop&w=1200&q=80')\">\r\n                <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1501386761578-eac5c94b800a?auto=format&fit=crop&w=400&q=80\" alt=\"Foto 16\">\r\n            <\/div>\r\n            \r\n            <div class=\"gallery-item\" onclick=\"openGallery('https:\/\/images.unsplash.com\/photo-1510511459019-5d26af37eb81?auto=format&fit=crop&w=1200&q=80')\">\r\n                <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1510511459019-5d26af37eb81?auto=format&fit=crop&w=400&q=80\" alt=\"Foto 17\">\r\n            <\/div>\r\n            <div class=\"gallery-item\" onclick=\"openGallery('https:\/\/images.unsplash.com\/photo-1508700115892-45ecd05ae2ad?auto=format&fit=crop&w=1200&q=80')\">\r\n                <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1508700115892-45ecd05ae2ad?auto=format&fit=crop&w=400&q=80\" alt=\"Foto 18\">\r\n            <\/div>\r\n            <div class=\"gallery-item\" onclick=\"openGallery('https:\/\/images.unsplash.com\/photo-1478737270239-2f02b77fc618?auto=format&fit=crop&w=1200&q=80')\">\r\n                <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1478737270239-2f02b77fc618?auto=format&fit=crop&w=400&q=80\" alt=\"Foto 19\">\r\n            <\/div>\r\n            <div class=\"gallery-item wide\" onclick=\"openGallery('https:\/\/images.unsplash.com\/photo-1520095972714-909e91b053c1?auto=format&fit=crop&w=1200&q=80')\">\r\n                <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1520095972714-909e91b053c1?auto=format&fit=crop&w=600&q=80\" alt=\"Foto 20\">\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Boletos -->\r\n    <div id=\"boletos\" class=\"section fade-in\">\r\n        <h2 class=\"section-title silver-title\">\r\n            <span data-lang=\"ticketsTitle\">Boletos Disponibles:<\/span> \r\n            <span id=\"ticketArtistName\" data-lang=\"name_alberto\" style=\"color: var(--highlight-yellow); font-weight: bold; margin-left: 10px;\">ALBERTO<br>EL \u00daLTIMO BAILE<\/span>\r\n        <\/h2>\r\n        \r\n        <div class=\"ticket-box fade-in\">\r\n            <div class=\"ticket-details\"><h4 data-lang=\"ticket1Title\">Secci\u00f3n General A<\/h4><p data-lang=\"ticket1Desc\">De pie, frente al escenario.<\/p><\/div>\r\n            <div class=\"price\" id=\"price-general\">$3,500 MXN<\/div>\r\n            <div class=\"ticket-action\"><button class=\"btn\" onclick=\"openCheckout('price-general', 'ticket1Title')\" data-lang=\"buyBtn\">Seleccionar<\/button><\/div>\r\n        <\/div>\r\n        <div class=\"ticket-box fade-in\">\r\n            <div class=\"ticket-details\"><h4 data-lang=\"ticket2Title\">Gradas Laterales<\/h4><p data-lang=\"ticket2Desc\">Asiento numerado, excelente ac\u00fastica.<\/p><\/div>\r\n            <div class=\"price\" id=\"price-gradas\">$2,500 MXN<\/div>\r\n            <div class=\"ticket-action\"><button class=\"btn\" onclick=\"openCheckout('price-gradas', 'ticket2Title')\" data-lang=\"buyBtn\">Seleccionar<\/button><\/div>\r\n        <\/div>\r\n        <div class=\"ticket-box fade-in\">\r\n            <div class=\"ticket-details\"><h4 data-lang=\"ticket3Title\">VIP Meet & Greet<\/h4><p data-lang=\"ticket3Desc\">Acceso anticipado, p\u00f3ster firmado y pase especial.<\/p><\/div>\r\n            <div class=\"price\" id=\"price-vip\">$8,500 MXN<\/div>\r\n            <div class=\"ticket-action\"><button class=\"btn\" onclick=\"openCheckout('price-vip', 'ticket3Title')\" data-lang=\"buyBtn\">Seleccionar<\/button><\/div>\r\n        <\/div>\r\n        <div class=\"ticket-navigation fade-in\">\r\n            <button class=\"btn-outline\" onclick=\"prevConcertTickets()\"><i class=\"fas fa-arrow-left\"><\/i> <span data-lang=\"navPrev\">Anterior<\/span><\/button>\r\n            <button class=\"btn-outline\" onclick=\"nextConcertTickets()\"><span data-lang=\"navNext\">Siguiente Concierto<\/span> <i class=\"fas fa-arrow-right\"><\/i><\/button>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- OVERLAY CHECKOUT -->\r\n    <div id=\"checkoutPage\" class=\"checkout-page\">\r\n        <nav class=\"checkout-header\">\r\n            <button class=\"btn-back\" onclick=\"closeCheckout()\"><i class=\"fas fa-arrow-left\"><\/i> <span data-lang=\"chkBack\">Volver<\/span><\/button>\r\n            <div class=\"logo\">Tickets<span>Live<\/span> Checkout<\/div>\r\n        <\/nav>\r\n        \r\n        <div class=\"checkout-content\">\r\n            <div class=\"checkout-event-info\">\r\n                <h2 id=\"chk-artist-name\">Artista<\/h2>\r\n                <div class=\"chk-section\" id=\"chk-section-name\">Secci\u00f3n VIP<\/div>\r\n                <div class=\"chk-input-group\">\r\n                    <label data-lang=\"chkDateLabel\">Confirma la Fecha de Asistencia:<\/label>\r\n                    <select id=\"chk-date\" class=\"chk-input\" required><\/select>\r\n                <\/div>\r\n                <div class=\"chk-input-group\">\r\n                    <label data-lang=\"chkEmailLabel\">Correo Electr\u00f3nico (Para env\u00edo de boletos):<\/label>\r\n                    <input type=\"email\" id=\"chk-email\" class=\"chk-input\" required placeholder=\"tu@correo.com\">\r\n                <\/div>\r\n                <div class=\"checkout-ticket-visual\">\r\n                    <i class=\"fas fa-qrcode\" style=\"font-size: 6rem; color: rgba(255,255,255,0.1);\"><\/i>\r\n                    <div style=\"position: absolute; bottom: 20px; left: 20px; font-weight: bold; letter-spacing: 2px; color: var(--silver-vip);\">ADMIT ONE<\/div>\r\n                <\/div>\r\n            <\/div>\r\n            \r\n            <div class=\"checkout-summary-card\">\r\n                <h3 data-lang=\"chkSummary\">Resumen de Compra<\/h3>\r\n                <div class=\"checkout-timer\">\r\n                    <i class=\"fas fa-hourglass-half\"><\/i> <span data-lang=\"chkTimeInfo\" style=\"font-size: 1rem; color: white;\">Tiempo restante:<\/span> <span id=\"chk-timer\">05:00<\/span>\r\n                <\/div>\r\n                <div class=\"qty-control\">\r\n                    <span data-lang=\"chkQtyLabel\" style=\"font-size: 1.1rem; color: #ccc;\">Boletos<\/span>\r\n                    <div class=\"qty-buttons\">\r\n                        <button class=\"qty-btn\" onclick=\"changeQty(-1)\">-<\/button>\r\n                        <span id=\"chk-qty\">1<\/span>\r\n                        <button class=\"qty-btn\" onclick=\"changeQty(1)\">+<\/button>\r\n                    <\/div>\r\n                <\/div>\r\n                <div class=\"price-row\">\r\n                    <span><span id=\"chk-qty-multiplier\">1<\/span> x <span data-lang=\"chkTicket\">Boleto(s)<\/span><\/span>\r\n                    <span id=\"chk-subtotal\">$0 MXN<\/span>\r\n                <\/div>\r\n                <div class=\"price-row\">\r\n                    <span data-lang=\"chkService\">Cargo por Servicio<\/span>\r\n                    <span id=\"chk-fee\">$250 MXN<\/span>\r\n                <\/div>\r\n                <div class=\"price-total-row\">\r\n                    <span data-lang=\"chkTotal\">Total<\/span>\r\n                    <span id=\"chk-total\">$0 MXN<\/span>\r\n                <\/div>\r\n                <button class=\"btn-pay\" onclick=\"processPayment()\" data-lang=\"chkPayBtn\">Proceder al Pago<\/button>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- MODALES DE COMPRA Y PDF -->\r\n    <div id=\"downloadModal\" class=\"modal-overlay\">\r\n        <h2 style=\"color: var(--silver-vip); margin-bottom: 20px; font-size: 2.5rem; position: relative; z-index: 2001;\" data-lang=\"modalReady\">\u00a1Tus boletos est\u00e1n listos!<\/h2>\r\n        <div class=\"ticket-preview\" id=\"ticket-preview-box\" style=\"position: relative; z-index: 2001;\">\r\n            <div class=\"tp-left\">\r\n                <div class=\"tp-logo\">TicketsLive<\/div>\r\n                <div class=\"tp-event\" id=\"tp-event-name\">Concierto<\/div>\r\n                <div class=\"tp-detail\" data-lang=\"chkDateLabel\">Fecha:<\/div>\r\n                <span class=\"tp-value\" id=\"tp-date\">--\/--\/----<\/span>\r\n                <div class=\"tp-detail\">Secci\u00f3n:<\/div>\r\n                <span class=\"tp-value\" id=\"tp-section\">--<\/span>\r\n                <div class=\"tp-detail\">Cantidad y Total:<\/div>\r\n                <span class=\"tp-value\" id=\"tp-total\">--<\/span>\r\n            <\/div>\r\n            <div class=\"tp-right\">\r\n                <i class=\"fas fa-qrcode\" style=\"font-size: 5rem;\"><\/i>\r\n                <span style=\"font-size: 0.7rem; margin-top: 10px; color: #666;\">#894573902<\/span>\r\n            <\/div>\r\n        <\/div>\r\n        <button class=\"btn btn-silver\" onclick=\"downloadPDF()\" style=\"font-size: 1.2rem; padding: 15px 40px; margin-bottom: 15px; position: relative; z-index: 2001;\">\r\n            <i class=\"fas fa-file-pdf\"><\/i> <span data-lang=\"btnDownload\">Descargar Boletos (PDF)<\/span>\r\n        <\/button>\r\n        <button class=\"btn-outline\" onclick=\"finishPurchase()\" style=\"color: white; border-color: transparent; position: relative; z-index: 2001;\">Continuar sin descargar<\/button>\r\n    <\/div>\r\n\r\n    <!-- C\u00d3DIGO QR Y ESTRUCTURA PDF OCULTA -->\r\n    <div id=\"hidden-pdf-ticket\">\r\n        <div style=\"flex: 2; padding: 30px; border-right: 3px dashed #ccc;\">\r\n            <h1 style=\"color: #000; margin-bottom: 10px;\">TicketsLive <span style=\"color: #666; font-size: 1rem; font-weight: normal;\">OFFICIAL TICKET<\/span><\/h1>\r\n            <h2 id=\"pdf-event-name\" style=\"font-size: 2.2rem; margin-bottom: 20px; text-transform: uppercase;\">Concierto<\/h2>\r\n            <p style=\"color: #555; font-weight: bold; margin-bottom: 5px;\">FECHA:<\/p>\r\n            <p id=\"pdf-date\" style=\"font-size: 1.2rem; margin-bottom: 15px;\">--\/--\/----<\/p>\r\n            <p style=\"color: #555; font-weight: bold; margin-bottom: 5px;\">SECCI\u00d3N:<\/p>\r\n            <p id=\"pdf-section\" style=\"font-size: 1.2rem; margin-bottom: 15px;\">--<\/p>\r\n            <div style=\"display: flex; gap: 40px;\">\r\n                <div><p style=\"color: #555; font-weight: bold; margin-bottom: 5px;\">BOLETOS:<\/p><p id=\"pdf-qty\" style=\"font-size: 1.2rem;\">0<\/p><\/div>\r\n                <div><p style=\"color: #555; font-weight: bold; margin-bottom: 5px;\">TOTAL PAGADO:<\/p><p id=\"pdf-total\" style=\"font-size: 1.2rem; font-weight: bold;\">$0 MXN<\/p><\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div style=\"flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; background: #f9f9f9; border-radius: 0 15px 15px 0;\">\r\n            <img decoding=\"async\" src=\"file:\/\/\/C:\/Users\/jhernandez\/Desktop\/el%20ultimo%20viaje\/qr.png\" alt=\"QR Code\" style=\"width: 120px; height: 120px; border-radius: 8px;\">\r\n            <p style=\"margin-top: 15px; font-family: monospace; letter-spacing: 2px;\">#894573902<\/p>\r\n            <p style=\"margin-top: 5px; font-weight: bold; font-size: 1.2rem;\">ADMIT ONE<\/p>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Modales Globales -->\r\n    <div id=\"concertModal\" class=\"modal-overlay\">\r\n        <div class=\"modal-box\">\r\n            <span class=\"close-modal\" onclick=\"closeModal()\"><i class=\"fas fa-times\"><\/i><\/span>\r\n            <h3 id=\"modalTitle\" data-lang=\"\">T\u00edtulo<\/h3>\r\n            <p id=\"modalDate\" class=\"date\" data-lang=\"\">Fecha<\/p>\r\n            <p id=\"modalDesc\" data-lang=\"\">Descripci\u00f3n<\/p>\r\n            <div class=\"modal-buttons\">\r\n                <button class=\"btn\" onclick=\"buyFromModal()\" data-lang=\"heroBtn\">Comprar Boletos<\/button>\r\n                <button class=\"btn-outline\" style=\"border-color: #555;\" onclick=\"closeModal()\" data-lang=\"closeBtn\">Cerrar<\/button>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <div id=\"galleryModal\" onclick=\"if(event.target === this) closeGallery()\">\r\n        <span class=\"close-gallery\" onclick=\"closeGallery()\"><i class=\"fas fa-times\"><\/i><\/span>\r\n        <img decoding=\"async\" class=\"gallery-modal-img\" id=\"galleryModalImage\" src=\"\" alt=\"Vista ampliada\">\r\n    <\/div>\r\n\r\n    <div id=\"successModal\" class=\"modal-overlay\" style=\"background: rgba(0,0,0,0.95); z-index: 5000;\">\r\n        <div style=\"position: relative; z-index: 5001;\">\r\n            <i class=\"fas fa-check-circle success-icon\" style=\"font-size: 5rem; color: #00e676; margin-bottom: 20px;\"><\/i>\r\n            <div class=\"success-text\" data-lang=\"chkSuccess\" style=\"font-size: 2rem; font-weight: bold; color: white;\">\u00a1Compra Exitosa!<\/div>\r\n            <p style=\"color: #aaa; margin-top: 10px; font-size: 1.2rem;\">\r\n                <span data-lang=\"successEmailMsg\">Tus boletos han sido enviados a:<\/span><br>\r\n                <span class=\"success-email\" id=\"success-email-display\" style=\"color: var(--silver-vip);\">tu@correo.com<\/span>\r\n            <\/p>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Footer -->\r\n    <footer>\r\n        <div class=\"social-icons\">\r\n            <a href=\"#\"><i class=\"fab fa-facebook-f\"><\/i><\/a>\r\n            <a href=\"#\"><i class=\"fab fa-linkedin-in\"><\/i><\/a>\r\n            <a href=\"#\"><i class=\"fab fa-instagram\"><\/i><\/a>\r\n            <a href=\"#\"><i class=\"fab fa-tiktok\"><\/i><\/a>\r\n        <\/div>\r\n        <div class=\"footer-links\"><a href=\"#\" data-lang=\"privacy\">Aviso de Privacidad<\/a><\/div>\r\n        <p style=\"color: #666; font-size: 0.8rem;\">&copy; 2026 TicketsLive. Todos los derechos reservados.<\/p>\r\n        <button onclick=\"scrollToTop()\" class=\"back-to-top\" title=\"Volver al inicio\"><i class=\"fas fa-chevron-up\"><\/i><\/button>\r\n    <\/footer>\r\n\r\n    <script>\r\n        \/\/ --- L\u00d3GICA DEL CURSOR DORADO ---\r\n        const cursorDot = document.getElementById('cursor-dot');\r\n        const cursorRing = document.getElementById('cursor-ring');\r\n        let mouseX = 0, mouseY = 0; let ringX = 0, ringY = 0;\r\n\r\n        window.addEventListener('mousemove', (e) => {\r\n            mouseX = e.clientX; mouseY = e.clientY;\r\n            cursorDot.style.transform = `translate(calc(${mouseX}px - 50%), calc(${mouseY}px - 50%))`;\r\n        });\r\n        function animateRing() {\r\n            let distX = mouseX - ringX; let distY = mouseY - ringY;\r\n            ringX += distX * 0.15; ringY += distY * 0.15;\r\n            cursorRing.style.transform = `translate(calc(${ringX}px - 50%), calc(${ringY}px - 50%))`;\r\n            requestAnimationFrame(animateRing);\r\n        }\r\n        animateRing();\r\n        \r\n        \/\/ El cursor detecta la galer\u00eda y dem\u00e1s botones\r\n        document.querySelectorAll('a, button, select, .concert-card, .gallery-item, input').forEach(el => {\r\n            el.addEventListener('mouseenter', () => cursorRing.classList.add('hovered'));\r\n            el.addEventListener('mouseleave', () => cursorRing.classList.remove('hovered'));\r\n        });\r\n\r\n        \/\/ UTILIDADES Y CARRUSEL\r\n        function scrollToTop() { window.scrollTo({ top: 0, behavior: 'smooth' }); }\r\n        \r\n        function handleGlow(e, card) {\r\n            const rect = card.getBoundingClientRect();\r\n            const x = e.clientX - rect.left;\r\n            const y = e.clientY - rect.top;\r\n            card.style.setProperty('--mouse-x', x + 'px');\r\n            card.style.setProperty('--mouse-y', y + 'px');\r\n        }\r\n\r\n        function triggerSilverTicket() {\r\n            const overlay = document.getElementById('silverTicketOverlay'); overlay.style.display = 'flex';\r\n            setTimeout(() => { overlay.style.display = 'none'; selectConcert('alberto'); }, 3000);\r\n        }\r\n\r\n        let currentSlide = 0; const slides = document.querySelectorAll('.carousel-slide');\r\n        function showSlide(index) {\r\n            slides.forEach(s => s.classList.remove('active'));\r\n            currentSlide = (index >= slides.length) ? 0 : (index < 0 ? slides.length - 1 : index);\r\n            slides[currentSlide].classList.add('active');\r\n        }\r\n        function nextSlide() { showSlide(currentSlide + 1); }\r\n        function prevSlide() { showSlide(currentSlide - 1); }\r\n        let slideInterval = setInterval(nextSlide, 5000);\r\n\r\n        \/\/ RELOJ REAL\r\n        const eventTargetDate = new Date('2026-11-21T21:00:00').getTime();\r\n        function updateRealCountdown() {\r\n            const now = new Date().getTime(); const difference = eventTargetDate - now;\r\n            if (difference > 0) {\r\n                document.getElementById('cd-days').innerText = Math.floor(difference \/ (1000 * 60 * 60 * 24)).toString().padStart(2, '0');\r\n                document.getElementById('cd-hours').innerText = Math.floor((difference % (1000 * 60 * 60 * 24)) \/ (1000 * 60 * 60)).toString().padStart(2, '0');\r\n                document.getElementById('cd-mins').innerText = Math.floor((difference % (1000 * 60 * 60)) \/ (1000 * 60)).toString().padStart(2, '0');\r\n                document.getElementById('cd-secs').innerText = Math.floor((difference % (1000 * 60)) \/ 1000).toString().padStart(2, '0');\r\n            }\r\n        }\r\n        setInterval(updateRealCountdown, 1000); updateRealCountdown();\r\n\r\n        \/\/ BASE DE DATOS Y PAGOS\r\n        const concertDb = { \"alberto\": [\"$3,500 MXN\", \"$2,500 MXN\", \"$8,500 MXN\"], \"heroes\": [\"$1,200 MXN\", \"$800 MXN\", \"$2,500 MXN\"], \"soda\": [\"$1,500 MXN\", \"$900 MXN\", \"$3,000 MXN\"], \"kiss\": [\"$4,000 MXN\", \"$2,500 MXN\", \"$10,000 MXN\"], \"metallica\": [\"$3,800 MXN\", \"$2,200 MXN\", \"$9,000 MXN\"], \"voces\": [\"$1,800 MXN\", \"$1,200 MXN\", \"$4,000 MXN\"], \"neon\": [\"$1,200 MXN\", \"$800 MXN\", \"$2,800 MXN\"], \"metal\": [\"$1,600 MXN\", \"$1,000 MXN\", \"$3,200 MXN\"], \"sinfonia\": [\"$1,400 MXN\", \"$950 MXN\", \"$3,000 MXN\"], \"ritmo\": [\"$1,000 MXN\", \"$700 MXN\", \"$2,500 MXN\"], \"leyendas\": [\"$1,100 MXN\", \"$750 MXN\", \"$2,600 MXN\"], \"acustico\": [\"$900 MXN\", \"$600 MXN\", \"$2,200 MXN\"] };\r\n        const allIds = Object.keys(concertDb); let currentConcertIndex = 0; let currentModalId = \"\";\r\n        let currentUnitPrice = 0; let currentQty = 1; const serviceFee = 250; let finalTotalStr = \"\"; let checkoutInterval;\r\n\r\n        function openCheckout(priceId, sectionLangKey) {\r\n            currentUnitPrice = parseInt(document.getElementById(priceId).innerText.replace(\/[^0-9]\/g, ''));\r\n            currentQty = 1; const lang = document.getElementById(\"languageSelect\").value;\r\n            const artistId = allIds[currentConcertIndex]; const evDate = translations[lang]['date_' + artistId].split('\u2022')[0].trim(); \r\n            document.getElementById('chk-date').innerHTML = `<option value=\"\" disabled selected>${translations[lang].chkSelectDate}<\/option><option value=\"${evDate}\">${evDate}<\/option>`;\r\n            document.getElementById('chk-email').value = \"\";\r\n            document.getElementById('chk-artist-name').innerHTML = translations[lang]['name_' + artistId];\r\n            document.getElementById('chk-section-name').innerText = translations[lang][sectionLangKey];\r\n            document.getElementById('chk-section-name').setAttribute('data-last-key', sectionLangKey);\r\n            updateCheckoutUI(); startCheckoutTimer();\r\n            document.getElementById('checkoutPage').classList.add('active'); document.body.style.overflow = 'hidden';\r\n        }\r\n\r\n        function closeCheckout() { clearInterval(checkoutInterval); document.getElementById('checkoutPage').classList.remove('active'); document.body.style.overflow = 'auto'; }\r\n        \r\n        function startCheckoutTimer() {\r\n            clearInterval(checkoutInterval); let timeLeft = 300; \r\n            checkoutInterval = setInterval(() => {\r\n                timeLeft--;\r\n                document.getElementById('chk-timer').innerText = `0${Math.floor(timeLeft \/ 60)}:${(timeLeft % 60).toString().padStart(2,'0')}`;\r\n                if (timeLeft <= 0) { clearInterval(checkoutInterval); alert(\"El tiempo ha expirado.\"); closeCheckout(); }\r\n            }, 1000);\r\n        }\r\n\r\n        function changeQty(delta) { if(currentQty + delta >= 1 && currentQty + delta <= 10) { currentQty += delta; updateCheckoutUI(); } }\r\n        \r\n        function updateCheckoutUI() {\r\n            document.getElementById('chk-qty').innerText = currentQty; document.getElementById('chk-qty-multiplier').innerText = currentQty;\r\n            const sub = currentUnitPrice * currentQty; finalTotalStr = `$${(sub + serviceFee).toLocaleString('es-MX')} MXN`;\r\n            document.getElementById('chk-subtotal').innerText = `$${sub.toLocaleString('es-MX')} MXN`; document.getElementById('chk-total').innerText = finalTotalStr;\r\n        }\r\n\r\n        function processPayment() {\r\n            const dInput = document.getElementById('chk-date').value; const eInput = document.getElementById('chk-email').value;\r\n            if(!dInput || !eInput || !eInput.includes('@')) { alert(\"Por favor, completa todos los campos.\"); return; }\r\n            const eName = document.getElementById('chk-artist-name').innerText.replace(\/\\n\/g, \" \"); const sName = document.getElementById('chk-section-name').innerText;\r\n            document.getElementById('tp-event-name').innerText = eName; document.getElementById('tp-date').innerText = dInput; document.getElementById('tp-section').innerText = sName; document.getElementById('tp-total').innerText = `${currentQty} Boletos - ${finalTotalStr}`;\r\n            document.getElementById('pdf-event-name').innerText = eName; document.getElementById('pdf-date').innerText = dInput; document.getElementById('pdf-section').innerText = sName; document.getElementById('pdf-qty').innerText = currentQty; document.getElementById('pdf-total').innerText = finalTotalStr;\r\n            document.getElementById('success-email-display').innerText = eInput;\r\n            closeCheckout(); document.getElementById('downloadModal').style.display = 'flex';\r\n        }\r\n\r\n        function downloadPDF() {\r\n            const el = document.getElementById('hidden-pdf-ticket'); \r\n            el.style.left = '0'; el.style.top = '0'; el.style.zIndex = '-999';\r\n            html2pdf().set({ margin: 0.5, filename: 'Boletos_TicketsLive.pdf', image: { type: 'jpeg', quality: 0.98 }, html2canvas: { scale: 2, useCORS: true }, jsPDF: { unit: 'in', format: 'letter', orientation: 'landscape' } }).from(el).save().then(() => {\r\n                el.style.left = '-9999px'; el.style.top = '-9999px'; finishPurchase();\r\n            });\r\n        }\r\n        function finishPurchase() { document.getElementById('downloadModal').style.display = 'none'; document.getElementById('successModal').style.display = 'flex'; setTimeout(() => { document.getElementById('successModal').style.display = 'none'; }, 4000); }\r\n\r\n        function selectConcert(id) { currentConcertIndex = allIds.indexOf(id) !== -1 ? allIds.indexOf(id) : 0; updateTicketSection(); document.getElementById('boletos').scrollIntoView({ behavior: 'smooth' }); }\r\n        function nextConcertTickets() { currentConcertIndex = (currentConcertIndex + 1) % allIds.length; updateTicketSection(); }\r\n        function prevConcertTickets() { currentConcertIndex = (currentConcertIndex - 1 < 0) ? allIds.length - 1 : currentConcertIndex - 1; updateTicketSection(); }\r\n        function updateTicketSection() {\r\n            const id = allIds[currentConcertIndex]; const prices = concertDb[id];\r\n            setTimeout(() => {\r\n                document.getElementById('ticketArtistName').setAttribute('data-lang', 'name_' + id);\r\n                document.getElementById('price-general').innerText = prices[0]; document.getElementById('price-gradas').innerText = prices[1]; document.getElementById('price-vip').innerText = prices[2];\r\n                changeLanguage();\r\n            }, 100);\r\n        }\r\n\r\n        function openModal(id) { currentModalId = id; document.getElementById('modalTitle').setAttribute('data-lang', 'name_' + id); document.getElementById('modalDate').setAttribute('data-lang', 'date_' + id); document.getElementById('modalDesc').setAttribute('data-lang', 'desc_' + id); changeLanguage(); document.getElementById('concertModal').style.display = 'flex'; }\r\n        function closeModal() { document.getElementById('concertModal').style.display = 'none'; }\r\n        function buyFromModal() { closeModal(); if(currentModalId === 'alberto') { triggerSilverTicket(); } else { selectConcert(currentModalId); } }\r\n        \r\n        function openGallery(src) { document.getElementById('galleryModalImage').src = src; document.getElementById('galleryModal').style.display = 'flex'; document.body.style.overflow = 'hidden'; }\r\n        function closeGallery() { document.getElementById('galleryModal').style.display = 'none'; document.getElementById('galleryModalImage').src = ''; document.body.style.overflow = 'auto'; }\r\n\r\n        \/\/ TRADUCCIONES COMPRIMIDAS\r\n        const translations = {\r\n            es: { navHistory: \"Historia\", navAlberto: \"Caguamos Rock Band\", navGallery: \"Galer\u00eda\", navTickets: \"Boletos\", heroBtn: \"Comprar Boletos\", heroSub1: \"Gira de despedida y 44 Aniversario\", heroSub2: \"Tributo Avalancha\", heroSub3: \"Gracias Totales Tour\", heroSub4: \"End of the Road World Tour\", heroSub5: \"M72 World Tour\", cdDays: \"D\u00edas\", cdHours: \"Horas\", cdMins: \"Min\", cdSecs: \"Seg\", trendingTitle: \"Conciertos del Momento\", historyTitle: \"Historia de la Banda\", albertoTitle: \"Alberto Ruiz Chan\", galeriaTitle: \"Galer\u00eda\",\r\n                historyText1: \"Hay bandas que persiguen tendencias y otras que simplemente viven por la m\u00fasica. Caguamos Rock Band pertenece a la segunda categor\u00eda. Formada en 2013 por cuatro m\u00fasicos mexicanos unidos por la amistad, la pasi\u00f3n por el escenario y el amor por el rock, la agrupaci\u00f3n se ha consolidado como una propuesta que celebra algunas de las mejores canciones que han marcado generaciones.<br><br>Integrada por Luis en la bater\u00eda, Arturo en el bajo, To\u00f1o en la guitarra y Beto en la voz, la banda encuentra su esencia en un repertorio que conecta con el coraz\u00f3n de cualquier amante del rock. Desde los grandes himnos en espa\u00f1ol hasta los cl\u00e1sicos inmortales en ingl\u00e9s, Caguamos Rock Band recorre las d\u00e9cadas de los 80, 90 y 2000 con una energ\u00eda que transforma cada presentaci\u00f3n en una experiencia cargada de nostalgia, fuerza y autenticidad.<br><br>Las influencias de la banda son tan diversas como contundentes. La poes\u00eda el\u00e9ctrica de H\u00e9roes del Silencio, la sofisticaci\u00f3n sonora de Soda Stereo, los paisajes musicales de Pink Floyd y la crudeza honesta del Rock Urbano mexicano conviven en un estilo propio que honra a los originales sin perder personalidad. Lejos de limitarse a interpretar canciones, el grupo busca transmitir la emoci\u00f3n y la intensidad que hicieron de estos artistas referentes para millones de personas.<br><br>Sobre el escenario, Caguamos Rock Band entiende una verdad fundamental: el rock no se escucha, se vive. Cada acorde, cada golpe de bater\u00eda y cada coro compartido con el p\u00fablico son una invitaci\u00f3n a viajar por distintas \u00e9pocas de la historia musical, donde las canciones siguen teniendo la misma capacidad de emocionar que la primera vez que sonaron.<br><br>Despu\u00e9s de m\u00e1s de una d\u00e9cada de trayectoria, la banda contin\u00faa demostrando que el rock est\u00e1 lejos de ser un recuerdo del pasado. Caguamos Rock Band es una celebraci\u00f3n permanente de la m\u00fasica que marc\u00f3 vidas, una reuni\u00f3n entre amigos que se convirti\u00f3 en proyecto y una prueba de que los grandes cl\u00e1sicos nunca dejan de encontrar nuevas voces para mantenerlos vigentes.<br><br>Porque mientras existan escenarios, guitarras encendidas y personas dispuestas a cantar a todo pulm\u00f3n, el rock seguir\u00e1 vivo. Y Caguamos Rock Band est\u00e1 aqu\u00ed para recordarlo.\",\r\n                historyText2: \"Nacido el 24 de octubre de 1982 en la vibrante Ciudad de M\u00e9xico, <strong>Alberto Ruiz Chan<\/strong> creci\u00f3 rodeado de m\u00fasica. Su gira celebra su cumplea\u00f1os n\u00famero 44.\",\r\n                historyText3: \"Despu\u00e9s de m\u00e1s de una d\u00e9cada de historia, amistad y rock, Caguamos Rock Band vuelve a reunirse para una noche irrepetible. El pr\u00f3ximo 21 de noviembre de 2026, Luis, Arturo, To\u00f1o y Beto subir\u00e1n nuevamente al escenario para ofrecer \\\"El \u00daltimo Vals\\\", un concierto especial que marcar\u00e1 la despedida de la banda.<br><br>Ser\u00e1 una celebraci\u00f3n de los grandes cl\u00e1sicos del rock en espa\u00f1ol e ingl\u00e9s de los 80, 90 y 2000, las canciones que nos unieron desde 2013 y que compartimos con todos ustedes a lo largo de los a\u00f1os.<br><br>La noche estar\u00e1 llena de emociones, recuerdos, invitados especiales, sorpresas \u00fanicas y toda la energ\u00eda que siempre caracteriz\u00f3 a Caguamos Rock Band.<br><br>Los boletos ya est\u00e1n disponibles. No te pierdas la oportunidad de formar parte de este \u00faltimo cap\u00edtulo y despedir junto a nosotros una historia escrita con amistad, pasi\u00f3n y mucho rock.<br><br>Caguamos Rock Band presenta: \\\"El \u00daltimo Vals\\\"<br>\ud83d\udcc5 21 de noviembre de 2026<br>\ud83c\udfb8 Una \u00faltima noche. Una \u00faltima canci\u00f3n. Un \u00faltimo brindis. \ud83c\udf7b\ud83e\udd18\",\r\n                ticketsTitle: \"Boletos Disponibles:\", buyBtn: \"Seleccionar\", closeBtn: \"Cerrar\", navPrev: \"Anterior\", navNext: \"Siguiente\", ticket1Title: \"Secci\u00f3n General A\", ticket1Desc: \"De pie, frente al escenario.\", ticket2Title: \"Gradas Laterales\", ticket2Desc: \"Asiento numerado.\", ticket3Title: \"VIP Meet & Greet\", ticket3Desc: \"Acceso anticipado.\", chkBack: \"Volver\", chkSummary: \"Resumen de Compra\", chkQtyLabel: \"Boletos:\", chkTicket: \"Boleto(s)\", chkDateLabel: \"Confirma la Fecha:\", chkSelectDate: \"-- Selecciona una fecha --\", chkEmailLabel: \"Correo (Para env\u00edo):\", chkTimeInfo: \"Tiempo restante:\", chkService: \"Cargo por Servicio\", chkTotal: \"Total a Pagar\", chkPayBtn: \"Proceder al Pago\", modalReady: \"\u00a1Tus boletos est\u00e1n listos!\", btnDownload: \"Descargar (PDF)\", chkSuccess: \"\u00a1Compra Exitosa!\", successEmailMsg: \"Boletos enviados a:\", privacy: \"Aviso de Privacidad\",\r\n                name_alberto: \"ALBERTO<br>EL \u00daLTIMO BAILE\", date_alberto: \"S\u00e1bado 21 Nov \u2022 Estadio Nacional\", desc_alberto: \"La despedida definitiva.\", name_heroes: \"H\u00e9roes del Silencio\", date_heroes: \"10 Oct \u2022 Foro Sol\", desc_heroes: \"Tributo Avalancha.\", name_soda: \"Soda Stereo\", date_soda: \"18 Oct \u2022 Arena\", desc_soda: \"Gracias Totales.\", name_kiss: \"KISS\", date_kiss: \"05 Nov \u2022 Estadio\", desc_kiss: \"End of the Road.\", name_metallica: \"Metallica\", date_metallica: \"12 Nov \u2022 Aut\u00f3dromo\", desc_metallica: \"M72 World Tour.\", name_voces: \"Voces del Desierto\", date_voces: \"22 Nov\", desc_voces: \"Festival indie.\", name_neon: \"Noches de Ne\u00f3n\", date_neon: \"01 Dic\", desc_neon: \"Pop del momento.\", name_metal: \"Ecos de Metal\", date_metal: \"10 Dic\", desc_metal: \"Heavy Metal.\", name_sinfonia: \"Sinfon\u00eda Urbana\", date_sinfonia: \"15 Dic\", desc_sinfonia: \"Electro y cl\u00e1sica.\", name_ritmo: \"Ritmo y Sabor\", date_ritmo: \"20 Dic\", desc_ritmo: \"Fiesta latina.\", name_leyendas: \"Leyendas del Rock\", date_leyendas: \"05 Ene\", desc_leyendas: \"Tributo a los grandes.\", name_acustico: \"Ac\u00fastico Estrellas\", date_acustico: \"14 Feb\", desc_acustico: \"Velada \u00edntima.\"\r\n            },\r\n            en: { navHistory: \"History\", navAlberto: \"Caguamos Rock Band\", navGallery: \"Gallery\", navTickets: \"Tickets\", heroBtn: \"Buy Tickets\", heroSub1: \"Live Rock - The Farewell Tour\", heroSub2: \"Avalancha Tribute\", heroSub3: \"Gracias Totales Tour\", heroSub4: \"End of the Road\", heroSub5: \"M72 World Tour\", cdDays: \"Days\", cdHours: \"Hours\", cdMins: \"Mins\", cdSecs: \"Secs\", trendingTitle: \"Trending Concerts\", historyTitle: \"Band History\", albertoTitle: \"Alberto Ruiz Chan\", galeriaTitle: \"Gallery\",\r\n                historyText1: \"There are bands that chase trends and others that simply live for the music. Caguamos Rock Band belongs to the second category. Formed in 2013 by four Mexican musicians united by friendship, passion for the stage, and a love for rock, the group has established itself as a proposal that celebrates some of the best songs that have marked generations.<br><br>Composed of Luis on drums, Arturo on bass, To\u00f1o on guitar, and Beto on vocals, the band finds its essence in a repertoire that connects with the heart of any rock lover. From the great anthems in Spanish to the immortal classics in English, Caguamos Rock Band travels through the decades of the 80s, 90s, and 2000s with an energy that transforms each presentation into an experience full of nostalgia, strength, and authenticity.<br><br>The band's influences are as diverse as they are striking. The electric poetry of H\u00e9roes del Silencio, the sonic sophistication of Soda Stereo, the musical landscapes of Pink Floyd, and the honest rawness of Mexican Urban Rock coexist in a unique style that honors the originals without losing personality. Far from limiting themselves to covering songs, the group seeks to transmit the emotion and intensity that made these artists references for millions of people.<br><br>On stage, Caguamos Rock Band understands a fundamental truth: rock is not just heard, it is lived. Every chord, every drum beat, and every chorus shared with the audience is an invitation to travel through different eras of musical history, where songs continue to have the same ability to excite as the first time they were played.<br><br>After more than a decade, the band continues to prove that rock is far from being a memory of the past. Caguamos Rock Band is a permanent celebration of the music that marked lives, a meeting between friends that became a project, and proof that great classics never stop finding new voices to keep them alive.<br><br>Because as long as there are stages, burning guitars, and people willing to sing at the top of their lungs, rock will live on. And Caguamos Rock Band is here to remind us.\", \r\n                historyText2: \"Born in Mexico City, <strong>Alberto Ruiz Chan<\/strong> grew up surrounded by music. His tour celebrates his 44th birthday.\", \r\n                historyText3: \"After more than a decade of history, friendship, and rock, Caguamos Rock Band reunites for an unrepeatable night. On November 21, 2026, Luis, Arturo, To\u00f1o, and Beto will take the stage once again to offer \\\"The Last Waltz\\\", a special concert that will mark the band's farewell.<br><br>It will be a celebration of the great rock classics in Spanish and English from the 80s, 90s, and 2000s, the songs that united us since 2013 and that we shared with all of you over the years.<br><br>The night will be full of emotions, memories, special guests, unique surprises, and all the energy that always characterized Caguamos Rock Band.<br><br>Tickets are now available. Don't miss the opportunity to be part of this final chapter and bid farewell with us to a story written with friendship, passion, and a lot of rock.<br><br>Caguamos Rock Band presents: \\\"The Last Waltz\\\"<br>\ud83d\udcc5 November 21, 2026<br>\ud83c\udfb8 One last night. One last song. One last toast. \ud83c\udf7b\ud83e\udd18\",\r\n                ticketsTitle: \"Available Tickets:\", buyBtn: \"Select\", closeBtn: \"Close\", navPrev: \"Previous\", navNext: \"Next\", ticket1Title: \"General Admission A\", ticket1Desc: \"Standing room.\", ticket2Title: \"Side Bleachers\", ticket2Desc: \"Assigned seating.\", ticket3Title: \"VIP Meet & Greet\", ticket3Desc: \"Early access.\", chkBack: \"Back\", chkSummary: \"Order Summary\", chkQtyLabel: \"Tickets:\", chkTicket: \"Ticket(s)\", chkDateLabel: \"Confirm Date:\", chkSelectDate: \"-- Select a date --\", chkEmailLabel: \"Email (For tickets):\", chkTimeInfo: \"Time remaining:\", chkService: \"Service Fee\", chkTotal: \"Total Due\", chkPayBtn: \"Proceed to Checkout\", modalReady: \"Tickets are ready!\", btnDownload: \"Download PDF\", chkSuccess: \"Purchase Successful!\", successEmailMsg: \"Tickets sent to:\", privacy: \"Privacy Policy\",\r\n                name_alberto: \"ALBERTO<br>THE LAST DANCE\", date_alberto: \"Saturday Nov 21 \u2022 Stadium\", desc_alberto: \"Farewell tour.\", name_heroes: \"H\u00e9roes del Silencio\", date_heroes: \"Oct 10 \u2022 Sun Forum\", desc_heroes: \"Avalancha Tribute.\", name_soda: \"Soda Stereo\", date_soda: \"Oct 18 \u2022 Arena\", desc_soda: \"Gracias Totales.\", name_kiss: \"KISS\", date_kiss: \"Nov 05 \u2022 Stadium\", desc_kiss: \"End of the Road.\", name_metallica: \"Metallica\", date_metallica: \"Nov 12 \u2022 Autodrome\", desc_metallica: \"M72 World Tour.\", name_voces: \"Desert Voices\", date_voces: \"Nov 22\", desc_voces: \"Indie festival.\", name_neon: \"Neon Nights\", date_neon: \"Dec 01\", desc_neon: \"Pop music.\", name_metal: \"Metal Echoes\", date_metal: \"Dec 10\", desc_metal: \"Heavy Metal.\", name_sinfonia: \"Urban Symphony\", date_sinfonia: \"Dec 15\", desc_sinfonia: \"Electro Classic.\", name_ritmo: \"Rhythm & Flavor\", date_ritmo: \"Dec 20\", desc_ritmo: \"Latin party.\", name_leyendas: \"Rock Legends\", date_leyendas: \"Jan 05\", desc_leyendas: \"Tribute.\", name_acustico: \"Acoustic Stars\", date_acustico: \"Feb 14\", desc_acustico: \"Intimate.\"\r\n            },\r\n            pt: { navHistory: \"Hist\u00f3ria\", navAlberto: \"Caguamos Rock Band\", navGallery: \"Galeria\", navTickets: \"Ingressos\", heroBtn: \"Comprar Ingressos\", heroSub1: \"Rock ao Vivo - Turn\u00ea de Despedida\", heroSub2: \"Tributo Avalancha\", heroSub3: \"Gracias Totales Tour\", heroSub4: \"End of the Road\", heroSub5: \"M72 World Tour\", cdDays: \"Dias\", cdHours: \"Horas\", cdMins: \"Min\", cdSecs: \"Seg\", trendingTitle: \"Concertos do Momento\", historyTitle: \"Hist\u00f3ria da Banda\", albertoTitle: \"Alberto Ruiz Chan\", galeriaTitle: \"Galeria\",\r\n                historyText1: \"Existem bandas que seguem tend\u00eancias e outras que simplesmente vivem pela m\u00fasica. Caguamos Rock Band pertence \u00e0 segunda categoria. Formada em 2013 por quatro m\u00fasicos mexicanos unidos pela amizade, paix\u00e3o pelo palco e amor pelo rock, o grupo consolidou-se como uma proposta que celebra algumas das melhores can\u00e7\u00f5es que marcaram gera\u00e7\u00f5es.<br><br>Composta por Luis na bateria, Arturo no baixo, To\u00f1o na guitarra e Beto nos vocais, a banda encontra a sua ess\u00eancia num repert\u00f3rio que se conecta com o cora\u00e7\u00e3o de qualquer amante do rock. Desde os grandes hinos em espanhol at\u00e9 aos cl\u00e1ssicos imortais em ingl\u00eas, Caguamos Rock Band percorre as d\u00e9cadas de 80, 90 e 2000 com uma energia que transforma cada apresenta\u00e7\u00e3o numa experi\u00eancia repleta de nostalgia, for\u00e7a e autenticidade.<br><br>As influ\u00eancias da banda s\u00e3o t\u00e3o diversas quanto marcantes. A poesia el\u00e9trica dos H\u00e9roes del Silencio, a sofistica\u00e7\u00e3o sonora do Soda Stereo, as paisagens musicais do Pink Floyd e a crueza honesta do Rock Urbano mexicano convivem num estilo \u00fanico que homenageia os originais sem perder a personalidade. Longe de se limitar a interpretar can\u00e7\u00f5es, o grupo procura transmitir a emo\u00e7\u00e3o e intensidade que fizeram destes artistas refer\u00eancias para milh\u00f5es de pessoas.<br><br>No palco, Caguamos Rock Band entende uma verdade fundamental: o rock n\u00e3o se ouve, vive-se. Cada acorde, cada batida de bateria e cada refr\u00e3o partilhado com o p\u00fablico \u00e9 um convite a viajar por diferentes \u00e9pocas da hist\u00f3ria musical, onde as can\u00e7\u00f5es continuam a ter a mesma capacidade de emocionar como na primeira vez que tocaram.<br><br>Ap\u00f3s mais de uma d\u00e9cada, a banda continua a provar que o rock est\u00e1 longe de ser uma mem\u00f3ria do passado. Caguamos Rock Band \u00e9 uma celebra\u00e7\u00e3o permanente da m\u00fasica que marcou vidas, um encontro entre amigos que se tornou projeto e uma prova de que os grandes cl\u00e1ssicos nunca deixam de encontrar novas vozes para mant\u00ea-los vivos.<br><br>Porque enquanto existirem palcos, guitarras em brasa e pessoas dispostas a cantar a plenos pulm\u00f5es, o rock continuar\u00e1 vivo. E Caguamos Rock Band est\u00e1 aqui para nos lembrar disso.\", \r\n                historyText2: \"Nascido na Cidade do M\u00e9xico, <strong>Alberto Ruiz Chan<\/strong> cresceu cercado pela m\u00fasica. A sua turn\u00ea celebra seu 44\u00ba anivers\u00e1rio.\", \r\n                historyText3: \"Ap\u00f3s mais de uma d\u00e9cada de hist\u00f3ria, amizade e rock, a Caguamos Rock Band re\u00fane-se para uma noite irrepet\u00edvel. No pr\u00f3ximo dia 21 de novembro de 2026, Luis, Arturo, To\u00f1o e Beto subir\u00e3o novamente ao palco para apresentar \\\"A \u00daltima Valsa\\\", um concerto especial que marcar\u00e1 a despedida da banda.<br><br>Ser\u00e1 uma celebra\u00e7\u00e3o dos grandes cl\u00e1ssicos do rock em espanhol e ingl\u00eas dos anos 80, 90 e 2000, as can\u00e7\u00f5es que nos uniram desde 2013 e que partilh\u00e1mos com todos voc\u00eas ao longo dos anos.<br><br>A noite ser\u00e1 repleta de emo\u00e7\u00f5es, mem\u00f3rias, convidados especiais, surpresas \u00fanicas e toda a energia que sempre caracterizou a Caguamos Rock Band.<br><br>Os bilhetes j\u00e1 est\u00e3o dispon\u00edveis. N\u00e3o perca a oportunidade de fazer parte deste \u00faltimo cap\u00edtulo e despedir-se connosco de uma hist\u00f3ria escrita com amizade, paix\u00e3o e muito rock.<br><br>Caguamos Rock Band apresenta: \\\"A \u00daltima Valsa\\\"<br>\ud83d\udcc5 21 de novembro de 2026<br>\ud83c\udfb8 Uma \u00faltima noite. Uma \u00faltima can\u00e7\u00e3o. Um \u00faltimo brinde. \ud83c\udf7b\ud83e\udd18\",\r\n                ticketsTitle: \"Ingressos Dispon\u00edveis:\", buyBtn: \"Selecionar\", closeBtn: \"Fechar\", navPrev: \"Anterior\", navNext: \"Pr\u00f3ximo\", ticket1Title: \"Se\u00e7\u00e3o Geral A\", ticket1Desc: \"Em p\u00e9.\", ticket2Title: \"Arquibancadas Laterais\", ticket2Desc: \"Lugar marcado.\", ticket3Title: \"VIP Meet & Greet\", ticket3Desc: \"Acesso antecipado.\", chkBack: \"Voltar\", chkSummary: \"Resumo do Pedido\", chkQtyLabel: \"Ingressos:\", chkTicket: \"Ingresso(s)\", chkDateLabel: \"Confirme a Data:\", chkSelectDate: \"-- Selecione uma data --\", chkEmailLabel: \"E-mail (Para ingressos):\", chkTimeInfo: \"Tempo restante:\", chkService: \"Taxa de Servi\u00e7o\", chkTotal: \"Total a Pagar\", chkPayBtn: \"Proceder ao Pagamento\", modalReady: \"Ingressos prontos!\", btnDownload: \"Baixar PDF\", chkSuccess: \"Compra Conclu\u00edda!\", successEmailMsg: \"Ingressos enviados para:\", privacy: \"Pol\u00edtica de Privacidade\",\r\n                name_alberto: \"ALBERTO<br>A \u00daLTIMA DAN\u00c7A\", date_alberto: \"S\u00e1bado 21 Nov \u2022 Est\u00e1dio\", desc_alberto: \"Despedida definitiva.\", name_heroes: \"H\u00e9roes del Silencio\", date_heroes: \"10 Out \u2022 Foro Sol\", desc_heroes: \"Tributo Avalancha.\", name_soda: \"Soda Stereo\", date_soda: \"18 Out \u2022 Arena\", desc_soda: \"Gracias Totales.\", name_kiss: \"KISS\", date_kiss: \"05 Nov \u2022 Est\u00e1dio\", desc_kiss: \"End of the Road.\", name_metallica: \"Metallica\", date_metallica: \"12 Nov \u2022 Aut\u00f3dromo\", desc_metallica: \"M72 World Tour.\", name_voces: \"Vozes do Deserto\", date_voces: \"22 Nov\", desc_voces: \"Festival indie.\", name_neon: \"Noites de Neon\", date_neon: \"01 Dez\", desc_neon: \"Pop.\", name_metal: \"Ecos de Metal\", date_metal: \"10 Dez\", desc_metal: \"Heavy Metal.\", name_sinfonia: \"Sinfonia Urbana\", date_sinfonia: \"15 Dez\", desc_sinfonia: \"Electro Cl\u00e1ssica.\", name_ritmo: \"Ritmo e Sabor\", date_ritmo: \"20 Dez\", desc_ritmo: \"Festa latina.\", name_leyendas: \"Lendas do Rock\", date_leyendas: \"05 Jan\", desc_leyendas: \"Tributo.\", name_acustico: \"Ac\u00fastico Estrelas\", date_acustico: \"14 Fev\", desc_acustico: \"Noite \u00edntima.\"\r\n            }\r\n        };\r\n\r\n        function changeLanguage() {\r\n            const lang = document.getElementById(\"languageSelect\").value;\r\n            document.querySelectorAll(\"[data-lang]\").forEach(el => { if (translations[lang] && translations[lang][el.getAttribute(\"data-lang\")]) el.innerHTML = translations[lang][el.getAttribute(\"data-lang\")]; });\r\n            if(document.getElementById('checkoutPage').classList.contains('active')) {\r\n                document.getElementById('chk-section-name').innerText = translations[lang][document.getElementById('chk-section-name').getAttribute('data-last-key')] || \"Secci\u00f3n General\";\r\n                const dateSelect = document.getElementById('chk-date'); if(dateSelect.options.length > 0) dateSelect.options[0].innerText = translations[lang].chkSelectDate;\r\n            }\r\n        }\r\n        changeLanguage();\r\n    <\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>TicketsLive &#8211; Conciertos Especiales TicketsLive Historia Caguamos Rock Band Galer\u00eda Boletos Espa\u00f1olEnglishPortugu\u00eas ALBERTOEL \u00daLTIMO BAILE VIP PASS ALBERTOEL \u00daLTIMO BAILE Rock en Vivo &#8211; La gira de despedida y 44 Aniversario 00D\u00edas 00Horas 00Min 00Seg Comprar Boletos H\u00e9roes del Silencio Tributo Avalancha Comprar Boletos Soda Stereo Gracias Totales Tour Comprar Boletos KISS End of the [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-9","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>El Ultimo Baile - Caguamos Rock Band<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/caguamosrock.com\/?page_id=9\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"El Ultimo Baile - Caguamos Rock Band\" \/>\n<meta property=\"og:description\" content=\"TicketsLive &#8211; Conciertos Especiales TicketsLive Historia Caguamos Rock Band Galer\u00eda Boletos Espa\u00f1olEnglishPortugu\u00eas ALBERTOEL \u00daLTIMO BAILE VIP PASS ALBERTOEL \u00daLTIMO BAILE Rock en Vivo &#8211; La gira de despedida y 44 Aniversario 00D\u00edas 00Horas 00Min 00Seg Comprar Boletos H\u00e9roes del Silencio Tributo Avalancha Comprar Boletos Soda Stereo Gracias Totales Tour Comprar Boletos KISS End of the [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/caguamosrock.com\/?page_id=9\" \/>\n<meta property=\"og:site_name\" content=\"Caguamos Rock Band\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-01T23:35:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/images.unsplash.com\/photo-1459749411175-04bf5292ceea?auto=format&fit=crop&w=600&q=80\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/caguamosrock.com\\\/?page_id=9\",\"url\":\"https:\\\/\\\/caguamosrock.com\\\/?page_id=9\",\"name\":\"El Ultimo Baile - Caguamos Rock Band\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/caguamosrock.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/caguamosrock.com\\\/?page_id=9#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/caguamosrock.com\\\/?page_id=9#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/images.unsplash.com\\\/photo-1459749411175-04bf5292ceea?auto=format&fit=crop&w=600&q=80\",\"datePublished\":\"2026-10-01T23:04:55+00:00\",\"dateModified\":\"2026-10-01T23:35:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/caguamosrock.com\\\/?page_id=9#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/caguamosrock.com\\\/?page_id=9\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/caguamosrock.com\\\/?page_id=9#primaryimage\",\"url\":\"https:\\\/\\\/images.unsplash.com\\\/photo-1459749411175-04bf5292ceea?auto=format&fit=crop&w=600&q=80\",\"contentUrl\":\"https:\\\/\\\/images.unsplash.com\\\/photo-1459749411175-04bf5292ceea?auto=format&fit=crop&w=600&q=80\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/caguamosrock.com\\\/?page_id=9#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/caguamosrock.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"El Ultimo Baile\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/caguamosrock.com\\\/#website\",\"url\":\"https:\\\/\\\/caguamosrock.com\\\/\",\"name\":\"Caguamos Rock Band\",\"description\":\"El \u00daltimo Vals\",\"publisher\":{\"@id\":\"https:\\\/\\\/caguamosrock.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/caguamosrock.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/caguamosrock.com\\\/#organization\",\"name\":\"Caguamos Rock Band\",\"url\":\"https:\\\/\\\/caguamosrock.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/caguamosrock.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/caguamosrock.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/logo-cb.jpeg\",\"contentUrl\":\"https:\\\/\\\/caguamosrock.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/logo-cb.jpeg\",\"width\":1600,\"height\":1600,\"caption\":\"Caguamos Rock Band\"},\"image\":{\"@id\":\"https:\\\/\\\/caguamosrock.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"El Ultimo Baile - Caguamos Rock Band","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/caguamosrock.com\/?page_id=9","og_locale":"es_ES","og_type":"article","og_title":"El Ultimo Baile - Caguamos Rock Band","og_description":"TicketsLive &#8211; Conciertos Especiales TicketsLive Historia Caguamos Rock Band Galer\u00eda Boletos Espa\u00f1olEnglishPortugu\u00eas ALBERTOEL \u00daLTIMO BAILE VIP PASS ALBERTOEL \u00daLTIMO BAILE Rock en Vivo &#8211; La gira de despedida y 44 Aniversario 00D\u00edas 00Horas 00Min 00Seg Comprar Boletos H\u00e9roes del Silencio Tributo Avalancha Comprar Boletos Soda Stereo Gracias Totales Tour Comprar Boletos KISS End of the [&hellip;]","og_url":"https:\/\/caguamosrock.com\/?page_id=9","og_site_name":"Caguamos Rock Band","article_modified_time":"2026-10-01T23:35:54+00:00","og_image":[{"url":"https:\/\/images.unsplash.com\/photo-1459749411175-04bf5292ceea?auto=format&fit=crop&w=600&q=80","type":"","width":"","height":""}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/caguamosrock.com\/?page_id=9","url":"https:\/\/caguamosrock.com\/?page_id=9","name":"El Ultimo Baile - Caguamos Rock Band","isPartOf":{"@id":"https:\/\/caguamosrock.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/caguamosrock.com\/?page_id=9#primaryimage"},"image":{"@id":"https:\/\/caguamosrock.com\/?page_id=9#primaryimage"},"thumbnailUrl":"https:\/\/images.unsplash.com\/photo-1459749411175-04bf5292ceea?auto=format&fit=crop&w=600&q=80","datePublished":"2026-10-01T23:04:55+00:00","dateModified":"2026-10-01T23:35:54+00:00","breadcrumb":{"@id":"https:\/\/caguamosrock.com\/?page_id=9#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/caguamosrock.com\/?page_id=9"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/caguamosrock.com\/?page_id=9#primaryimage","url":"https:\/\/images.unsplash.com\/photo-1459749411175-04bf5292ceea?auto=format&fit=crop&w=600&q=80","contentUrl":"https:\/\/images.unsplash.com\/photo-1459749411175-04bf5292ceea?auto=format&fit=crop&w=600&q=80"},{"@type":"BreadcrumbList","@id":"https:\/\/caguamosrock.com\/?page_id=9#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/caguamosrock.com\/"},{"@type":"ListItem","position":2,"name":"El Ultimo Baile"}]},{"@type":"WebSite","@id":"https:\/\/caguamosrock.com\/#website","url":"https:\/\/caguamosrock.com\/","name":"Caguamos Rock Band","description":"El \u00daltimo Vals","publisher":{"@id":"https:\/\/caguamosrock.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/caguamosrock.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/caguamosrock.com\/#organization","name":"Caguamos Rock Band","url":"https:\/\/caguamosrock.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/caguamosrock.com\/#\/schema\/logo\/image\/","url":"https:\/\/caguamosrock.com\/wp-content\/uploads\/2026\/10\/logo-cb.jpeg","contentUrl":"https:\/\/caguamosrock.com\/wp-content\/uploads\/2026\/10\/logo-cb.jpeg","width":1600,"height":1600,"caption":"Caguamos Rock Band"},"image":{"@id":"https:\/\/caguamosrock.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/caguamosrock.com\/index.php?rest_route=\/wp\/v2\/pages\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/caguamosrock.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/caguamosrock.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/caguamosrock.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/caguamosrock.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9"}],"version-history":[{"count":14,"href":"https:\/\/caguamosrock.com\/index.php?rest_route=\/wp\/v2\/pages\/9\/revisions"}],"predecessor-version":[{"id":31,"href":"https:\/\/caguamosrock.com\/index.php?rest_route=\/wp\/v2\/pages\/9\/revisions\/31"}],"wp:attachment":[{"href":"https:\/\/caguamosrock.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}