{"id":3034,"date":"2025-12-11T19:52:47","date_gmt":"2025-12-11T18:52:47","guid":{"rendered":"https:\/\/test.tablaoflamencolassetas.com\/?page_id=3034"},"modified":"2026-02-11T17:12:39","modified_gmt":"2026-02-11T16:12:39","slug":"programacion","status":"publish","type":"page","link":"https:\/\/test.tablaoflamencolassetas.com\/it\/programacion\/","title":{"rendered":"Programaci\u00f3n Semanal"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3034\" class=\"elementor elementor-3034\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bc5f5fc e-con-full e-flex e-con e-parent\" data-id=\"bc5f5fc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a50f570 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"a50f570\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ============================================\n     P\u00c1GINA PROGRAMACI\u00d3N v13 - TABLAO FLAMENCO LAS SETAS\n     VERSI\u00d3N PRODUCCI\u00d3N - TIPOGRAF\u00cdA v3.0 CORREGIDA\n     \n     TIPOGRAF\u00cdAS v3.0 (6 Feb 2026):\n     \u2705 Canela Light (300) - Hero, H1, H2, t\u00edtulos display\n     \u2705 GT America Light (300) - Nav, botones, labels, uppercase\n     \u2705 GT America Regular (400) - Body text, p\u00e1rrafos\n     \u2705 Romans Flower - NO USADO (solo decorativo puntual)\n     \u2705 Playfair Display - Solo fallback mobile <768px\n     \n     CONTRASTES WCAG 2.1 AA VERIFICADOS:\n     \u2705 Sobre ROJO (#C8102E) \u2192 BLANCO (#FFFFFF) - ratio 5.88:1\n     \u2705 Sobre NEGRO (#1A1512) \u2192 CREMA (#FCE2BF) - ratio 12.5:1\n     \u2705 SIN DORADO en textos (solo estrellas \u2b50)\n     \n     HORARIOS ACTUALIZADOS (desde 1\/2\/2026):\n     \u2705 4 pases diarios: 18:00h, 19:30h, 21:00h, 22:30h\n     \u2705 Pase extra alta demanda: 16:30h\n     \u2705 Duraci\u00f3n: 1 HORA SIN DESCANSO\n     \n     Autor: Claude para Tablao Flamenco Las Setas\n     Fecha: 7 Febrero 2026\n     Versi\u00f3n: 13.0 TIPOGRAF\u00cdA v3\n     ============================================ -->\n\n<!-- PRECONNECT PARA RENDIMIENTO - Colocar en <head> de WordPress -->\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link rel=\"preconnect\" href=\"https:\/\/cdn.turitop.com\" crossorigin>\n<link rel=\"preconnect\" href=\"https:\/\/test.tablaoflamencolassetas.com\">\n<link rel=\"dns-prefetch\" href=\"https:\/\/cdn.turitop.com\">\n\n<!-- Google Fonts - Solo Playfair Display como fallback -->\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Playfair+Display:wght@400;700&display=swap\" rel=\"stylesheet\">\n\n<!-- TuriTop CSS -->\n<link href=\"https:\/\/cdn.turitop.com\/css\/styles.min.css\" rel=\"stylesheet\" type=\"text\/css\">\n\n<!-- Schema Markup JSON-LD ACTUALIZADO 1\/2\/2026 -->\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"PerformingArtsTheater\",\n      \"@id\": \"https:\/\/tablaoflamencolassetas.com\/#venue\",\n      \"name\": \"Tablao Flamenco Las Setas\",\n      \"description\": \"Tablao flamenco en el coraz\u00f3n de Sevilla, bajo el ic\u00f3nico Metropol Parasol. Espect\u00e1culos diarios de 1 hora con los mejores artistas del flamenco.\",\n      \"url\": \"https:\/\/tablaoflamencolassetas.com\",\n      \"telephone\": \"+34684776981\",\n      \"email\": \"reserva@tablaoflamencolassetas.com\",\n      \"address\": {\n        \"@type\": \"PostalAddress\",\n        \"streetAddress\": \"Plaza de la Encarnaci\u00f3n 38\",\n        \"addressLocality\": \"Sevilla\",\n        \"postalCode\": \"41003\",\n        \"addressRegion\": \"Andaluc\u00eda\",\n        \"addressCountry\": \"ES\"\n      },\n      \"geo\": {\n        \"@type\": \"GeoCoordinates\",\n        \"latitude\": 37.3934,\n        \"longitude\": -5.9918\n      },\n      \"image\": \"https:\/\/test.tablaoflamencolassetas.com\/wp-content\/uploads\/2026\/01\/tablao-setas-enero-60-scaled.jpg\",\n      \"priceRange\": \"\u20ac\u20ac\",\n      \"aggregateRating\": {\n        \"@type\": \"AggregateRating\",\n        \"ratingValue\": \"4.9\",\n        \"reviewCount\": \"11000\",\n        \"bestRating\": \"5\"\n      },\n      \"openingHoursSpecification\": [\n        {\n          \"@type\": \"OpeningHoursSpecification\",\n          \"dayOfWeek\": [\"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\", \"Sunday\"],\n          \"opens\": \"17:30\",\n          \"closes\": \"23:30\"\n        }\n      ]\n    },\n    {\n      \"@type\": \"EventSeries\",\n      \"@id\": \"https:\/\/tablaoflamencolassetas.com\/programacion\/#eventseries\",\n      \"name\": \"Espect\u00e1culo Flamenco - Tablao Las Setas\",\n      \"description\": \"Espect\u00e1culo de flamenco en vivo con bailaores, cantaores y guitarristas profesionales. 1 hora de duraci\u00f3n sin descanso. 4 pases diarios.\",\n      \"url\": \"https:\/\/tablaoflamencolassetas.com\/programacion\/\",\n      \"location\": {\n        \"@id\": \"https:\/\/tablaoflamencolassetas.com\/#venue\"\n      },\n      \"organizer\": {\n        \"@id\": \"https:\/\/tablaoflamencolassetas.com\/#venue\"\n      },\n      \"performer\": {\n        \"@type\": \"PerformingGroup\",\n        \"name\": \"Cuadro Art\u00edstico Tablao Las Setas\",\n        \"description\": \"Elenco rotativo de bailaores, cantaores, guitarristas y percusionistas profesionales del flamenco\"\n      },\n      \"eventSchedule\": {\n        \"@type\": \"Schedule\",\n        \"repeatFrequency\": \"P1D\",\n        \"byDay\": [\"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\", \"Sunday\"],\n        \"startTime\": [\"18:00\", \"19:30\", \"21:00\", \"22:30\"],\n        \"scheduleTimezone\": \"Europe\/Madrid\"\n      },\n      \"duration\": \"PT1H\",\n      \"offers\": {\n        \"@type\": \"Offer\",\n        \"url\": \"https:\/\/tablaoflamencolassetas.com\/entradas\/\",\n        \"priceCurrency\": \"EUR\",\n        \"price\": \"28\",\n        \"priceValidUntil\": \"2026-12-31\",\n        \"availability\": \"https:\/\/schema.org\/InStock\",\n        \"validFrom\": \"2026-02-01\"\n      },\n      \"image\": \"https:\/\/test.tablaoflamencolassetas.com\/wp-content\/uploads\/2026\/01\/tablao-setas-enero-60-scaled.jpg\",\n      \"inLanguage\": \"es\"\n    },\n    {\n      \"@type\": \"FAQPage\",\n      \"@id\": \"https:\/\/tablaoflamencolassetas.com\/programacion\/#faq\",\n      \"mainEntity\": [\n        {\n          \"@type\": \"Question\",\n          \"name\": \"\u00bfCu\u00e1les son los horarios de los espect\u00e1culos?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Ofrecemos 4 pases diarios: 18:00h, 19:30h, 21:00h y 22:30h. En periodos de alta demanda, a\u00f1adimos un pase extra a las 16:30h.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"\u00bfCu\u00e1nto dura el espect\u00e1culo?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"El espect\u00e1culo tiene una duraci\u00f3n de 1 hora sin descanso intermedio.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"\u00bfCu\u00e1ndo puedo entrar al tablao?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Las puertas abren 15 minutos antes de cada pase. No se permite la entrada una vez iniciado el espect\u00e1culo por respeto a los artistas y al p\u00fablico.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"\u00bfLos artistas cambian cada d\u00eda?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"S\u00ed, el cuadro art\u00edstico var\u00eda seg\u00fan la programaci\u00f3n semanal. El mismo elenco act\u00faa en todos los pases del mismo d\u00eda.\"\n          }\n        }\n      ]\n    },\n    {\n      \"@type\": \"BreadcrumbList\",\n      \"itemListElement\": [\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 1,\n          \"name\": \"Inicio\",\n          \"item\": \"https:\/\/tablaoflamencolassetas.com\/\"\n        },\n        {\n          \"@type\": \"ListItem\",\n          \"position\": 2,\n          \"name\": \"Programaci\u00f3n\",\n          \"item\": \"https:\/\/tablaoflamencolassetas.com\/programacion\/\"\n        }\n      ]\n    }\n  ]\n}\n<\/script>\n\n<style>\n\/* =====================================================\n   SISTEMA TIPOGR\u00c1FICO v3.0 - TABLAO LAS SETAS\n   Canela Light + GT America Light\/Regular\n   Fecha: 7 Febrero 2026\n   ===================================================== *\/\n\n\/* ====== CARGA DE FUENTES CUSTOM ====== *\/\n\n@font-face {\n  font-family: 'Canela';\n  src: url('\/wp-content\/fonts\/canela-light.woff2') format('woff2'),\n       url('\/wp-content\/fonts\/canela-light.woff') format('woff');\n  font-weight: 300;\n  font-style: normal;\n  font-display: swap;\n}\n\n@font-face {\n  font-family: 'GT America';\n  src: url('\/wp-content\/fonts\/gt-america-standard-light.woff2') format('woff2'),\n       url('\/wp-content\/fonts\/gt-america-standard-light.woff') format('woff');\n  font-weight: 300;\n  font-style: normal;\n  font-display: swap;\n}\n\n@font-face {\n  font-family: 'GT America';\n  src: url('\/wp-content\/fonts\/gt-america-standard-regular.woff2') format('woff2'),\n       url('\/wp-content\/fonts\/gt-america-standard-regular.woff') format('woff');\n  font-weight: 400;\n  font-style: normal;\n  font-display: swap;\n}\n\n@font-face {\n  font-family: 'Romans Flower';\n  src: url('\/wp-content\/fonts\/gc_romans_flower-webfont.woff2') format('woff2'),\n       url('\/wp-content\/fonts\/gc_romans_flower-webfont.woff') format('woff');\n  font-weight: normal;\n  font-style: normal;\n  font-display: swap;\n}\n\n\/* =====================================================\n   VARIABLES CSS GLOBALES - TIPOGRAF\u00cdA v3.0\n   ===================================================== *\/\n:root {\n  \/* ====== COLORES PRINCIPALES ====== *\/\n  --tfs-rojo: #C8102E;\n  --tfs-rojo-oscuro: #8B1A1A;\n  --tfs-rojo-hover: #A00D24;\n  --tfs-oro: #E3AD43;            \/* SOLO para estrellas \u2b50 *\/\n  --tfs-crema: #FCE2BF;\n  --tfs-crema-suave: #F9E5DA;\n  --tfs-negro: #1A1512;\n  --tfs-negro-profundo: #0D0A08;\n  --tfs-blanco: #FFFFFF;\n  \n  \/* ====== TIPOGRAF\u00cdAS v3.0 ====== *\/\n  --tfs-font-hero: 'Canela', 'Playfair Display', Georgia, serif;\n  --tfs-font-nav: 'GT America', 'Helvetica Neue', Arial, sans-serif;\n  --tfs-font-body: 'GT America', 'Helvetica Neue', Arial, sans-serif;\n  --tfs-font-accent: 'Romans Flower', 'Playfair Display', Georgia, serif;\n  \n  \/* ====== PESOS ====== *\/\n  --tfs-weight-light: 300;\n  --tfs-weight-regular: 400;\n  \n  \/* ====== LETTER SPACING ====== *\/\n  --tfs-ls-hero: -0.02em;\n  --tfs-ls-heading: -0.01em;\n  --tfs-ls-nav: 0.15em;\n  --tfs-ls-button: 0.12em;\n  --tfs-ls-body: 0.01em;\n  --tfs-ls-micro: 0.08em;\n  \n  \/* ====== LINE HEIGHTS ====== *\/\n  --tfs-lh-hero: 1.05;\n  --tfs-lh-heading: 1.15;\n  --tfs-lh-body: 1.65;\n  --tfs-lh-tight: 1.3;\n  \n  \/* ====== BORDES REDONDEADOS ====== *\/\n  --tfs-radius-sm: 8px;\n  --tfs-radius-md: 12px;\n  --tfs-radius-lg: 16px;\n  --tfs-radius-xl: 24px;\n  --tfs-radius-full: 50px;\n  \n  \/* ====== TRANSICIONES ====== *\/\n  --tfs-transition-fast: 0.15s ease;\n  --tfs-transition-normal: 0.25s ease;\n  --tfs-transition-slow: 0.4s ease;\n  \n  \/* ====== ACCESIBILIDAD ====== *\/\n  --tfs-focus-outline: 3px solid var(--tfs-blanco);\n  --tfs-focus-offset: 3px;\n}\n\n\/* =====================================================\n   RESET Y BASE\n   ===================================================== *\/\n.tfs-programacion *,\n.tfs-programacion *::before,\n.tfs-programacion *::after {\n  box-sizing: border-box;\n  margin: 0;\n  padding: 0;\n}\n\n\/* Reset AGRESIVO para Elementor *\/\n.tfs-programacion h1,\n.tfs-programacion h2,\n.tfs-programacion h3,\n.tfs-programacion h4,\n.tfs-programacion h5,\n.tfs-programacion h6,\n.tfs-programacion p,\n.tfs-programacion span,\n.tfs-programacion strong,\n.tfs-programacion em,\n.elementor-widget-html .tfs-programacion h1,\n.elementor-widget-html .tfs-programacion h2,\n.elementor-widget-html .tfs-programacion h3,\n.elementor-widget-html .tfs-programacion p,\n.elementor-widget-container .tfs-programacion h1,\n.elementor-widget-container .tfs-programacion h2,\n.elementor-widget-container .tfs-programacion h3,\n.elementor-widget-container .tfs-programacion p,\n[class*=\"elementor\"] .tfs-programacion h1,\n[class*=\"elementor\"] .tfs-programacion h2,\n[class*=\"elementor\"] .tfs-programacion h3,\n[class*=\"elementor\"] .tfs-programacion p {\n  background: transparent !important;\n  background-color: transparent !important;\n  background-image: none !important;\n  box-shadow: none !important;\n  border: none !important;\n  -webkit-text-fill-color: inherit !important;\n  -webkit-background-clip: unset !important;\n  background-clip: unset !important;\n}\n\n.tfs-programacion {\n  background: var(--tfs-negro);\n  color: var(--tfs-crema);\n  font-family: var(--tfs-font-body);\n  font-weight: var(--tfs-weight-regular);\n  letter-spacing: var(--tfs-ls-body);\n  line-height: var(--tfs-lh-body);\n  overflow-x: hidden;\n}\n\n.tfs-programacion img {\n  max-width: 100%;\n  height: auto;\n  display: block;\n}\n\n.tfs-programacion a {\n  color: inherit;\n  text-decoration: none;\n}\n\n\/* =====================================================\n   ACCESIBILIDAD - SKIP LINK\n   ===================================================== *\/\n.tfs-skip-link {\n  position: absolute !important;\n  top: -9999px !important;\n  left: -9999px !important;\n  width: 1px !important;\n  height: 1px !important;\n  overflow: hidden !important;\n  clip: rect(0, 0, 0, 0) !important;\n  white-space: nowrap !important;\n  background: var(--tfs-blanco) !important;\n  color: var(--tfs-negro) !important;\n  padding: 16px 28px !important;\n  border-radius: var(--tfs-radius-md) !important;\n  font-family: var(--tfs-font-nav) !important;\n  font-size: 13px !important;\n  font-weight: var(--tfs-weight-light) !important;\n  text-transform: uppercase !important;\n  letter-spacing: var(--tfs-ls-button) !important;\n  z-index: 100000 !important;\n  opacity: 0 !important;\n  pointer-events: none !important;\n}\n\n.tfs-skip-link:focus,\n.tfs-skip-link:focus-visible {\n  position: fixed !important;\n  top: 16px !important;\n  left: 50% !important;\n  transform: translateX(-50%) !important;\n  width: auto !important;\n  height: auto !important;\n  overflow: visible !important;\n  clip: auto !important;\n  white-space: normal !important;\n  opacity: 1 !important;\n  pointer-events: auto !important;\n  outline: none !important;\n  box-shadow: 0 4px 20px rgba(0,0,0,0.4) !important;\n}\n\n\/* =====================================================\n   FOCUS STATES GLOBALES\n   ===================================================== *\/\n.tfs-programacion a:focus-visible,\n.tfs-programacion button:focus-visible,\n.tfs-programacion [tabindex]:focus-visible,\n.tfs-programacion summary:focus-visible {\n  outline: var(--tfs-focus-outline);\n  outline-offset: var(--tfs-focus-offset);\n}\n\n\/* =====================================================\n   SEPARADOR ELEGANTE\n   ===================================================== *\/\n.tfs-separador {\n  width: 100%;\n  padding: 50px 0;\n  background: var(--tfs-negro);\n}\n\n.tfs-separador__linea {\n  width: 100%;\n  max-width: 1200px;\n  height: 1px;\n  margin: 0 auto;\n  background: linear-gradient(90deg, \n    transparent 0%, \n    rgba(255,255,255,0.3) 15%, \n    rgba(255,255,255,0.3) 85%, \n    transparent 100%\n  );\n}\n\n\/* =====================================================\n   HERO SECTION\n   ===================================================== *\/\n.tfs-prog-hero {\n  position: relative;\n  min-height: 70vh;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 100px 24px;\n  overflow: hidden;\n  background-image: url('https://spcdn.shortpixel.ai/spio/ret_img,q_cdnize,to_auto,s_webp:avif/test.tablaoflamencolassetas.com/wp-content/uploads/2026/01/tablao-setas-enero-60-scaled.jpg');\n  background-size: cover;\n  background-position: center 30%;\n  background-repeat: no-repeat;\n  background-color: var(--tfs-negro);\n}\n\n.tfs-prog-hero::before {\n  content: '';\n  position: absolute;\n  inset: 0;\n  background: linear-gradient(180deg, \n    rgba(200,16,46,0.75) 0%, \n    rgba(200,16,46,0.85) 50%, \n    rgba(26,21,18,0.98) 100%\n  );\n  z-index: 1;\n}\n\n.tfs-prog-hero__content {\n  position: relative;\n  z-index: 3;\n  text-align: center;\n  max-width: 900px;\n}\n\n\/* Eyebrow - GT America Light uppercase *\/\n.tfs-prog-hero__eyebrow {\n  display: inline-flex !important;\n  align-items: center !important;\n  gap: 14px !important;\n  font-family: var(--tfs-font-nav) !important;\n  font-size: 13px !important;\n  font-weight: var(--tfs-weight-light) !important;\n  text-transform: uppercase !important;\n  letter-spacing: var(--tfs-ls-nav) !important;\n  color: var(--tfs-blanco) !important;\n  background: transparent !important;\n  margin-bottom: 28px !important;\n}\n\n.tfs-prog-hero__eyebrow::before,\n.tfs-prog-hero__eyebrow::after {\n  content: '';\n  width: 60px;\n  height: 1px;\n  background: rgba(255,255,255,0.5);\n}\n\n\/* T\u00edtulo Hero - Canela Light *\/\n.tfs-prog-hero__title {\n  font-family: var(--tfs-font-hero) !important;\n  font-size: clamp(40px, 8vw, 72px) !important;\n  font-weight: var(--tfs-weight-light) !important;\n  color: var(--tfs-blanco) !important;\n  background: transparent !important;\n  margin-bottom: 24px !important;\n  line-height: var(--tfs-lh-hero);\n  letter-spacing: var(--tfs-ls-hero);\n  text-shadow: 0 4px 40px rgba(0,0,0,0.5);\n}\n\n\/* Subt\u00edtulo - GT America Regular *\/\n.tfs-prog-hero__subtitle {\n  font-family: var(--tfs-font-body) !important;\n  font-size: clamp(17px, 2.5vw, 21px) !important;\n  font-weight: var(--tfs-weight-regular) !important;\n  letter-spacing: var(--tfs-ls-body) !important;\n  color: var(--tfs-blanco) !important;\n  background: transparent !important;\n  margin-bottom: 40px !important;\n  max-width: 650px !important;\n  margin-left: auto !important;\n  margin-right: auto !important;\n  line-height: var(--tfs-lh-body) !important;\n  opacity: 0.95;\n}\n\n.tfs-prog-hero__subtitle strong {\n  color: var(--tfs-blanco) !important;\n  font-weight: var(--tfs-weight-regular) !important;\n  background: transparent !important;\n  text-decoration: underline;\n  text-decoration-color: rgba(255,255,255,0.4);\n  text-underline-offset: 4px;\n}\n\n\/* Badges de info - GT America Regular *\/\n.tfs-prog-hero__info {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  gap: 16px;\n  margin-bottom: 40px;\n}\n\n.tfs-prog-hero__badge {\n  display: inline-flex;\n  align-items: center;\n  gap: 10px;\n  background: rgba(26, 21, 18, 0.7);\n  backdrop-filter: blur(12px);\n  -webkit-backdrop-filter: blur(12px);\n  padding: 14px 22px;\n  border-radius: var(--tfs-radius-full);\n  font-family: var(--tfs-font-body);\n  font-size: 14px;\n  font-weight: var(--tfs-weight-regular);\n  letter-spacing: var(--tfs-ls-body);\n  color: var(--tfs-crema);\n  border: 1px solid rgba(255,255,255,0.2);\n  transition: all var(--tfs-transition-normal);\n}\n\n.tfs-prog-hero__badge:hover {\n  background: rgba(26,21,18,0.85);\n  border-color: rgba(255,255,255,0.4);\n  transform: translateY(-3px);\n  box-shadow: 0 10px 30px rgba(0,0,0,0.3);\n}\n\n.tfs-prog-hero__badge svg {\n  width: 20px;\n  height: 20px;\n  fill: var(--tfs-blanco);\n  flex-shrink: 0;\n}\n\n\/* Scroll indicator - GT America Light uppercase *\/\n.tfs-prog-hero__scroll {\n  margin-top: 24px;\n}\n\n.tfs-prog-hero__scroll-link {\n  display: inline-flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 10px;\n  color: var(--tfs-blanco);\n  opacity: 0.9;\n  transition: all var(--tfs-transition-normal);\n  padding: 12px;\n  border-radius: var(--tfs-radius-md);\n}\n\n.tfs-prog-hero__scroll-link:hover {\n  opacity: 1;\n  transform: translateY(6px);\n}\n\n.tfs-prog-hero__scroll-text {\n  font-family: var(--tfs-font-nav);\n  font-size: 11px;\n  font-weight: var(--tfs-weight-light);\n  text-transform: uppercase;\n  letter-spacing: var(--tfs-ls-button);\n}\n\n.tfs-prog-hero__scroll-icon {\n  animation: tfs-bounce 2.5s ease-in-out infinite;\n}\n\n.tfs-prog-hero__scroll-icon svg {\n  width: 30px;\n  height: 30px;\n  stroke: var(--tfs-blanco);\n  stroke-width: 2;\n  fill: none;\n}\n\n@keyframes tfs-bounce {\n  0%, 20%, 50%, 80%, 100% { transform: translateY(0); }\n  40% { transform: translateY(12px); }\n  60% { transform: translateY(6px); }\n}\n\n\/* =====================================================\n   HOY EN ESCENA - FONDO NEGRO\n   ===================================================== *\/\n.tfs-hoy {\n  background: var(--tfs-negro);\n  padding: 0 24px;\n}\n\n.tfs-hoy__card {\n  max-width: 1200px;\n  margin: 0 auto;\n  background: var(--tfs-negro);\n  border-radius: var(--tfs-radius-xl);\n  border: 2px solid rgba(255,255,255,0.15);\n  box-shadow: 0 0 60px rgba(200,16,46,0.15);\n  overflow: hidden;\n  position: relative;\n}\n\n.tfs-hoy__card::before {\n  content: '';\n  position: absolute;\n  inset: 0;\n  background-image:\n    radial-gradient(circle at 10% 20%, rgba(200,16,46,0.15) 0%, transparent 40%),\n    radial-gradient(circle at 90% 80%, rgba(255,255,255,0.03) 0%, transparent 40%);\n  pointer-events: none;\n}\n\n\/* Header - Fondo rojo = texto BLANCO *\/\n.tfs-hoy__header {\n  position: relative;\n  text-align: center;\n  padding: 45px 24px 35px;\n  background: linear-gradient(135deg, var(--tfs-rojo) 0%, var(--tfs-rojo-oscuro) 100%);\n}\n\n\/* Badge - GT America Light uppercase *\/\n.tfs-hoy__badge {\n  display: inline-flex;\n  align-items: center;\n  gap: 10px;\n  background: var(--tfs-blanco);\n  color: var(--tfs-negro);\n  font-family: var(--tfs-font-nav);\n  font-size: 12px;\n  font-weight: var(--tfs-weight-light);\n  text-transform: uppercase;\n  letter-spacing: var(--tfs-ls-button);\n  padding: 12px 28px;\n  border-radius: var(--tfs-radius-full);\n  margin-bottom: 24px;\n  box-shadow: 0 6px 30px rgba(0,0,0,0.3);\n}\n\n.tfs-hoy__badge svg {\n  width: 18px;\n  height: 18px;\n  fill: var(--tfs-negro);\n}\n\n\/* Fecha - Canela Light *\/\n.tfs-hoy__fecha {\n  font-family: var(--tfs-font-hero) !important;\n  font-size: clamp(32px, 7vw, 54px) !important;\n  font-weight: var(--tfs-weight-light) !important;\n  color: var(--tfs-blanco) !important;\n  background: transparent !important;\n  margin-bottom: 12px !important;\n  letter-spacing: var(--tfs-ls-heading);\n  text-shadow: 0 3px 20px rgba(0,0,0,0.3);\n}\n\n\/* Total artistas - GT America Regular *\/\n.tfs-hoy__total {\n  font-family: var(--tfs-font-body);\n  font-size: 18px;\n  font-weight: var(--tfs-weight-regular);\n  letter-spacing: var(--tfs-ls-body);\n  color: var(--tfs-blanco);\n  opacity: 0.9;\n}\n\n.tfs-hoy__total strong {\n  background: var(--tfs-negro);\n  color: var(--tfs-blanco);\n  padding: 4px 12px;\n  border-radius: var(--tfs-radius-sm);\n  font-size: 22px;\n  font-weight: var(--tfs-weight-light);\n  margin-right: 6px;\n}\n\n\/* Loading - GT America Regular *\/\n.tfs-hoy__loading {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  padding: 80px 24px;\n  background: var(--tfs-negro);\n}\n\n.tfs-hoy__spinner {\n  width: 52px;\n  height: 52px;\n  border: 4px solid rgba(255,255,255,0.15);\n  border-top-color: var(--tfs-blanco);\n  border-radius: 50%;\n  animation: tfs-spin 0.8s linear infinite;\n  margin-bottom: 20px;\n}\n\n@keyframes tfs-spin {\n  to { transform: rotate(360deg); }\n}\n\n.tfs-hoy__loading-text {\n  font-family: var(--tfs-font-body);\n  font-size: 16px;\n  font-weight: var(--tfs-weight-regular);\n  letter-spacing: var(--tfs-ls-body);\n  color: var(--tfs-crema);\n  opacity: 0.7;\n}\n\n\/* GRID DE ARTISTAS - Fondo negro *\/\n.tfs-hoy__content {\n  position: relative;\n  padding: 55px 40px;\n  background: var(--tfs-negro);\n}\n\n.tfs-hoy__grid {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 32px;\n  justify-items: center;\n  max-width: 1100px;\n  margin: 0 auto;\n}\n\n@media (max-width: 1100px) {\n  .tfs-hoy__grid {\n    grid-template-columns: repeat(3, 1fr);\n    gap: 28px;\n  }\n}\n\n@media (max-width: 800px) {\n  .tfs-hoy__grid {\n    grid-template-columns: repeat(2, 1fr);\n    gap: 24px;\n  }\n  .tfs-hoy__content {\n    padding: 40px 24px;\n  }\n}\n\n@media (max-width: 480px) {\n  .tfs-hoy__grid {\n    grid-template-columns: repeat(2, 1fr);\n    gap: 16px;\n  }\n  .tfs-hoy__content {\n    padding: 30px 16px;\n  }\n}\n\n\/* TARJETA DE ARTISTA *\/\n.tfs-hoy__artista {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  text-align: center;\n  padding: 28px 18px;\n  background: rgba(200,16,46,0.12);\n  border-radius: var(--tfs-radius-lg);\n  width: 100%;\n  max-width: 260px;\n  transition: all var(--tfs-transition-normal);\n  border: 2px solid transparent;\n}\n\n.tfs-hoy__artista:hover {\n  transform: translateY(-12px);\n  background: rgba(200,16,46,0.2);\n  border-color: rgba(255,255,255,0.3);\n  box-shadow: \n    0 25px 60px rgba(0,0,0,0.5),\n    0 0 30px rgba(200,16,46,0.15);\n}\n\n\/* FOTO DEL ARTISTA *\/\n.tfs-hoy__artista-img {\n  width: 140px;\n  height: 140px;\n  border-radius: 50%;\n  object-fit: cover;\n  border: 4px solid rgba(255,255,255,0.3);\n  margin-bottom: 20px;\n  box-shadow: 0 12px 45px rgba(0,0,0,0.6);\n  transition: all var(--tfs-transition-normal);\n}\n\n@media (min-width: 800px) {\n  .tfs-hoy__artista-img {\n    width: 150px;\n    height: 150px;\n  }\n}\n\n.tfs-hoy__artista:hover .tfs-hoy__artista-img {\n  transform: scale(1.06);\n  border-color: var(--tfs-blanco);\n  box-shadow: \n    0 18px 50px rgba(0,0,0,0.5),\n    0 0 20px rgba(255,255,255,0.2);\n}\n\n\/* Inicial cuando no hay foto *\/\n.tfs-hoy__artista-inicial {\n  width: 140px;\n  height: 140px;\n  border-radius: 50%;\n  background: linear-gradient(145deg, var(--tfs-rojo) 0%, var(--tfs-rojo-oscuro) 100%);\n  border: 4px solid rgba(255,255,255,0.3);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-family: var(--tfs-font-hero);\n  font-size: 52px;\n  font-weight: var(--tfs-weight-light);\n  color: var(--tfs-blanco);\n  margin-bottom: 20px;\n  box-shadow: 0 12px 45px rgba(0,0,0,0.6);\n}\n\n@media (min-width: 800px) {\n  .tfs-hoy__artista-inicial {\n    width: 150px;\n    height: 150px;\n    font-size: 58px;\n  }\n}\n\n\/* Nombre artista - GT America Light *\/\n.tfs-hoy__artista-nombre {\n  font-family: var(--tfs-font-nav) !important;\n  font-size: 19px !important;\n  font-weight: var(--tfs-weight-light) !important;\n  letter-spacing: var(--tfs-ls-body) !important;\n  color: var(--tfs-blanco) !important;\n  background: transparent !important;\n  margin-bottom: 8px !important;\n  line-height: var(--tfs-lh-tight) !important;\n}\n\n@media (min-width: 800px) {\n  .tfs-hoy__artista-nombre {\n    font-size: 21px !important;\n  }\n}\n\n\/* Categor\u00eda - GT America Light uppercase *\/\n.tfs-hoy__artista-categoria {\n  font-family: var(--tfs-font-nav);\n  font-size: 11px;\n  font-weight: var(--tfs-weight-light);\n  text-transform: uppercase;\n  letter-spacing: var(--tfs-ls-button);\n  color: var(--tfs-crema);\n  opacity: 0.8;\n}\n\n@media (min-width: 800px) {\n  .tfs-hoy__artista-categoria {\n    font-size: 12px;\n  }\n}\n\n\/* Estado vac\u00edo - GT America Regular *\/\n.tfs-hoy__empty {\n  text-align: center;\n  padding: 80px 24px;\n  background: var(--tfs-negro);\n  color: var(--tfs-crema);\n}\n\n.tfs-hoy__empty-icon {\n  font-size: 72px;\n  margin-bottom: 24px;\n  display: block;\n  filter: grayscale(0.3);\n}\n\n.tfs-hoy__empty-text {\n  font-family: var(--tfs-font-body);\n  font-size: 19px;\n  font-weight: var(--tfs-weight-regular);\n  letter-spacing: var(--tfs-ls-body);\n  font-style: italic;\n  opacity: 0.7;\n}\n\n\/* Footer - GT America Light uppercase *\/\n.tfs-hoy__footer {\n  text-align: center;\n  padding: 30px;\n  background: rgba(13, 10, 8, 0.6);\n  border-top: 1px solid rgba(255,255,255,0.1);\n}\n\n.tfs-hoy__link {\n  display: inline-flex;\n  align-items: center;\n  gap: 12px;\n  font-family: var(--tfs-font-nav);\n  font-size: 13px;\n  font-weight: var(--tfs-weight-light);\n  text-transform: uppercase;\n  letter-spacing: var(--tfs-ls-button);\n  color: var(--tfs-blanco);\n  padding: 16px 36px;\n  border: 2px solid rgba(255,255,255,0.3);\n  border-radius: var(--tfs-radius-full);\n  transition: all var(--tfs-transition-normal);\n}\n\n.tfs-hoy__link:hover {\n  background: var(--tfs-blanco);\n  color: var(--tfs-negro);\n  border-color: var(--tfs-blanco);\n}\n\n.tfs-hoy__link svg {\n  width: 20px;\n  height: 20px;\n  stroke: currentColor;\n  stroke-width: 2.5;\n  fill: none;\n  transition: transform var(--tfs-transition-normal);\n}\n\n.tfs-hoy__link:hover svg {\n  transform: translateX(6px);\n}\n\n\/* Animaci\u00f3n entrada artistas *\/\n@keyframes tfs-fadeInUp {\n  from { \n    opacity: 0; \n    transform: translateY(30px); \n  }\n  to { \n    opacity: 1; \n    transform: translateY(0); \n  }\n}\n\n.tfs-hoy__artista {\n  animation: tfs-fadeInUp 0.5s ease backwards;\n}\n\n.tfs-hoy__artista:nth-child(1) { animation-delay: 0.05s; }\n.tfs-hoy__artista:nth-child(2) { animation-delay: 0.12s; }\n.tfs-hoy__artista:nth-child(3) { animation-delay: 0.19s; }\n.tfs-hoy__artista:nth-child(4) { animation-delay: 0.26s; }\n.tfs-hoy__artista:nth-child(5) { animation-delay: 0.33s; }\n.tfs-hoy__artista:nth-child(6) { animation-delay: 0.4s; }\n.tfs-hoy__artista:nth-child(7) { animation-delay: 0.47s; }\n.tfs-hoy__artista:nth-child(8) { animation-delay: 0.54s; }\n\n\/* =====================================================\n   CALENDARIO - FORMATO FILAS\n   ===================================================== *\/\n.tfs-calendario {\n  background: var(--tfs-negro);\n  padding: 0 24px 70px;\n}\n\n.tfs-calendario__container {\n  max-width: 1200px;\n  margin: 0 auto;\n}\n\n.tfs-calendario__header {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: space-between;\n  gap: 24px;\n  margin-bottom: 36px;\n  padding-bottom: 24px;\n  border-bottom: 1px solid rgba(255,255,255,0.1);\n}\n\n.tfs-calendario__title-wrap {\n  flex: 1;\n  min-width: 250px;\n}\n\n\/* Eyebrow - GT America Light uppercase *\/\n.tfs-calendario__eyebrow {\n  font-family: var(--tfs-font-nav) !important;\n  font-size: 12px !important;\n  font-weight: var(--tfs-weight-light) !important;\n  text-transform: uppercase !important;\n  letter-spacing: var(--tfs-ls-nav) !important;\n  color: var(--tfs-crema) !important;\n  background: transparent !important;\n  margin-bottom: 10px !important;\n  opacity: 0.8;\n}\n\n\/* T\u00edtulo - Canela Light *\/\n.tfs-calendario__title {\n  font-family: var(--tfs-font-hero) !important;\n  font-size: clamp(28px, 5vw, 44px) !important;\n  font-weight: var(--tfs-weight-light) !important;\n  color: var(--tfs-blanco) !important;\n  background: transparent !important;\n  letter-spacing: var(--tfs-ls-heading);\n}\n\n\/* Navegaci\u00f3n *\/\n.tfs-calendario__nav {\n  display: flex;\n  gap: 14px;\n}\n\n.tfs-calendario__nav-btn {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 52px;\n  height: 52px;\n  background: rgba(255,255,255,0.05);\n  border: 2px solid rgba(255,255,255,0.2);\n  border-radius: 50%;\n  color: var(--tfs-blanco);\n  cursor: pointer;\n  transition: all var(--tfs-transition-normal);\n}\n\n.tfs-calendario__nav-btn:hover:not(:disabled) {\n  background: var(--tfs-blanco);\n  border-color: var(--tfs-blanco);\n  color: var(--tfs-negro);\n  transform: scale(1.1);\n  box-shadow: 0 8px 25px rgba(255,255,255,0.2);\n}\n\n.tfs-calendario__nav-btn:disabled {\n  opacity: 0.25;\n  cursor: not-allowed;\n}\n\n.tfs-calendario__nav-btn svg {\n  width: 24px;\n  height: 24px;\n  stroke: currentColor;\n  stroke-width: 2.5;\n  fill: none;\n}\n\n\/* Container semanas *\/\n.tfs-calendario__semanas {\n  display: flex;\n  flex-direction: column;\n  gap: 22px;\n}\n\n\/* =====================================================\n   SEMANA - ACCORDION\n   ===================================================== *\/\n.tfs-semana {\n  background: rgba(26, 21, 18, 0.7);\n  border-radius: var(--tfs-radius-lg);\n  overflow: hidden;\n  border: 2px solid rgba(255,255,255,0.08);\n  transition: border-color var(--tfs-transition-normal);\n}\n\n.tfs-semana:hover {\n  border-color: rgba(255,255,255,0.15);\n}\n\n.tfs-semana--actual {\n  border: 2px solid rgba(255,255,255,0.3);\n  box-shadow: 0 0 50px rgba(200,16,46,0.15);\n}\n\n\/* Header semana - ROJO = texto BLANCO *\/\n.tfs-semana__header {\n  display: flex;\n  align-items: center;\n  gap: 18px;\n  width: 100%;\n  padding: 22px 26px;\n  background: linear-gradient(135deg, var(--tfs-rojo) 0%, var(--tfs-rojo-oscuro) 100%);\n  border: none;\n  cursor: pointer;\n  transition: all var(--tfs-transition-normal);\n  text-align: left;\n  list-style: none;\n}\n\n.tfs-semana__header::-webkit-details-marker {\n  display: none;\n}\n\n.tfs-semana__header:hover {\n  filter: brightness(1.12);\n}\n\n\/* Badge semana - GT America Light uppercase *\/\n.tfs-semana__badge {\n  flex-shrink: 0;\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  background: var(--tfs-blanco);\n  color: var(--tfs-negro);\n  font-family: var(--tfs-font-nav);\n  font-size: 11px;\n  font-weight: var(--tfs-weight-light);\n  text-transform: uppercase;\n  letter-spacing: var(--tfs-ls-button);\n  padding: 10px 18px;\n  border-radius: var(--tfs-radius-full);\n}\n\n.tfs-semana__badge--default {\n  background: rgba(255,255,255,0.15);\n  color: var(--tfs-blanco);\n}\n\n\/* Rango - GT America Light *\/\n.tfs-semana__rango {\n  flex: 1;\n  font-family: var(--tfs-font-nav);\n  font-size: clamp(15px, 2.5vw, 21px);\n  font-weight: var(--tfs-weight-light);\n  letter-spacing: var(--tfs-ls-body);\n  color: var(--tfs-blanco);\n}\n\n\/* D\u00edas count - GT America Regular *\/\n.tfs-semana__dias-count {\n  font-family: var(--tfs-font-body);\n  font-size: 14px;\n  font-weight: var(--tfs-weight-regular);\n  letter-spacing: var(--tfs-ls-body);\n  color: var(--tfs-blanco);\n  opacity: 0.8;\n}\n\n@media (max-width: 600px) {\n  .tfs-semana__dias-count {\n    display: none;\n  }\n}\n\n.tfs-semana__chevron {\n  flex-shrink: 0;\n  width: 28px;\n  height: 28px;\n  stroke: var(--tfs-blanco);\n  stroke-width: 2.5;\n  fill: none;\n  transition: transform var(--tfs-transition-normal);\n}\n\n.tfs-semana[open] .tfs-semana__chevron {\n  transform: rotate(180deg);\n}\n\n\/* Contenido semana - Fondo negro *\/\n.tfs-semana__content {\n  padding: 26px;\n  background: rgba(13, 10, 8, 0.6);\n  animation: tfs-fadeInUp 0.3s ease;\n}\n\n@media (max-width: 600px) {\n  .tfs-semana__content {\n    padding: 18px;\n  }\n}\n\n\/* =====================================================\n   D\u00cdAS EN FORMATO FILA\n   ===================================================== *\/\n.tfs-semana__dias {\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n}\n\n\/* FILA DE D\u00cdA *\/\n.tfs-dia-row {\n  display: grid;\n  grid-template-columns: 150px 1fr;\n  gap: 22px;\n  background: rgba(26, 21, 18, 0.8);\n  border-radius: var(--tfs-radius-lg);\n  overflow: hidden;\n  border: 2px solid rgba(255,255,255,0.05);\n  transition: all var(--tfs-transition-normal);\n  min-height: 95px;\n}\n\n.tfs-dia-row:hover {\n  border-color: rgba(255,255,255,0.15);\n  transform: translateX(5px);\n  box-shadow: 0 8px 30px rgba(0,0,0,0.3);\n}\n\n.tfs-dia-row--hoy {\n  border: 2px solid var(--tfs-blanco);\n  box-shadow: 0 0 35px rgba(255,255,255,0.15);\n}\n\n.tfs-dia-row--pasado {\n  opacity: 0.5;\n}\n\n.tfs-dia-row--pasado:hover {\n  opacity: 0.65;\n}\n\n.tfs-dia-row--vacio {\n  opacity: 0.7;\n}\n\n@media (max-width: 700px) {\n  .tfs-dia-row {\n    grid-template-columns: 1fr;\n  }\n}\n\n\/* Fecha del d\u00eda - Fondo ROJO = texto BLANCO *\/\n.tfs-dia-row__fecha {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 20px;\n  background: linear-gradient(135deg, var(--tfs-rojo) 0%, var(--tfs-rojo-oscuro) 100%);\n  text-align: center;\n  position: relative;\n  min-height: 105px;\n}\n\n@media (max-width: 700px) {\n  .tfs-dia-row__fecha {\n    flex-direction: row;\n    gap: 14px;\n    min-height: auto;\n    padding: 16px 20px;\n  }\n}\n\n\/* D\u00eda HOY - Fondo BLANCO = texto NEGRO *\/\n.tfs-dia-row--hoy .tfs-dia-row__fecha {\n  background: linear-gradient(135deg, var(--tfs-blanco) 0%, var(--tfs-crema) 100%);\n}\n\n.tfs-dia-row--pasado .tfs-dia-row__fecha {\n  background: linear-gradient(135deg, #4a3a38 0%, #3a2a28 100%);\n}\n\n\/* Badge HOY - GT America Light uppercase *\/\n.tfs-dia-row__badge {\n  position: absolute;\n  top: 8px;\n  right: 8px;\n  background: var(--tfs-negro);\n  color: var(--tfs-blanco);\n  font-family: var(--tfs-font-nav);\n  font-size: 9px;\n  font-weight: var(--tfs-weight-light);\n  text-transform: uppercase;\n  letter-spacing: var(--tfs-ls-micro);\n  padding: 5px 12px;\n  border-radius: var(--tfs-radius-sm);\n}\n\n@media (max-width: 700px) {\n  .tfs-dia-row__badge {\n    position: static;\n    order: -1;\n  }\n}\n\n\/* Nombre d\u00eda - GT America Light *\/\n.tfs-dia-row__nombre {\n  font-family: var(--tfs-font-nav) !important;\n  font-size: 14px !important;\n  font-weight: var(--tfs-weight-light) !important;\n  letter-spacing: var(--tfs-ls-body) !important;\n  color: var(--tfs-blanco) !important;\n  background: transparent !important;\n  text-transform: capitalize !important;\n  margin-bottom: 3px !important;\n}\n\n\/* D\u00eda HOY - NEGRO sobre blanco *\/\n.tfs-dia-row--hoy .tfs-dia-row__nombre {\n  color: var(--tfs-negro) !important;\n}\n\n@media (max-width: 700px) {\n  .tfs-dia-row__nombre {\n    margin-bottom: 0 !important;\n  }\n}\n\n\/* N\u00famero d\u00eda - Canela Light *\/\n.tfs-dia-row__numero {\n  font-family: var(--tfs-font-hero);\n  font-size: 40px;\n  font-weight: var(--tfs-weight-light);\n  letter-spacing: var(--tfs-ls-heading);\n  color: var(--tfs-blanco);\n  line-height: 1;\n}\n\n@media (max-width: 700px) {\n  .tfs-dia-row__numero {\n    font-size: 30px;\n  }\n}\n\n\/* D\u00eda HOY - NEGRO sobre blanco *\/\n.tfs-dia-row--hoy .tfs-dia-row__numero {\n  color: var(--tfs-negro);\n}\n\n\/* Mes - GT America Light uppercase *\/\n.tfs-dia-row__mes {\n  font-family: var(--tfs-font-nav);\n  font-size: 11px;\n  font-weight: var(--tfs-weight-light);\n  text-transform: uppercase;\n  letter-spacing: var(--tfs-ls-micro);\n  color: var(--tfs-blanco);\n  opacity: 0.85;\n  margin-top: 5px;\n}\n\n\/* D\u00eda HOY *\/\n.tfs-dia-row--hoy .tfs-dia-row__mes {\n  color: var(--tfs-negro);\n  opacity: 0.7;\n}\n\n@media (max-width: 700px) {\n  .tfs-dia-row__mes {\n    margin-top: 0;\n  }\n}\n\n\/* Contenido del d\u00eda - Artistas (fondo negro) *\/\n.tfs-dia-row__content {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: 22px;\n  padding: 20px 24px;\n}\n\n@media (max-width: 700px) {\n  .tfs-dia-row__content {\n    padding: 18px;\n    gap: 18px;\n  }\n}\n\n\/* Categor\u00eda dentro del d\u00eda *\/\n.tfs-dia-row__categoria {\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n}\n\n\/* Label categor\u00eda - GT America Light uppercase *\/\n.tfs-dia-row__categoria-label {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  font-family: var(--tfs-font-nav);\n  font-size: 11px;\n  font-weight: var(--tfs-weight-light);\n  text-transform: uppercase;\n  letter-spacing: var(--tfs-ls-button);\n  color: var(--tfs-crema);\n  opacity: 0.8;\n}\n\n.tfs-dia-row__categoria-icon {\n  font-size: 15px;\n}\n\n\/* Artistas en fila - GT America Regular *\/\n.tfs-dia-row__artistas {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px;\n}\n\n.tfs-dia-row__artista {\n  display: inline-flex;\n  align-items: center;\n  gap: 10px;\n  background: rgba(200,16,46,0.2);\n  padding: 9px 16px 9px 9px;\n  border-radius: var(--tfs-radius-full);\n  font-family: var(--tfs-font-body);\n  font-size: 14px;\n  font-weight: var(--tfs-weight-regular);\n  letter-spacing: var(--tfs-ls-body);\n  color: var(--tfs-crema);\n  transition: background var(--tfs-transition-fast);\n}\n\n.tfs-dia-row__artista:hover {\n  background: rgba(200,16,46,0.35);\n}\n\n.tfs-dia-row__artista-img {\n  width: 40px;\n  height: 40px;\n  border-radius: 50%;\n  object-fit: cover;\n  border: 2px solid rgba(255,255,255,0.3);\n}\n\n.tfs-dia-row__artista-inicial {\n  width: 40px;\n  height: 40px;\n  border-radius: 50%;\n  background: var(--tfs-rojo);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 15px;\n  font-weight: var(--tfs-weight-light);\n  color: var(--tfs-blanco);\n  border: 2px solid rgba(255,255,255,0.3);\n}\n\n\/* Estados: Pendiente (futuro) y Sin datos (pasado) - GT America Regular *\/\n.tfs-dia-row__estado {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 22px 26px;\n  color: var(--tfs-crema);\n  opacity: 0.6;\n  font-style: italic;\n}\n\n@media (max-width: 700px) {\n  .tfs-dia-row__estado {\n    padding: 18px;\n  }\n}\n\n.tfs-dia-row__estado-icon {\n  font-size: 34px;\n  opacity: 0.7;\n}\n\n.tfs-dia-row__estado-text {\n  font-family: var(--tfs-font-body);\n  font-size: 15px;\n  font-weight: var(--tfs-weight-regular);\n  letter-spacing: var(--tfs-ls-body);\n}\n\n\/* Estado pasado vs futuro *\/\n.tfs-dia-row--pasado .tfs-dia-row__estado {\n  opacity: 0.4;\n}\n\n.tfs-dia-row--futuro .tfs-dia-row__estado {\n  color: var(--tfs-crema);\n  opacity: 0.75;\n}\n\n\/* Leyenda - GT America Regular *\/\n.tfs-leyenda {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  gap: 22px 36px;\n  padding: 24px;\n  background: rgba(26,21,18,0.6);\n  border-radius: var(--tfs-radius-md);\n  margin-top: 36px;\n  border: 1px solid rgba(255,255,255,0.08);\n}\n\n.tfs-leyenda__item {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  font-family: var(--tfs-font-body);\n  font-size: 13px;\n  font-weight: var(--tfs-weight-regular);\n  letter-spacing: var(--tfs-ls-body);\n  color: var(--tfs-crema);\n  opacity: 0.9;\n}\n\n.tfs-leyenda__icon {\n  font-size: 18px;\n}\n\n\/* Nota informativa - GT America Regular *\/\n.tfs-calendario__nota {\n  display: flex;\n  align-items: flex-start;\n  gap: 18px;\n  background: rgba(200,16,46,0.08);\n  border-left: 4px solid var(--tfs-rojo);\n  padding: 24px 28px;\n  margin-top: 36px;\n  border-radius: 0 var(--tfs-radius-md) var(--tfs-radius-md) 0;\n}\n\n@media (max-width: 600px) {\n  .tfs-calendario__nota {\n    padding: 20px;\n    gap: 14px;\n  }\n}\n\n.tfs-calendario__nota-icon {\n  flex-shrink: 0;\n  width: 26px;\n  height: 26px;\n  stroke: var(--tfs-blanco);\n  stroke-width: 2;\n  fill: none;\n}\n\n.tfs-calendario__nota-text {\n  font-family: var(--tfs-font-body);\n  font-size: 15px;\n  font-weight: var(--tfs-weight-regular);\n  letter-spacing: var(--tfs-ls-body);\n  color: var(--tfs-crema);\n  line-height: var(--tfs-lh-body);\n}\n\n.tfs-calendario__nota-text strong {\n  color: var(--tfs-blanco);\n  font-weight: var(--tfs-weight-regular);\n}\n\n\/* =====================================================\n   INFO CARDS - CON FONDO DE IMAGEN\n   ===================================================== *\/\n.tfs-prog-info {\n  position: relative;\n  padding: 80px 24px;\n  background-image: url('https://spcdn.shortpixel.ai/spio/ret_img,q_cdnize,to_auto,s_webp:avif/test.tablaoflamencolassetas.com/wp-content/uploads/2026/01/tablao-setas-enero-30-scaled.jpg');\n  background-size: cover;\n  background-position: center;\n  background-repeat: no-repeat;\n}\n\n.tfs-prog-info::before {\n  content: '';\n  position: absolute;\n  inset: 0;\n  background: rgba(26, 21, 18, 0.92);\n  z-index: 1;\n}\n\n.tfs-prog-info__container {\n  position: relative;\n  z-index: 2;\n  max-width: 1200px;\n  margin: 0 auto;\n}\n\n.tfs-prog-info__header {\n  text-align: center;\n  margin-bottom: 50px;\n}\n\n\/* Eyebrow - GT America Light uppercase *\/\n.tfs-prog-info__eyebrow {\n  font-family: var(--tfs-font-nav) !important;\n  font-size: 12px !important;\n  font-weight: var(--tfs-weight-light) !important;\n  text-transform: uppercase !important;\n  letter-spacing: var(--tfs-ls-nav) !important;\n  color: var(--tfs-crema) !important;\n  background: transparent !important;\n  margin-bottom: 12px !important;\n  opacity: 0.8;\n}\n\n\/* T\u00edtulo - Canela Light *\/\n.tfs-prog-info__title {\n  font-family: var(--tfs-font-hero) !important;\n  font-size: clamp(28px, 5vw, 44px) !important;\n  font-weight: var(--tfs-weight-light) !important;\n  color: var(--tfs-blanco) !important;\n  background: transparent !important;\n  letter-spacing: var(--tfs-ls-heading);\n}\n\n.tfs-prog-info__grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n  gap: 28px;\n  margin-bottom: 45px;\n}\n\n.tfs-prog-info__card {\n  background: rgba(26, 21, 18, 0.85);\n  border-radius: var(--tfs-radius-lg);\n  padding: 32px;\n  border: 1px solid rgba(255,255,255,0.08);\n  transition: all var(--tfs-transition-normal);\n}\n\n.tfs-prog-info__card:hover {\n  border-color: rgba(255,255,255,0.2);\n  transform: translateY(-6px);\n  box-shadow: 0 20px 50px rgba(0,0,0,0.4);\n}\n\n\/* Card destacada - Fondo ROJO = textos BLANCO *\/\n.tfs-prog-info__card--highlight {\n  background: linear-gradient(135deg, var(--tfs-rojo) 0%, var(--tfs-rojo-oscuro) 100%);\n  border-color: var(--tfs-rojo);\n}\n\n.tfs-prog-info__card-icon {\n  width: 40px;\n  height: 40px;\n  fill: var(--tfs-blanco);\n  margin-bottom: 18px;\n}\n\n\/* T\u00edtulo card - GT America Light *\/\n.tfs-prog-info__card-title {\n  font-family: var(--tfs-font-nav) !important;\n  font-size: 22px !important;\n  font-weight: var(--tfs-weight-light) !important;\n  letter-spacing: var(--tfs-ls-body) !important;\n  color: var(--tfs-blanco) !important;\n  background: transparent !important;\n  margin-bottom: 12px !important;\n}\n\n\/* Texto card - GT America Regular *\/\n.tfs-prog-info__card-text {\n  font-family: var(--tfs-font-body);\n  font-size: 15px;\n  font-weight: var(--tfs-weight-regular);\n  letter-spacing: var(--tfs-ls-body);\n  color: var(--tfs-crema);\n  line-height: var(--tfs-lh-body);\n  opacity: 0.9;\n}\n\n\/* Strong en cards - BLANCO *\/\n.tfs-prog-info__card-text strong {\n  color: var(--tfs-blanco);\n  font-weight: var(--tfs-weight-regular);\n}\n\n\/* Strong en card destacada (rojo) *\/\n.tfs-prog-info__card--highlight .tfs-prog-info__card-text strong {\n  color: var(--tfs-blanco) !important;\n  text-decoration: underline;\n  text-decoration-color: rgba(255,255,255,0.4);\n  text-underline-offset: 3px;\n}\n\n\/* Link m\u00e1s info - GT America Light uppercase *\/\n.tfs-prog-info__more {\n  text-align: center;\n}\n\n.tfs-prog-info__more-link {\n  display: inline-flex;\n  align-items: center;\n  gap: 12px;\n  font-family: var(--tfs-font-nav);\n  font-size: 12px;\n  font-weight: var(--tfs-weight-light);\n  text-transform: uppercase;\n  letter-spacing: var(--tfs-ls-button);\n  color: var(--tfs-blanco);\n  padding: 10px;\n  border-radius: var(--tfs-radius-sm);\n  transition: all var(--tfs-transition-normal);\n}\n\n.tfs-prog-info__more-link:hover {\n  color: var(--tfs-crema);\n  letter-spacing: 0.15em;\n}\n\n.tfs-prog-info__more-link svg {\n  width: 20px;\n  height: 20px;\n  stroke: currentColor;\n  stroke-width: 2;\n  fill: none;\n  transition: transform var(--tfs-transition-normal);\n}\n\n.tfs-prog-info__more-link:hover svg {\n  transform: translateX(5px);\n}\n\n\/* =====================================================\n   CTA FINAL - FONDO IMAGEN\n   ===================================================== *\/\n.tfs-prog-cta {\n  position: relative;\n  padding: 100px 24px;\n  text-align: center;\n  overflow: hidden;\n  background-image: url('https://spcdn.shortpixel.ai/spio/ret_img,q_cdnize,to_auto,s_webp:avif/test.tablaoflamencolassetas.com/wp-content/uploads/2025/12/VIVE-3-scaled.jpg');\n  background-size: cover;\n  background-position: center;\n  background-repeat: no-repeat;\n}\n\n.tfs-prog-cta::before {\n  content: '';\n  position: absolute;\n  inset: 0;\n  background: linear-gradient(180deg,\n    rgba(200,16,46,0.88) 0%,\n    rgba(139,26,26,0.92) 100%\n  );\n  z-index: 1;\n}\n\n.tfs-prog-cta::after {\n  content: '';\n  position: absolute;\n  inset: 0;\n  background-image:\n    radial-gradient(circle at 25% 25%, rgba(255,255,255,0.05) 0%, transparent 50%),\n    radial-gradient(circle at 75% 75%, rgba(26,21,18,0.2) 0%, transparent 50%);\n  pointer-events: none;\n  z-index: 2;\n}\n\n.tfs-prog-cta__container {\n  position: relative;\n  z-index: 3;\n  max-width: 850px;\n  margin: 0 auto;\n}\n\n\/* T\u00edtulo CTA - Canela Light *\/\n.tfs-prog-cta__title {\n  font-family: var(--tfs-font-hero) !important;\n  font-size: clamp(32px, 7vw, 60px) !important;\n  font-weight: var(--tfs-weight-light) !important;\n  color: var(--tfs-blanco) !important;\n  background: transparent !important;\n  margin-bottom: 20px !important;\n  line-height: var(--tfs-lh-hero);\n  letter-spacing: var(--tfs-ls-hero);\n  text-shadow: 0 4px 30px rgba(0,0,0,0.4);\n}\n\n\/* Subt\u00edtulo - GT America Regular *\/\n.tfs-prog-cta__subtitle {\n  font-family: var(--tfs-font-body) !important;\n  font-size: clamp(17px, 2.5vw, 21px) !important;\n  font-weight: var(--tfs-weight-regular) !important;\n  letter-spacing: var(--tfs-ls-body) !important;\n  color: var(--tfs-blanco) !important;\n  background: transparent !important;\n  margin-bottom: 45px !important;\n  max-width: 620px !important;\n  margin-left: auto !important;\n  margin-right: auto !important;\n  line-height: var(--tfs-lh-body) !important;\n  opacity: 0.95;\n}\n\n.tfs-prog-cta__buttons {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  gap: 20px;\n  margin-bottom: 50px;\n}\n\n\/* Bot\u00f3n primario - GT America Light uppercase *\/\n.tfs-prog-cta__btn-primary {\n  display: inline-flex;\n  align-items: center;\n  gap: 14px;\n  background: var(--tfs-blanco);\n  color: var(--tfs-negro);\n  padding: 22px 44px;\n  border-radius: var(--tfs-radius-full);\n  font-family: var(--tfs-font-nav);\n  font-size: 13px;\n  font-weight: var(--tfs-weight-light);\n  text-transform: uppercase;\n  letter-spacing: var(--tfs-ls-button);\n  border: none;\n  cursor: pointer;\n  transition: all var(--tfs-transition-normal);\n  box-shadow: 0 12px 40px rgba(255,255,255,0.3);\n}\n\n.tfs-prog-cta__btn-primary:hover {\n  background: var(--tfs-crema);\n  transform: translateY(-5px);\n  box-shadow: 0 18px 50px rgba(255,255,255,0.4);\n}\n\n.tfs-prog-cta__btn-primary svg {\n  width: 24px;\n  height: 24px;\n  fill: currentColor;\n}\n\n\/* Bot\u00f3n WhatsApp - GT America Light uppercase *\/\n.tfs-prog-cta__btn-whatsapp {\n  display: inline-flex;\n  align-items: center;\n  gap: 14px;\n  background: #25D366;\n  color: white;\n  padding: 22px 44px;\n  border-radius: var(--tfs-radius-full);\n  font-family: var(--tfs-font-nav);\n  font-size: 13px;\n  font-weight: var(--tfs-weight-light);\n  text-transform: uppercase;\n  letter-spacing: var(--tfs-ls-button);\n  transition: all var(--tfs-transition-normal);\n  box-shadow: 0 12px 40px rgba(37,211,102,0.4);\n}\n\n.tfs-prog-cta__btn-whatsapp:hover {\n  background: #128C7E;\n  transform: translateY(-5px);\n  box-shadow: 0 18px 50px rgba(37,211,102,0.5);\n}\n\n.tfs-prog-cta__btn-whatsapp svg {\n  width: 24px;\n  height: 24px;\n  fill: currentColor;\n}\n\n\/* Trust badges - GT America Regular *\/\n.tfs-prog-cta__trust {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  gap: 28px;\n}\n\n.tfs-prog-cta__trust-item {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  font-family: var(--tfs-font-body);\n  font-size: 14px;\n  font-weight: var(--tfs-weight-regular);\n  letter-spacing: var(--tfs-ls-body);\n  color: var(--tfs-blanco);\n  background: rgba(26,21,18,0.5);\n  padding: 10px 18px;\n  border-radius: var(--tfs-radius-full);\n}\n\n.tfs-prog-cta__trust-item svg {\n  width: 22px;\n  height: 22px;\n  fill: var(--tfs-blanco);\n  flex-shrink: 0;\n}\n\n\/* Responsive CTA *\/\n@media (max-width: 600px) {\n  .tfs-prog-cta {\n    padding: 70px 20px;\n  }\n  \n  .tfs-prog-cta__buttons {\n    flex-direction: column;\n    align-items: center;\n  }\n  \n  .tfs-prog-cta__btn-primary,\n  .tfs-prog-cta__btn-whatsapp {\n    width: 100%;\n    max-width: 340px;\n    justify-content: center;\n    padding: 20px 36px;\n  }\n  \n  .tfs-prog-cta__trust {\n    flex-direction: column;\n    align-items: center;\n    gap: 18px;\n  }\n}\n\n\/* =====================================================\n   MODAL TURITOP\n   ===================================================== *\/\n.tfs-modal {\n  position: fixed;\n  inset: 0;\n  background: rgba(13, 10, 8, 0.96);\n  z-index: 99999;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 24px;\n  opacity: 0;\n  visibility: hidden;\n  transition: all var(--tfs-transition-normal);\n}\n\n.tfs-modal.open {\n  opacity: 1;\n  visibility: visible;\n}\n\n.tfs-modal__box {\n  background: var(--tfs-negro);\n  border-radius: var(--tfs-radius-xl);\n  width: 100%;\n  max-width: 680px;\n  max-height: 90vh;\n  overflow: hidden;\n  border: 2px solid var(--tfs-rojo);\n  box-shadow: 0 30px 100px rgba(200,16,46,0.5);\n  transform: scale(0.9) translateY(40px);\n  transition: transform var(--tfs-transition-normal);\n}\n\n.tfs-modal.open .tfs-modal__box {\n  transform: scale(1) translateY(0);\n}\n\n\/* Modal header - ROJO = texto BLANCO *\/\n.tfs-modal__head {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 22px 28px;\n  background: linear-gradient(135deg, var(--tfs-rojo) 0%, var(--tfs-rojo-oscuro) 100%);\n}\n\n\/* Modal title - GT America Light *\/\n.tfs-modal__title {\n  font-family: var(--tfs-font-nav);\n  font-size: 24px;\n  font-weight: var(--tfs-weight-light);\n  letter-spacing: var(--tfs-ls-body);\n  color: var(--tfs-blanco);\n}\n\n.tfs-modal__close {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 44px;\n  height: 44px;\n  background: rgba(26,21,18,0.4);\n  border: none;\n  border-radius: 50%;\n  color: var(--tfs-blanco);\n  cursor: pointer;\n  transition: all var(--tfs-transition-fast);\n}\n\n.tfs-modal__close:hover {\n  background: rgba(26,21,18,0.7);\n  transform: rotate(90deg);\n}\n\n.tfs-modal__close svg {\n  width: 24px;\n  height: 24px;\n}\n\n.tfs-modal__body {\n  padding: 28px;\n  max-height: calc(90vh - 100px);\n  overflow-y: auto;\n  background: var(--tfs-negro);\n}\n\n\/* Modal loading - GT America Regular *\/\n.tfs-modal__loading {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  padding: 70px;\n  font-family: var(--tfs-font-body);\n  font-weight: var(--tfs-weight-regular);\n  letter-spacing: var(--tfs-ls-body);\n  color: var(--tfs-crema);\n  opacity: 0.7;\n}\n\n.tfs-modal__spinner {\n  width: 48px;\n  height: 48px;\n  border: 4px solid rgba(255,255,255,0.15);\n  border-top-color: var(--tfs-blanco);\n  border-radius: 50%;\n  animation: tfs-spin 0.8s linear infinite;\n  margin-bottom: 18px;\n}\n\n\/* =====================================================\n   UTILIDADES\n   ===================================================== *\/\n\n\/* Screen reader only *\/\n.tfs-sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0;\n}\n\n\/* Noscript fallback *\/\n.tfs-noscript {\n  background: rgba(200,16,46,0.12);\n  border: 2px solid var(--tfs-rojo);\n  border-radius: var(--tfs-radius-lg);\n  padding: 35px;\n  text-align: center;\n  margin: 50px auto;\n  max-width: 620px;\n}\n\n.tfs-noscript__title {\n  font-family: var(--tfs-font-nav);\n  font-size: 22px;\n  font-weight: var(--tfs-weight-light);\n  letter-spacing: var(--tfs-ls-body);\n  color: var(--tfs-blanco);\n  margin-bottom: 14px;\n}\n\n.tfs-noscript__text {\n  font-family: var(--tfs-font-body);\n  font-size: 16px;\n  font-weight: var(--tfs-weight-regular);\n  letter-spacing: var(--tfs-ls-body);\n  color: var(--tfs-crema);\n  line-height: var(--tfs-lh-body);\n}\n\n\/* =====================================================\n   CAMBIO AUTOM\u00c1TICO TIPOGR\u00c1FICO MOBILE (<768px)\n   Canela Light \u2192 Playfair Display\n   ===================================================== *\/\n\n\/* T\u00edtulos con Canela Light - Desktop y Tablet *\/\n.tfs-prog-hero__title,\n.tfs-hoy__fecha,\n.tfs-calendario__title,\n.tfs-prog-info__title,\n.tfs-prog-cta__title,\n.tfs-dia-row__numero {\n  font-family: var(--tfs-font-hero) !important;\n  text-rendering: optimizeLegibility;\n  -webkit-font-smoothing: antialiased;\n}\n\n\/* CAMBIO AUTOM\u00c1TICO EN MOBILE (<768px) *\/\n@media (max-width: 768px) {\n  .tfs-prog-hero__title,\n  .tfs-hoy__fecha,\n  .tfs-calendario__title,\n  .tfs-prog-info__title,\n  .tfs-prog-cta__title,\n  .tfs-dia-row__numero {\n    font-family: 'Playfair Display', Georgia, serif !important;\n    font-weight: 700 !important;\n  }\n  \n  .tfs-modal__title {\n    font-family: 'Playfair Display', Georgia, serif !important;\n    font-weight: 700 !important;\n  }\n}\n\n\/* =====================================================\n   REDUCED MOTION\n   ===================================================== *\/\n@media (prefers-reduced-motion: reduce) {\n  .tfs-programacion *,\n  .tfs-programacion *::before,\n  .tfs-programacion *::after {\n    animation-duration: 0.01ms !important;\n    animation-iteration-count: 1 !important;\n    transition-duration: 0.01ms !important;\n  }\n}\n\n\/* =====================================================\n   PRINT STYLES\n   ===================================================== *\/\n@media print {\n  .tfs-prog-hero,\n  .tfs-prog-cta,\n  .tfs-modal,\n  .tfs-skip-link,\n  .tfs-hoy__footer,\n  .tfs-calendario__nav,\n  .tfs-prog-hero__scroll {\n    display: none !important;\n  }\n  \n  .tfs-programacion {\n    background: white;\n    color: black;\n  }\n  \n  .tfs-hoy__card,\n  .tfs-semana,\n  .tfs-dia-row {\n    border: 1px solid #ccc;\n    background: white;\n  }\n}\n<\/style>\n\n<!-- =====================================================\n     HTML ESTRUCTURA\n     ===================================================== -->\n\n<!-- Skip Link para accesibilidad -->\n<a href=\"#contenido-principal\" class=\"tfs-skip-link\">\n  Saltar al contenido principal\n<\/a>\n\n<div class=\"tfs-programacion\">\n  \n  <main id=\"contenido-principal\">\n  \n    <!-- ============================================\n         HERO SECTION\n         ============================================ -->\n    <section class=\"tfs-prog-hero\" aria-labelledby=\"hero-title\">\n      <div class=\"tfs-prog-hero__content\">\n        \n        <p class=\"tfs-prog-hero__eyebrow\">Programaci\u00f3n Semanal<\/p>\n        \n        <h1 id=\"hero-title\" class=\"tfs-prog-hero__title\">\n          Artistas Esta Semana\n        <\/h1>\n        \n        <p class=\"tfs-prog-hero__subtitle\">\n          Descubre qu\u00e9 <strong>bailaores, cantaores y guitarristas<\/strong> act\u00faan cada d\u00eda en nuestro tablao flamenco\n        <\/p>\n        \n        <div class=\"tfs-prog-hero__info\" role=\"list\" aria-label=\"Informaci\u00f3n del espect\u00e1culo\">\n          <div class=\"tfs-prog-hero__badge\" role=\"listitem\">\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm0 18c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8zm.5-13H11v6l5.2 3.2.8-1.3-4.5-2.7V7z\"\/><\/svg>\n            <span>1 hora sin descanso<\/span>\n          <\/div>\n          <div class=\"tfs-prog-hero__badge\" role=\"listitem\">\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"\/><\/svg>\n            <span>8 artistas en escena<\/span>\n          <\/div>\n          <div class=\"tfs-prog-hero__badge\" role=\"listitem\">\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\"\/><\/svg>\n            <span>Bajo el Metropol Parasol<\/span>\n          <\/div>\n        <\/div>\n        \n        <div class=\"tfs-prog-hero__scroll\">\n          <a href=\"#hoy-actuan\" class=\"tfs-prog-hero__scroll-link\" aria-label=\"Ver artistas que act\u00faan hoy\">\n            <span class=\"tfs-prog-hero__scroll-text\">Ver Artistas de Hoy<\/span>\n            <span class=\"tfs-prog-hero__scroll-icon\" aria-hidden=\"true\">\n              <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\n            <\/span>\n          <\/a>\n        <\/div>\n        \n      <\/div>\n    <\/section>\n    \n    <!-- SEPARADOR -->\n    <div class=\"tfs-separador\" aria-hidden=\"true\">\n      <div class=\"tfs-separador__linea\"><\/div>\n    <\/div>\n\n    <!-- ============================================\n         HOY EN ESCENA\n         ============================================ -->\n    <section class=\"tfs-hoy\" id=\"hoy-actuan\" aria-labelledby=\"tfs-hoy-title\">\n      <div class=\"tfs-hoy__card\">\n        \n        <header class=\"tfs-hoy__header\">\n          <span class=\"tfs-hoy__badge\">\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"\/><\/svg>\n            Hoy en Escena\n          <\/span>\n          <h2 id=\"tfs-hoy-title\" class=\"tfs-hoy__fecha\">Cargando...<\/h2>\n          <p class=\"tfs-hoy__total\">Consultando programaci\u00f3n...<\/p>\n        <\/header>\n        \n        <!-- Loading state -->\n        <div class=\"tfs-hoy__loading\" id=\"tfs-hoy-loading\" role=\"status\" aria-live=\"polite\">\n          <div class=\"tfs-hoy__spinner\" aria-hidden=\"true\"><\/div>\n          <span class=\"tfs-hoy__loading-text\">Cargando artistas del d\u00eda...<\/span>\n        <\/div>\n        \n        <!-- Grid de artistas -->\n        <div class=\"tfs-hoy__content\" style=\"display:none;\" id=\"tfs-hoy-content\">\n          <div class=\"tfs-hoy__grid\" id=\"tfs-hoy-grid\" role=\"list\" aria-live=\"polite\" aria-label=\"Artistas que act\u00faan hoy\">\n            <!-- Los artistas se insertan din\u00e1micamente -->\n          <\/div>\n        <\/div>\n        \n        <!-- Estado vac\u00edo -->\n        <div class=\"tfs-hoy__empty\" id=\"tfs-hoy-empty\" style=\"display:none;\" role=\"status\">\n          <span class=\"tfs-hoy__empty-icon\" aria-hidden=\"true\">\ud83d\udcc5<\/span>\n          <p class=\"tfs-hoy__empty-text\">Programaci\u00f3n pendiente de confirmar para hoy<\/p>\n        <\/div>\n        \n        <!-- Fallback para noscript -->\n        <noscript>\n          <div class=\"tfs-noscript\">\n            <h3 class=\"tfs-noscript__title\">JavaScript necesario<\/h3>\n            <p class=\"tfs-noscript__text\">\n              Para ver la programaci\u00f3n en tiempo real, activa JavaScript en tu navegador. \n              Tambi\u00e9n puedes contactarnos al <strong>+34 684 776 981<\/strong> para consultar los artistas del d\u00eda.\n            <\/p>\n          <\/div>\n        <\/noscript>\n        \n        <footer class=\"tfs-hoy__footer\">\n          <a href=\"#calendario\" class=\"tfs-hoy__link\">\n            Ver programaci\u00f3n completa\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><polyline points=\"9 18 15 12 9 6\"><\/polyline><\/svg>\n          <\/a>\n        <\/footer>\n        \n      <\/div>\n    <\/section>\n    \n    <!-- SEPARADOR -->\n    <div class=\"tfs-separador\" aria-hidden=\"true\">\n      <div class=\"tfs-separador__linea\"><\/div>\n    <\/div>\n\n    <!-- ============================================\n         CALENDARIO EN FORMATO FILAS\n         ============================================ -->\n    <section class=\"tfs-calendario\" id=\"calendario\" aria-labelledby=\"tfs-calendario-title\">\n      <div class=\"tfs-calendario__container\">\n      \n        <header class=\"tfs-calendario__header\">\n          <div class=\"tfs-calendario__title-wrap\">\n            <p class=\"tfs-calendario__eyebrow\">Pr\u00f3ximas 4 semanas<\/p>\n            <h2 id=\"tfs-calendario-title\" class=\"tfs-calendario__title\">Calendario de Artistas<\/h2>\n          <\/div>\n          \n          <nav class=\"tfs-calendario__nav\" aria-label=\"Navegaci\u00f3n de semanas\">\n            <button type=\"button\" class=\"tfs-calendario__nav-btn\" id=\"tfs-nav-prev\" aria-label=\"Ver semanas anteriores\" disabled>\n              <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><polyline points=\"15 18 9 12 15 6\"><\/polyline><\/svg>\n            <\/button>\n            <button type=\"button\" class=\"tfs-calendario__nav-btn\" id=\"tfs-nav-next\" aria-label=\"Ver semanas siguientes\">\n              <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><polyline points=\"9 18 15 12 9 6\"><\/polyline><\/svg>\n            <\/button>\n          <\/nav>\n        <\/header>\n        \n        <!-- Container de semanas -->\n        <div class=\"tfs-calendario__semanas\" id=\"tfs-semanas\" role=\"region\" aria-live=\"polite\" aria-label=\"Programaci\u00f3n semanal\">\n          <!-- Loading inicial -->\n          <div class=\"tfs-hoy__loading\" role=\"status\">\n            <div class=\"tfs-hoy__spinner\" aria-hidden=\"true\"><\/div>\n            <span class=\"tfs-hoy__loading-text\">Cargando calendario...<\/span>\n          <\/div>\n        <\/div>\n        \n        <!-- Leyenda de categor\u00edas -->\n        <div class=\"tfs-leyenda\" role=\"list\" aria-label=\"Leyenda de categor\u00edas art\u00edsticas\">\n          <span class=\"tfs-leyenda__item\" role=\"listitem\"><span class=\"tfs-leyenda__icon\" aria-hidden=\"true\">\ud83d\udc83<\/span> Baile<\/span>\n          <span class=\"tfs-leyenda__item\" role=\"listitem\"><span class=\"tfs-leyenda__icon\" aria-hidden=\"true\">\ud83c\udfa4<\/span> Cante<\/span>\n          <span class=\"tfs-leyenda__item\" role=\"listitem\"><span class=\"tfs-leyenda__icon\" aria-hidden=\"true\">\ud83c\udfb8<\/span> Guitarra<\/span>\n          <span class=\"tfs-leyenda__item\" role=\"listitem\"><span class=\"tfs-leyenda__icon\" aria-hidden=\"true\">\ud83e\udd41<\/span> Percusi\u00f3n<\/span>\n        <\/div>\n        \n        <!-- Nota informativa - HORARIOS ACTUALIZADOS 1\/2\/2026 -->\n        <aside class=\"tfs-calendario__nota\" role=\"note\" aria-label=\"Informaci\u00f3n importante sobre los horarios\">\n          <svg class=\"tfs-calendario__nota-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n            <circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle>\n            <line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"><\/line>\n            <line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"><\/line>\n          <\/svg>\n          <p class=\"tfs-calendario__nota-text\">\n            <strong>El mismo cuadro art\u00edstico act\u00faa en todos los pases del d\u00eda.<\/strong><br>\n            4 pases diarios: 18:00h, 19:30h, 21:00h y 22:30h. La programaci\u00f3n puede variar seg\u00fan disponibilidad.\n          <\/p>\n        <\/aside>\n      \n      <\/div>\n    <\/section>\n    \n    <!-- SEPARADOR -->\n    <div class=\"tfs-separador\" aria-hidden=\"true\">\n      <div class=\"tfs-separador__linea\"><\/div>\n    <\/div>\n\n    <!-- ============================================\n         INFO CARDS - HORARIOS 1\/2\/2026\n         ============================================ -->\n    <section class=\"tfs-prog-info\" aria-labelledby=\"info-title\">\n      <div class=\"tfs-prog-info__container\">\n        \n        <header class=\"tfs-prog-info__header\">\n          <p class=\"tfs-prog-info__eyebrow\">Informaci\u00f3n pr\u00e1ctica<\/p>\n          <h2 id=\"info-title\" class=\"tfs-prog-info__title\">Antes de Venir<\/h2>\n        <\/header>\n        \n        <div class=\"tfs-prog-info__grid\">\n          \n          <article class=\"tfs-prog-info__card tfs-prog-info__card--highlight\">\n            <svg class=\"tfs-prog-info__card-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z\"\/><\/svg>\n            <h3 class=\"tfs-prog-info__card-title\">Horarios de Shows<\/h3>\n            <p class=\"tfs-prog-info__card-text\">\n              4 pases diarios: <strong>18:00h<\/strong>, <strong>19:30h<\/strong>, <strong>21:00h<\/strong> y <strong>22:30h<\/strong>. \n              En alta demanda a\u00f1adimos pase extra a las 16:30h.\n            <\/p>\n          <\/article>\n          \n          <article class=\"tfs-prog-info__card\">\n            <svg class=\"tfs-prog-info__card-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\"\/><\/svg>\n            <h3 class=\"tfs-prog-info__card-title\">C\u00f3mo Llegar<\/h3>\n            <p class=\"tfs-prog-info__card-text\">\n              Planta baja del Metropol Parasol. <strong>Plaza de la Encarnaci\u00f3n 38<\/strong>, Sevilla. \n              Acceso a nivel de calle, no subas las escaleras.\n            <\/p>\n          <\/article>\n          \n          <article class=\"tfs-prog-info__card\">\n            <svg class=\"tfs-prog-info__card-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z\"\/><\/svg>\n            <h3 class=\"tfs-prog-info__card-title\">Llegada y Entrada<\/h3>\n            <p class=\"tfs-prog-info__card-text\">\n              Puertas abren <strong>15 minutos antes<\/strong>. Duraci\u00f3n: <strong>1 hora sin descanso<\/strong>.\n              No se permite entrada una vez iniciado el show.\n            <\/p>\n          <\/article>\n          \n        <\/div>\n        \n        <div class=\"tfs-prog-info__more\">\n          <a href=\"\/como-llegar\/\" class=\"tfs-prog-info__more-link\">\n            <span>Ver indicaciones completas<\/span>\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><polyline points=\"9 18 15 12 9 6\"><\/polyline><\/svg>\n          <\/a>\n        <\/div>\n        \n      <\/div>\n    <\/section>\n    \n    <!-- SEPARADOR -->\n    <div class=\"tfs-separador\" aria-hidden=\"true\">\n      <div class=\"tfs-separador__linea\"><\/div>\n    <\/div>\n\n    <!-- ============================================\n         CTA FINAL\n         ============================================ -->\n    <section class=\"tfs-prog-cta\" aria-labelledby=\"cta-title\">\n      <div class=\"tfs-prog-cta__container\">\n        \n        <h2 id=\"cta-title\" class=\"tfs-prog-cta__title\">El Tablao de los Artistas<\/h2>\n        <p class=\"tfs-prog-cta__subtitle\">\n          Donde act\u00faan los mejores profesionales del flamenco de Sevilla. \n          Reserva tu entrada y vive una noche inolvidable bajo Las Setas.\n        <\/p>\n        \n        <div class=\"tfs-prog-cta__buttons\">\n          <button type=\"button\" \n                  class=\"tfs-prog-cta__btn-primary\" \n                  id=\"tfs-btn-reservar\"\n                  data-tfs-booking-open\n                  data-tfs-modal=\"#tfs-modal-turitop\"\n                  aria-haspopup=\"dialog\"\n                  aria-controls=\"tfs-modal-turitop\">\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V8l8 5 8-5v10zm-8-7L4 6h16l-8 5z\"\/><\/svg>\n            <span>Reservar Entradas<\/span>\n          <\/button>\n          \n          <a href=\"https:\/\/wa.me\/34684776981?text=Hola,%20me%20gustar\u00eda%20informaci\u00f3n%20sobre%20el%20espect\u00e1culo%20de%20flamenco\" class=\"tfs-prog-cta__btn-whatsapp\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Contactar por WhatsApp para reservas (abre en nueva ventana)\">\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z\"\/><\/svg>\n            <span>WhatsApp<\/span>\n          <\/a>\n        <\/div>\n        \n        <div class=\"tfs-prog-cta__trust\" role=\"list\" aria-label=\"Garant\u00edas de compra\">\n          <div class=\"tfs-prog-cta__trust-item\" role=\"listitem\">\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm-2 16l-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9l-8 8z\"\/><\/svg>\n            <span>Cancelaci\u00f3n gratuita 24h<\/span>\n          <\/div>\n          <div class=\"tfs-prog-cta__trust-item\" role=\"listitem\">\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z\"\/><\/svg>\n            <span>Pago 100% seguro<\/span>\n          <\/div>\n          <div class=\"tfs-prog-cta__trust-item\" role=\"listitem\">\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V8l8 5 8-5v10zm-8-7L4 6h16l-8 5z\"\/><\/svg>\n            <span>Confirmaci\u00f3n inmediata<\/span>\n          <\/div>\n        <\/div>\n        \n      <\/div>\n    <\/section>\n    \n  <\/main>\n  \n<\/div>\n\n<!-- ============================================\n     MODAL TURITOP\n     ============================================ -->\n<div id=\"tfs-modal-turitop\" \n     class=\"tfs-modal\" \n     role=\"dialog\" \n     aria-labelledby=\"modal-title\" \n     aria-modal=\"true\" \n     aria-hidden=\"true\">\n  <div class=\"tfs-modal__box\">\n    <header class=\"tfs-modal__head\">\n      <h3 id=\"modal-title\" class=\"tfs-modal__title\">Reservar Entradas<\/h3>\n      <button type=\"button\" \n              class=\"tfs-modal__close\" \n              id=\"tfs-modal-close\"\n              aria-label=\"Cerrar ventana de reservas\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" aria-hidden=\"true\">\n          <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"><\/line>\n          <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"><\/line>\n        <\/svg>\n      <\/button>\n    <\/header>\n    <div class=\"tfs-modal__body\" id=\"tfs-modal-body\">\n      <div class=\"tfs-modal__loading\" role=\"status\">\n        <div class=\"tfs-modal__spinner\" aria-hidden=\"true\"><\/div>\n        <p>Cargando calendario de reservas...<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- TuriTop Script -->\n<script src=\"https:\/\/cdn.turitop.com\/loader\/loader.min.js\" defer><\/script>\n\n<!-- =====================================================\n     JAVASCRIPT v13 - TIPOGRAF\u00cdA v3\n     ===================================================== -->\n<script>\n(function() {\n  'use strict';\n  \n  \/\/ Evitar doble ejecuci\u00f3n\n  if (window.__TFS_PROG_V13__) return;\n  window.__TFS_PROG_V13__ = true;\n  \n  \/\/ =====================================================\n  \/\/ CONFIGURACI\u00d3N\n  \/\/ =====================================================\n  var CONFIG = {\n    API_BASE: '\/wp-content\/themes\/astra-child\/api\/api-programacion.php',\n    CACHE_TTL: 5 * 60 * 1000,\n    SEMANAS_VISTA: 4,\n    \/\/ Emojis UTF-8 correctos\n    ICONOS_CATEGORIA: {\n      'Baile': '\\u{1F483}',      \/\/ \ud83d\udc83\n      'Cante': '\\u{1F3A4}',      \/\/ \ud83c\udfa4\n      'Guitarra': '\\u{1F3B8}',   \/\/ \ud83c\udfb8\n      'Percusi\u00f3n': '\\u{1F941}'   \/\/ \ud83e\udd41\n    }\n  };\n  \n  \/\/ Cache local\n  var cache = {\n    data: {},\n    timestamps: {}\n  };\n  \n  \/\/ =====================================================\n  \/\/ UTILIDADES DE FECHA\n  \/\/ =====================================================\n  var DIAS_SEMANA = ['Domingo', 'Lunes', 'Martes', 'Mi\u00e9rcoles', 'Jueves', 'Viernes', 'S\u00e1bado'];\n  var DIAS_SEMANA_CORTO = ['Dom', 'Lun', 'Mar', 'Mi\u00e9', 'Jue', 'Vie', 'S\u00e1b'];\n  var MESES = ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'];\n  var MESES_CORTO = ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'];\n  \n  function getHoy() {\n    var d = new Date();\n    return new Date(d.getFullYear(), d.getMonth(), d.getDate());\n  }\n  \n  function formatDate(date, format) {\n    var d = date.getDate();\n    var m = date.getMonth() + 1;\n    var y = date.getFullYear();\n    \n    switch(format) {\n      case 'dd-mm-yyyy':\n        return String(d).padStart(2,'0') + '-' + String(m).padStart(2,'0') + '-' + y;\n      case 'yyyy-mm-dd':\n        return y + '-' + String(m).padStart(2,'0') + '-' + String(d).padStart(2,'0');\n      case 'display':\n        return DIAS_SEMANA[date.getDay()] + ' ' + d + ' de ' + MESES[date.getMonth()];\n      case 'display-upper':\n        return DIAS_SEMANA[date.getDay()].toUpperCase() + ' ' + d + ' DE ' + MESES[date.getMonth()].toUpperCase();\n      case 'short':\n        return d + ' ' + MESES_CORTO[date.getMonth()];\n      default:\n        return d + '\/' + m + '\/' + y;\n    }\n  }\n  \n  function esHoy(date) {\n    var hoy = getHoy();\n    return date.getTime() === hoy.getTime();\n  }\n  \n  function esFechaPasada(date) {\n    var hoy = getHoy();\n    return date.getTime() < hoy.getTime();\n  }\n  \n  function calcularSemanasNaturales(numSemanas, offset) {\n    numSemanas = numSemanas || 4;\n    offset = offset || 0;\n    \n    var hoy = getHoy();\n    var semanas = [];\n    \n    var diaSemana = hoy.getDay();\n    var diasHastaLunes = diaSemana === 0 ? 6 : diaSemana - 1;\n    \n    var lunesActual = new Date(hoy);\n    lunesActual.setDate(hoy.getDate() - diasHastaLunes);\n    lunesActual.setDate(lunesActual.getDate() + (offset * 7));\n    \n    for (var i = 0; i < numSemanas; i++) {\n      var fechaInicio = new Date(lunesActual);\n      fechaInicio.setDate(lunesActual.getDate() + (i * 7));\n      \n      var fechaFin = new Date(fechaInicio);\n      fechaFin.setDate(fechaInicio.getDate() + 6);\n      \n      var esActual = hoy >= fechaInicio && hoy <= fechaFin;\n      \n      semanas.push({\n        numero: i + 1 + Math.floor(offset \/ CONFIG.SEMANAS_VISTA),\n        fechaInicio: new Date(fechaInicio),\n        fechaFin: new Date(fechaFin),\n        esActual: esActual,\n        rangoTexto: fechaInicio.getDate() + ' - ' + fechaFin.getDate() + ' ' + MESES[fechaFin.getMonth()] + ' ' + fechaFin.getFullYear()\n      });\n    }\n    \n    return semanas;\n  }\n  \n  \/\/ =====================================================\n  \/\/ API CALLS\n  \/\/ =====================================================\n  function fetchAPI(action, params) {\n    params = params || {};\n    var cacheKey = action + '_' + JSON.stringify(params);\n    var now = Date.now();\n    \n    if (cache.data[cacheKey] && (now - cache.timestamps[cacheKey]) < CONFIG.CACHE_TTL) {\n      return Promise.resolve(cache.data[cacheKey]);\n    }\n    \n    var url = CONFIG.API_BASE + '?action=' + action;\n    Object.keys(params).forEach(function(k) {\n      url += '&' + k + '=' + encodeURIComponent(params[k]);\n    });\n    \n    return fetch(url)\n      .then(function(response) { \n        if (!response.ok) {\n          throw new Error('Error de red: ' + response.status);\n        }\n        return response.json(); \n      })\n      .then(function(data) {\n        if (data.success) {\n          cache.data[cacheKey] = data;\n          cache.timestamps[cacheKey] = now;\n        }\n        return data;\n      })\n      .catch(function(error) {\n        console.error('[TFS Prog] Error API:', error);\n        return { success: false, error: error.message };\n      });\n  }\n  \n  function fetchProgramacionDia(fecha) {\n    return fetchAPI('dia', { fecha: formatDate(fecha, 'dd-mm-yyyy') });\n  }\n  \n  function fetchProgramacionSemana(desde, dias) {\n    return fetchAPI('semana', { \n      desde: formatDate(desde, 'dd-mm-yyyy'),\n      dias: dias.toString()\n    });\n  }\n  \n  \/\/ =====================================================\n  \/\/ UTILIDAD: Escapar HTML para prevenir XSS\n  \/\/ =====================================================\n  function escapeHtml(text) {\n    var div = document.createElement('div');\n    div.textContent = text;\n    return div.innerHTML;\n  }\n  \n  \/\/ =====================================================\n  \/\/ RENDER: HOY EN ESCENA\n  \/\/ =====================================================\n  function renderHoyActuan() {\n    var loadingEl = document.getElementById('tfs-hoy-loading');\n    var contentEl = document.getElementById('tfs-hoy-content');\n    var gridEl = document.getElementById('tfs-hoy-grid');\n    var emptyEl = document.getElementById('tfs-hoy-empty');\n    var fechaEl = document.getElementById('tfs-hoy-title');\n    var totalEl = document.querySelector('.tfs-hoy__total');\n    \n    var hoy = getHoy();\n    \n    if (fechaEl) fechaEl.textContent = formatDate(hoy, 'display-upper');\n    \n    fetchProgramacionDia(hoy).then(function(data) {\n      if (loadingEl) loadingEl.style.display = 'none';\n      \n      if (data.success && data.publicado && data.artistas && data.artistas.length > 0) {\n        if (gridEl && contentEl) {\n          gridEl.innerHTML = data.artistas.map(function(artista) {\n            var nombreEscapado = escapeHtml(artista.nombre);\n            var categoriaEscapada = escapeHtml(artista.categoria || 'Artista');\n            \n            var imgHtml = artista.foto \n              ? '<img decoding=\"async\" src=\"' + escapeHtml(artista.foto) + '\" alt=\"' + nombreEscapado + ', ' + categoriaEscapada + ' de flamenco en Tablao Las Setas Sevilla\" class=\"tfs-hoy__artista-img\" loading=\"lazy\">'\n              : '<span class=\"tfs-hoy__artista-inicial\" aria-hidden=\"true\">' + nombreEscapado.charAt(0).toUpperCase() + '<\/span>';\n            \n            return '<article class=\"tfs-hoy__artista\" role=\"listitem\">' +\n              imgHtml +\n              '<h3 class=\"tfs-hoy__artista-nombre\">' + nombreEscapado + '<\/h3>' +\n              '<span class=\"tfs-hoy__artista-categoria\">' + categoriaEscapada + '<\/span>' +\n            '<\/article>';\n          }).join('');\n          contentEl.style.display = 'block';\n        }\n        \n        if (totalEl) {\n          var total = data.total_artistas || data.artistas.length;\n          totalEl.innerHTML = '<strong>' + total + '<\/strong> artistas en escena';\n        }\n        \n        if (emptyEl) emptyEl.style.display = 'none';\n        \n      } else {\n        if (contentEl) contentEl.style.display = 'none';\n        if (emptyEl) emptyEl.style.display = 'block';\n        if (totalEl) totalEl.textContent = 'Programaci\u00f3n pendiente de confirmar';\n      }\n    }).catch(function(error) {\n      console.error('[TFS Hoy] Error:', error);\n      if (loadingEl) loadingEl.style.display = 'none';\n      if (emptyEl) {\n        var emptyText = emptyEl.querySelector('.tfs-hoy__empty-text');\n        if (emptyText) emptyText.textContent = 'No se pudo cargar la programaci\u00f3n. Int\u00e9ntalo de nuevo.';\n        emptyEl.style.display = 'block';\n      }\n    });\n  }\n  \n  \/\/ =====================================================\n  \/\/ RENDER: CALENDARIO\n  \/\/ =====================================================\n  var currentOffset = 0;\n  \n  function renderCalendario(offset) {\n    offset = offset || 0;\n    var container = document.getElementById('tfs-semanas');\n    if (!container) return;\n    \n    currentOffset = offset;\n    \n    container.innerHTML = '<div class=\"tfs-hoy__loading\" role=\"status\">' +\n      '<div class=\"tfs-hoy__spinner\" aria-hidden=\"true\"><\/div>' +\n      '<span class=\"tfs-hoy__loading-text\">Cargando calendario...<\/span>' +\n    '<\/div>';\n    \n    var semanas = calcularSemanasNaturales(CONFIG.SEMANAS_VISTA, offset);\n    var fechaInicio = semanas[0].fechaInicio;\n    var fechaFin = semanas[semanas.length - 1].fechaFin;\n    var diasTotal = Math.ceil((fechaFin - fechaInicio) \/ (1000 * 60 * 60 * 24)) + 1;\n    \n    fetchProgramacionSemana(fechaInicio, diasTotal).then(function(data) {\n      var programacionPorFecha = {};\n      if (data.success && data.programacion) {\n        data.programacion.forEach(function(dia) {\n          programacionPorFecha[dia.fecha] = dia;\n        });\n      }\n      \n      container.innerHTML = semanas.map(function(semana, idx) {\n        var diasHTML = renderDiasSemanaFilas(semana, programacionPorFecha);\n        var badgeText = semana.esActual ? 'Esta semana' : 'Semana ' + (idx + 1);\n        var badgeClass = semana.esActual ? '' : 'tfs-semana__badge--default';\n        var openAttr = semana.esActual ? ' open' : '';\n        var actualClass = semana.esActual ? ' tfs-semana--actual' : '';\n        \n        return '<details class=\"tfs-semana' + actualClass + '\"' + openAttr + '>' +\n          '<summary class=\"tfs-semana__header\">' +\n            '<span class=\"tfs-semana__badge ' + badgeClass + '\">' + escapeHtml(badgeText) + '<\/span>' +\n            '<span class=\"tfs-semana__rango\">' + escapeHtml(semana.rangoTexto) + '<\/span>' +\n            '<span class=\"tfs-semana__dias-count\">7 d\u00edas<\/span>' +\n            '<svg class=\"tfs-semana__chevron\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>' +\n          '<\/summary>' +\n          '<div class=\"tfs-semana__content\">' +\n            '<div class=\"tfs-semana__dias\">' + diasHTML + '<\/div>' +\n          '<\/div>' +\n        '<\/details>';\n      }).join('');\n      \n      updateNavButtons();\n      \n    }).catch(function(error) {\n      console.error('[TFS Calendario] Error:', error);\n      container.innerHTML = '<div class=\"tfs-hoy__empty\" role=\"alert\">' +\n        '<span class=\"tfs-hoy__empty-icon\" aria-hidden=\"true\">\\u{1F4C5}<\/span>' +\n        '<p class=\"tfs-hoy__empty-text\">Error al cargar el calendario. Por favor, recarga la p\u00e1gina.<\/p>' +\n      '<\/div>';\n    });\n  }\n  \n  function renderDiasSemanaFilas(semana, programacionPorFecha) {\n    var dias = [];\n    var current = new Date(semana.fechaInicio);\n    \n    for (var i = 0; i < 7; i++) {\n      var fecha = new Date(current);\n      var fechaStr = formatDate(fecha, 'yyyy-mm-dd');\n      var prog = programacionPorFecha[fechaStr];\n      var esHoyFlag = esHoy(fecha);\n      var esPasadoFlag = esFechaPasada(fecha);\n      \n      dias.push(renderDiaFila(fecha, prog, esHoyFlag, esPasadoFlag));\n      current.setDate(current.getDate() + 1);\n    }\n    \n    return dias.join('');\n  }\n  \n  function renderDiaFila(fecha, programacion, esHoyFlag, esPasadoFlag) {\n    var diaNombre = DIAS_SEMANA_CORTO[fecha.getDay()];\n    var diaNumero = fecha.getDate();\n    var mes = MESES_CORTO[fecha.getMonth()];\n    var tieneProgram = programacion && programacion.publicado && programacion.artistas && programacion.artistas.length > 0;\n    \n    var clases = 'tfs-dia-row';\n    if (esHoyFlag) clases += ' tfs-dia-row--hoy';\n    if (esPasadoFlag && !tieneProgram) clases += ' tfs-dia-row--pasado';\n    if (!tieneProgram) clases += ' tfs-dia-row--vacio';\n    if (!esPasadoFlag && !tieneProgram) clases += ' tfs-dia-row--futuro';\n    \n    var contenido = '';\n    \n    if (tieneProgram) {\n      \/\/ Agrupar por categor\u00eda\n      var porCategoria = {};\n      programacion.artistas.forEach(function(a) {\n        var cat = a.categoria || 'Artista';\n        if (!porCategoria[cat]) porCategoria[cat] = [];\n        porCategoria[cat].push(a);\n      });\n      \n      contenido = '<div class=\"tfs-dia-row__content\">' +\n        Object.keys(porCategoria).map(function(cat) {\n          var artistas = porCategoria[cat];\n          var catEscapada = escapeHtml(cat);\n          var icono = CONFIG.ICONOS_CATEGORIA[cat] || '\\u{1F3AD}'; \/\/ \ud83c\udfad\n          return '<div class=\"tfs-dia-row__categoria\">' +\n            '<span class=\"tfs-dia-row__categoria-label\">' +\n              '<span class=\"tfs-dia-row__categoria-icon\" aria-hidden=\"true\">' + icono + '<\/span>' +\n              catEscapada +\n            '<\/span>' +\n            '<div class=\"tfs-dia-row__artistas\">' +\n              artistas.map(function(a) {\n                var nombreEscapado = escapeHtml(a.nombre);\n                var imgHtml = a.foto \n                  ? '<img decoding=\"async\" src=\"' + escapeHtml(a.foto) + '\" alt=\"' + nombreEscapado + '\" class=\"tfs-dia-row__artista-img\" loading=\"lazy\">'\n                  : '<span class=\"tfs-dia-row__artista-inicial\" aria-hidden=\"true\">' + nombreEscapado.charAt(0).toUpperCase() + '<\/span>';\n                return '<span class=\"tfs-dia-row__artista\">' + imgHtml + nombreEscapado + '<\/span>';\n              }).join('') +\n            '<\/div>' +\n          '<\/div>';\n        }).join('') +\n      '<\/div>';\n    } else {\n      var estadoIcon, estadoTexto;\n      \n      if (esPasadoFlag) {\n        estadoIcon = '\\u{1F4CB}'; \/\/ \ud83d\udccb\n        estadoTexto = 'Sin datos registrados';\n      } else {\n        estadoIcon = '\\u{1F4C5}'; \/\/ \ud83d\udcc5\n        estadoTexto = 'Pr\u00f3ximamente';\n      }\n      \n      contenido = '<div class=\"tfs-dia-row__estado\">' +\n        '<span class=\"tfs-dia-row__estado-icon\" aria-hidden=\"true\">' + estadoIcon + '<\/span>' +\n        '<span class=\"tfs-dia-row__estado-text\">' + estadoTexto + '<\/span>' +\n      '<\/div>';\n    }\n    \n    var badgeHtml = esHoyFlag ? '<span class=\"tfs-dia-row__badge\">HOY<\/span>' : '';\n    var ariaLabel = esHoyFlag ? 'Hoy, ' : '';\n    ariaLabel += diaNombre + ' ' + diaNumero + ' de ' + mes;\n    if (tieneProgram) {\n      ariaLabel += ', ' + programacion.artistas.length + ' artistas programados';\n    }\n    \n    return '<article class=\"' + clases + '\" aria-label=\"' + escapeHtml(ariaLabel) + '\">' +\n      '<div class=\"tfs-dia-row__fecha\">' +\n        badgeHtml +\n        '<span class=\"tfs-dia-row__nombre\">' + escapeHtml(diaNombre) + '<\/span>' +\n        '<span class=\"tfs-dia-row__numero\">' + diaNumero + '<\/span>' +\n        '<span class=\"tfs-dia-row__mes\">' + escapeHtml(mes) + '<\/span>' +\n      '<\/div>' +\n      contenido +\n    '<\/article>';\n  }\n  \n  function updateNavButtons() {\n    var prevBtn = document.getElementById('tfs-nav-prev');\n    var nextBtn = document.getElementById('tfs-nav-next');\n    \n    if (prevBtn) {\n      prevBtn.disabled = currentOffset <= 0;\n    }\n    if (nextBtn) {\n      nextBtn.disabled = currentOffset >= 8;\n    }\n  }\n  \n  \/\/ =====================================================\n  \/\/ MODAL TURITOP\n  \/\/ =====================================================\n  var modal = document.getElementById('tfs-modal-turitop');\n  var modalBody = document.getElementById('tfs-modal-body');\n  var btnClose = document.getElementById('tfs-modal-close');\n  var turitopLoaded = false;\n  var lastFocusedElement = null;\n  \n  function openModal() {\n    if (!modal) return;\n    if (modal.classList.contains('open')) return;\n    \n    lastFocusedElement = document.activeElement;\n    modal.classList.add('open');\n    modal.setAttribute('aria-hidden', 'false');\n    document.body.style.overflow = 'hidden';\n    \n    if (!turitopLoaded && modalBody) {\n      setTimeout(function() {\n        modalBody.innerHTML = '<div class=\"load-turitop\" data-service=\"P1\" data-company=\"T1263\" data-lang=\"es\" data-embed=\"calendar\"><\/div>';\n        if (typeof turiTop !== 'undefined' && turiTop.load) {\n          turiTop.load();\n        }\n        turitopLoaded = true;\n      }, 150);\n    }\n    \n    setTimeout(function() {\n      if (btnClose) btnClose.focus();\n    }, 150);\n  }\n  \n  function closeModal() {\n    if (!modal) return;\n    if (!modal.classList.contains('open')) return;\n    \n    modal.classList.remove('open');\n    modal.setAttribute('aria-hidden', 'true');\n    document.body.style.overflow = '';\n    \n    if (lastFocusedElement && typeof lastFocusedElement.focus === 'function') {\n      lastFocusedElement.focus();\n    }\n  }\n  \n  function trapFocus(e) {\n    if (!modal || !modal.classList.contains('open')) return;\n    \n    var focusableElements = modal.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])');\n    var firstEl = focusableElements[0];\n    var lastEl = focusableElements[focusableElements.length - 1];\n    \n    if (e.key === 'Tab') {\n      if (e.shiftKey && document.activeElement === firstEl) {\n        e.preventDefault();\n        lastEl.focus();\n      } else if (!e.shiftKey && document.activeElement === lastEl) {\n        e.preventDefault();\n        firstEl.focus();\n      }\n    }\n  }\n  \n  \/\/ =====================================================\n  \/\/ INICIALIZACI\u00d3N\n  \/\/ =====================================================\n  function init() {\n    renderHoyActuan();\n    renderCalendario(0);\n    \n    var prevBtn = document.getElementById('tfs-nav-prev');\n    var nextBtn = document.getElementById('tfs-nav-next');\n    \n    if (prevBtn) {\n      prevBtn.addEventListener('click', function() {\n        if (currentOffset > 0) {\n          renderCalendario(currentOffset - CONFIG.SEMANAS_VISTA);\n        }\n      });\n    }\n    \n    if (nextBtn) {\n      nextBtn.addEventListener('click', function() {\n        if (currentOffset < 8) {\n          renderCalendario(currentOffset + CONFIG.SEMANAS_VISTA);\n        }\n      });\n    }\n    \n    document.addEventListener('click', function(e) {\n      var trigger = e.target.closest('[data-tfs-booking-open]');\n      if (trigger) {\n        e.preventDefault();\n        e.stopPropagation();\n        openModal();\n      }\n    });\n    \n    if (btnClose) {\n      btnClose.addEventListener('click', closeModal);\n    }\n    \n    if (modal) {\n      modal.addEventListener('click', function(e) {\n        if (e.target === modal) {\n          closeModal();\n        }\n      });\n    }\n    \n    document.addEventListener('keydown', function(e) {\n      if (e.key === 'Escape' && modal && modal.classList.contains('open')) {\n        closeModal();\n      }\n      trapFocus(e);\n    });\n    \n    \/\/ Smooth scroll\n    document.querySelectorAll('a[href^=\"#\"]').forEach(function(anchor) {\n      anchor.addEventListener('click', function(e) {\n        var targetId = this.getAttribute('href');\n        if (targetId !== '#' && targetId.length > 1) {\n          var target = document.querySelector(targetId);\n          if (target) {\n            e.preventDefault();\n            target.scrollIntoView({ behavior: 'smooth', block: 'start' });\n            target.setAttribute('tabindex', '-1');\n            target.focus({ preventScroll: true });\n          }\n        }\n      });\n    });\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', init);\n  } else {\n    init();\n  }\n})();\n<\/script>\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>Saltar al contenido principal Programaci\u00f3n Semanal Artistas Esta Semana Descubre qu\u00e9 bailaores, cantaores y guitarristas act\u00faan cada d\u00eda en nuestro [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-3034","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/test.tablaoflamencolassetas.com\/it\/wp-json\/wp\/v2\/pages\/3034","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.tablaoflamencolassetas.com\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/test.tablaoflamencolassetas.com\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/test.tablaoflamencolassetas.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/test.tablaoflamencolassetas.com\/it\/wp-json\/wp\/v2\/comments?post=3034"}],"version-history":[{"count":163,"href":"https:\/\/test.tablaoflamencolassetas.com\/it\/wp-json\/wp\/v2\/pages\/3034\/revisions"}],"predecessor-version":[{"id":5526,"href":"https:\/\/test.tablaoflamencolassetas.com\/it\/wp-json\/wp\/v2\/pages\/3034\/revisions\/5526"}],"wp:attachment":[{"href":"https:\/\/test.tablaoflamencolassetas.com\/it\/wp-json\/wp\/v2\/media?parent=3034"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}