{"id":51379,"date":"2026-03-19T10:50:56","date_gmt":"2026-03-19T09:50:56","guid":{"rendered":"https:\/\/www.repscan.com\/?page_id=51379"},"modified":"2026-03-20T23:32:59","modified_gmt":"2026-03-20T22:32:59","slug":"fira-alimentaria","status":"publish","type":"page","link":"https:\/\/www.repscan.com\/es\/fira-alimentaria\/","title":{"rendered":"Fira Alimentaria"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"51379\" class=\"elementor elementor-51379\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-section elementor-top-section elementor-element elementor-element-219f92d elementor-section-full_width elementor-section-height-full elementor-section-stretched elementor-section-height-default elementor-section-items-middle\" data-id=\"219f92d\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ffadbcd\" data-id=\"ffadbcd\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-c5d75f8 elementor-widget elementor-widget-html\" data-id=\"c5d75f8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap\" rel=\"stylesheet\">\n\n<style>\n*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\nh1.entry-title { display: none; }\nheader.elementor.elementor-86.elementor-location-header { display: none; }\n.site-footer { display: none; }\n\n#rps-root {\n  position: relative; width: 100%; height: 100vh; min-height: 640px;\n  overflow: hidden;\n  background: #000000;\n  color: rgba(255,255,255,0.88);\n  font-family: 'Inter', -apple-system, 'SF Pro Display', sans-serif;\n  -webkit-font-smoothing: antialiased;\n}\n\n@media (max-width: 768px) {\n  #rps-root {\n    height: auto;\n    min-height: 100svh;\n    overflow-y: auto;\n    overflow-x: hidden;\n    padding-bottom: 40px;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n  }\n\n  \/* oculta logo Repscan en m\u00f3vil *\/\n  #rps-logo-top { display: none !important; }\n\n  \/* stage de tarjetas \u2014 m\u00e1s alto para que las tarjetas no queden tan arriba *\/\n  #rps-stage {\n    position: relative !important;\n    width: 100%;\n    height: 260px;\n    flex-shrink: 0;\n    overflow: hidden;\n    z-index: 10;\n  }\n\n  \/* headline con m\u00e1s espacio arriba para bajar los logos de plataformas *\/\n  #rps-root .rps-headline {\n    position: relative;\n    top: auto; left: auto;\n    transform: none;\n    padding: 40px 16px 20px;\n    width: 100%;\n    z-index: 5;\n  }\n\n  \/* heading m\u00e1s peque\u00f1o y con menos margen *\/\n  #rps-root .rps-headline h1 { margin: 12px 0 14px 0; }\n\n  \/* logos \u2014 todos visibles, m\u00e1s compactos *\/\n  #rps-logos-bar {\n    flex-wrap: wrap;\n    justify-content: center;\n    padding: 0 12px 12px;\n    gap: 5px;\n    position: relative;\n    z-index: 5;\n    margin-top: 130px;\n  }\n  #rps-logos-bar .rps-logo-pill { display: flex !important; padding: 5px 10px; gap: 5px; }\n  #rps-logos-bar .rps-logo-pill span { font-size: 10px; display: block; }\n  #rps-logos-bar .rps-logo-pill img { width: 16px; height: 16px; }\n\n  \/* tarjetas con z-index alto para que el bot\u00f3n sea visible *\/\n  #rps-root .rps-review-card { z-index: 50; }\n\n  \/* features 1 columna *\/\n  #rps-features { grid-template-columns: 1fr; max-width: 340px; gap: 7px; }\n  #rps-features .rps-feat { font-size: 13px; padding: 10px 16px; justify-content: flex-start; }\n\n  \/* stats *\/\n  #rps-stats-row { padding: 16px 16px 0; }\n  #rps-stat-score, #rps-stat-counter { padding: 12px 18px; }\n  .rps-stat-icon-wrap { width: 32px; height: 32px; }\n}\n\n#rps-root::after {\n  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;\n  opacity: 0.025;\n  background-image: url(\"data:image\/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'\/%3E%3C\/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'\/%3E%3C\/svg%3E\");\n  background-size: 128px 128px;\n}\n\n#rps-root .rps-bg {\n  position: absolute; inset: 0; z-index: 0; pointer-events: none;\n  background:\n    radial-gradient(ellipse 70% 35% at 50% 0%,   rgba(10,132,255,0.35) 0%, transparent 60%),\n    radial-gradient(ellipse 90% 55% at 50% -5%,  rgba(10,132,255,0.18) 0%, transparent 65%),\n    radial-gradient(ellipse 60% 40% at 10% 60%,  rgba(10,132,255,0.12) 0%, transparent 50%),\n    radial-gradient(ellipse 55% 40% at 90% 70%,  rgba(48,209,88,0.12)  0%, transparent 50%),\n    radial-gradient(ellipse 40% 30% at 50% 55%,  rgba(10,132,255,0.08) 0%, transparent 55%);\n}\n\n#rps-mobile-eliminated { display: none; }\n\n@media (max-width: 768px) {\n  #rps-mobile-eliminated {\n    display: flex !important;\n    flex-direction: column;\n    gap: 12px;\n    width: 100%;\n    padding: 16px;\n    background: #000;\n  }\n  #rps-mobile-eliminated .rps-review-card {\n    position: relative !important;\n    width: 100% !important;\n    left: auto !important;\n    top: auto !important;\n    transform: none !important;\n    opacity: 1 !important;\n    padding: 16px 18px !important;\n    border-radius: 18px !important;\n    background: rgba(20,50,30,0.95) !important;\n    border: 0.5px solid rgba(48,209,88,0.5) !important;\n    border-top: 2px solid #30D158 !important;\n    box-shadow: 0 8px 32px rgba(0,0,0,0.5) !important;\n    color: #D1FAE5 !important;\n  }\n}\n\n\/* \u2500\u2500 LOGO \u2500\u2500 *\/\n#rps-logo-top {\n  position: absolute; top: 24px; left: 50%;\n  transform: translateX(-50%); z-index: 200; pointer-events: none;\n  display: flex; flex-direction: column; align-items: center; gap: 0;\n  width: max-content;\n}\n#rps-logo-top img {\n  height: 28px; width: auto; opacity: 0.95;\n  transition: transform 0.35s cubic-bezier(0.34,1.56,0.64,1);\n  display: block;\n}\n\n\/* \u2500\u2500 HEADLINE \u2500\u2500 *\/\n#rps-root .rps-headline {\n  position: absolute; top: 57%; left: 50%;\n  transform: translate(-50%, -50%);\n  width: 100%; text-align: center;\n  z-index: 50; pointer-events: none;\n  padding: 0 0 24px;\n}\n\n#rps-root .rps-headline p.rps-eyebrow {\n  font-size: clamp(9px, 0.85vw, 11px); font-weight: 400;\n  color: rgba(255,255,255,0.35); letter-spacing: 0.3em;\n  text-transform: uppercase; margin: 20px 0 14px 0;\n  display: flex; align-items: center; justify-content: center; gap: 12px;\n}\n#rps-root .rps-headline p.rps-eyebrow::before,\n#rps-root .rps-headline p.rps-eyebrow::after {\n  content: ''; display: block; width: 32px; height: 1px;\n  background: rgba(255,255,255,0.15);\n}\n#rps-root .rps-headline p.rps-eyebrow::before,\n#rps-root .rps-headline p.rps-eyebrow::after {\n  content: ''; display: block; width: 32px; height: 1px;\n  background: rgba(255,255,255,0.15);\n}\n\n#rps-root .rps-headline h1 {\n  font-size: clamp(38px, 4.8vw, 72px);\n  font-weight: 700; letter-spacing: -0.04em;\n  line-height: 1.0; color: #FFFFFF;\n  margin: 28px 0 20px 0;\n  display: flex; align-items: center; justify-content: center;\n}\n#rps-root .rps-rotating-text {\n  display: inline-block; color: #FFFFFF;\n  opacity: 0; transform: translateY(10px) scale(0.98);\n  transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.34,1.2,0.64,1);\n}\n#rps-root .rps-rotating-text.visible { opacity: 1; transform: translateY(0) scale(1); }\n\n\/* \u2500\u2500 FEATURES LIST \u2500\u2500 *\/\n#rps-features {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 10px 12px;\n  padding: 20px 0 0;\n  margin: 0 auto;\n  width: fit-content;\n  max-width: 860px;\n}\n#rps-features .rps-feat {\n  display: flex; align-items: center; justify-content: center; gap: 9px;\n  font-size: clamp(12px, 1.1vw, 14px); font-weight: 500;\n  color: rgba(255,255,255,0.92);\n  background: rgba(255,255,255,0.10);\n  border: 0.5px solid rgba(255,255,255,0.22);\n  border-radius: 24px;\n  padding: 9px 18px 9px 11px;\n  letter-spacing: -0.01em;\n  text-align: center;\n}\n#rps-features .rps-feat-check {\n  width: 20px; height: 20px; border-radius: 50%; flex-shrink: 0;\n  background: rgba(48,209,88,0.30);\n  display: flex; align-items: center; justify-content: center;\n}\n#rps-features .rps-feat-check svg { display: block; }\n\n\/* \u2500\u2500 LOGOS BAR \u2500\u2500 *\/\n#rps-logos-bar {\n  display: flex; align-items: center; justify-content: center;\n  flex-wrap: wrap; gap: clamp(5px, 0.8vw, 12px);\n  padding: 0 16px 32px; pointer-events: none;\n}\n#rps-logos-bar .rps-logo-pill {\n  display: flex; align-items: center; gap: 9px;\n  padding: 10px 20px; border-radius: 28px;\n  background: rgba(255,255,255,0.10);\n  backdrop-filter: blur(20px) saturate(180%);\n  -webkit-backdrop-filter: blur(20px) saturate(180%);\n  border: 0.5px solid rgba(255,255,255,0.20);\n  flex-shrink: 0;\n}\n#rps-logos-bar .rps-logo-pill img { width: 26px; height: 26px; object-fit: contain; }\n#rps-logos-bar .rps-logo-pill span {\n  font-size: clamp(12px, 1.1vw, 15px); font-weight: 500;\n  color: rgba(255,255,255,0.7); white-space: nowrap;\n}\n\n\/* \u2500\u2500 STATS \u2500\u2500 *\/\n#rps-stats-row {\n  display: flex; align-items: stretch; justify-content: center;\n  gap: 0; padding: 28px 32px 0;\n}\n#rps-stat-score, #rps-stat-counter {\n  display: flex; align-items: center; gap: 16px;\n  background: rgba(28,28,30,0.72);\n  backdrop-filter: blur(40px) saturate(180%);\n  -webkit-backdrop-filter: blur(40px) saturate(180%);\n  border: 0.5px solid rgba(255,255,255,0.12);\n  padding: 18px 32px;\n}\n#rps-stat-score {\n  border-radius: 18px 0 0 18px;\n  border-right: 0.5px solid rgba(255,255,255,0.07);\n}\n#rps-stat-counter {\n  border-radius: 0 18px 18px 0;\n  border-left: none;\n}\n#rps-stat-sep { display: none; }\n\n.rps-stat-icon-wrap {\n  width: 40px; height: 40px; border-radius: 12px;\n  display: flex; align-items: center; justify-content: center; flex-shrink: 0;\n}\n.rps-stat-icon-wrap.green { background: rgba(48,209,88,0.14); }\n.rps-stat-icon-wrap.blue  { background: rgba(10,132,255,0.14); }\n\n.rps-stat-text { display: flex; flex-direction: column; gap: 3px; }\n\n#rps-star-dots { display: flex; gap: 4px; align-items: center; }\n.rps-star-dot {\n  width: 8px; height: 8px; border-radius: 50%;\n  background: rgba(255,255,255,0.18);\n  transition: background 0.4s ease, transform 0.3s ease; flex-shrink: 0;\n}\n.rps-star-dot.active { background: #FF9F0A; transform: scale(1.1); }\n.rps-star-dot.full   { background: #30D158; transform: scale(1.15); }\n\n#rps-score-num {\n  font-size: clamp(30px, 3.8vw, 56px); font-weight: 700;\n  color: #30D158; letter-spacing: -1.5px; line-height: 1;\n  font-variant-numeric: tabular-nums; transition: color 0.4s;\n}\n#rps-counter-num {\n  font-size: clamp(30px, 3.8vw, 56px); font-weight: 700;\n  color: #0A84FF; letter-spacing: -1.5px; line-height: 1;\n  font-variant-numeric: tabular-nums; transition: color 0.2s;\n}\n#rps-counter-num.bump { color: #30D158; }\n.rps-stat-label {\n  font-size: clamp(9px, 0.8vw, 11px); font-weight: 400;\n  color: rgba(255,255,255,0.3); text-transform: uppercase;\n  letter-spacing: 0.18em; white-space: nowrap;\n}\n\n\/* \u2500\u2500 CARDS \u2500\u2500 *\/\n#rps-root .rps-review-card {\n  position: absolute; width: 300px; padding: 16px 18px;\n  background: rgba(242,242,247,0.96);\n  backdrop-filter: blur(40px) saturate(200%);\n  -webkit-backdrop-filter: blur(40px) saturate(200%);\n  border: 0.5px solid rgba(255,255,255,0.7);\n  border-radius: 18px;\n  box-shadow:\n    0 32px 80px rgba(0,0,0,0.7),\n    0 8px 24px rgba(0,0,0,0.4),\n    0 1px 0 rgba(255,255,255,0.8) inset;\n  z-index: 10; pointer-events: none; opacity: 0; color: #1C1C1E;\n  transition: none;\n}\n#rps-root .rps-review-card.google      { border-top: 2px solid #EA4335; }\n#rps-root .rps-review-card.trustpilot  { border-top: 2px solid #00B67A; }\n#rps-root .rps-review-card.tripadvisor { border-top: 2px solid #34E0A1; }\n#rps-root .rps-review-card.thefork     { border-top: 2px solid #FF6243; }\n#rps-root .rps-review-card.booking     { border-top: 2px solid #003580; }\n#rps-root .rps-review-card.yelp        { border-top: 2px solid #D32323; }\n#rps-root .rps-review-card.facebook    { border-top: 2px solid #1877F2; }\n#rps-root .rps-review-card.glassdoor   { border-top: 2px solid #0CAA41; }\n#rps-root .rps-review-card.expedia     { border-top: 2px solid #FFC72C; }\n\n#rps-root .rps-review-card.eliminated {\n  background: rgba(20,50,30,0.95) !important;\n  backdrop-filter: blur(40px) saturate(180%) !important;\n  -webkit-backdrop-filter: blur(40px) saturate(180%) !important;\n  border: 0.5px solid rgba(48,209,88,0.4) !important;\n  border-top: 2px solid #30D158 !important;\n  box-shadow: 0 16px 48px rgba(0,0,0,0.7), 0 0 0 1px rgba(48,209,88,0.15) !important;\n  color: #D1FAE5 !important;\n}\n#rps-root .rps-review-card.eliminated-fade {\n  opacity: 0 !important; transform: scale(0.94) !important;\n  transition: opacity 0.7s ease 1.5s, transform 0.7s ease 1.5s !important;\n}\n\n\/* \u2500\u2500 BOT\u00d3 \u2500\u2500 *\/\n#rps-root .rps-delete-btn {\n  display: inline-flex; align-items: center; gap: 4px;\n  background: #FF3B30; color: white; border: none; border-radius: 8px;\n  padding: 5px 11px; font-size: 8px; font-weight: 600; letter-spacing: 0.04em;\n  text-transform: uppercase;\n  box-shadow: 0 2px 8px rgba(255,59,48,0.45), 0 1px 0 rgba(255,255,255,0.15) inset;\n  transition: transform 0.12s, opacity 0.12s; pointer-events: none;\n  font-family: 'Inter', sans-serif;\n}\n#rps-root .rps-delete-btn.clicking { transform: scale(0.88); opacity: 0.85; }\n\n\/* \u2500\u2500 DONE CHIP \u2500\u2500 *\/\n#rps-root .rps-done-card {\n  position: absolute; display: flex; align-items: center; gap: 8px;\n  padding: 9px 16px;\n  background: rgba(28,35,26,0.82);\n  backdrop-filter: blur(40px) saturate(180%);\n  -webkit-backdrop-filter: blur(40px) saturate(180%);\n  border: 0.5px solid rgba(48,209,88,0.2);\n  border-radius: 14px;\n  box-shadow: 0 8px 32px rgba(0,0,0,0.5), 0 1px 0 rgba(255,255,255,0.04) inset;\n  z-index: 20; opacity: 0; pointer-events: none;\n  transition: opacity 0.45s ease, transform 0.45s cubic-bezier(0.34,1.2,0.64,1);\n  transform: translateY(10px) scale(0.96); white-space: nowrap;\n}\n#rps-root .rps-done-card.visible { opacity: 1; transform: translateY(0) scale(1); }\n#rps-root .rps-done-card.fading {\n  opacity: 0 !important; transform: translateY(-6px) scale(0.96) !important;\n  transition: opacity 0.5s ease, transform 0.5s ease !important;\n}\n\n\/* \u2500\u2500 CURSOR \u2500\u2500 *\/\n#rps-root .rps-cursor {\n  position: absolute; width: 44px; height: 44px;\n  pointer-events: none; z-index: 200; opacity: 0; transition: opacity 0.3s ease;\n}\n#rps-root .rps-cursor.visible { opacity: 1; }\n@keyframes rps-cursor-click {\n  0%{transform:scale(1)} 35%{transform:scale(0.72)} 70%{transform:scale(1.04)} 100%{transform:scale(1)}\n}\n#rps-root .rps-cursor.clicking { animation: rps-cursor-click 0.5s ease; }\n@keyframes rps-ripple { 0%{transform:scale(0);opacity:0.8} 100%{transform:scale(10);opacity:0} }\n@keyframes rps-particle { 0%{transform:translate(0,0) scale(1);opacity:1} 100%{transform:translate(var(--px),var(--py)) scale(0);opacity:0} }\n\n\/* \u2500\u2500 ELIMINATED GLOW PULSE \u2500\u2500 *\/\n@keyframes rps-elim-glow {\n  0%   { box-shadow: 0 16px 48px rgba(0,0,0,0.7), 0 0 0px rgba(48,209,88,0); }\n  25%  { box-shadow: 0 16px 48px rgba(0,0,0,0.5), 0 0 40px rgba(48,209,88,0.7), 0 0 80px rgba(48,209,88,0.3); }\n  60%  { box-shadow: 0 16px 48px rgba(0,0,0,0.6), 0 0 24px rgba(48,209,88,0.45), 0 0 48px rgba(48,209,88,0.15); }\n  100% { box-shadow: 0 16px 48px rgba(0,0,0,0.7), 0 0 12px rgba(48,209,88,0.2); }\n}\n@keyframes rps-flash {\n  0%   { opacity: 0; }\n  15%  { opacity: 0.6; }\n  100% { opacity: 0; }\n}\n@keyframes rps-elim-row {\n  0%   { opacity: 0; transform: translateY(8px); }\n  100% { opacity: 1; transform: translateY(0); }\n}\n\n\/* \u2500\u2500 AI BADGE \u2014 solo icono \u2500\u2500 *\/\n.rps-ai-badge {\n  display: inline-flex; align-items: center; justify-content: center;\n  width: 18px; height: 18px;\n  background: rgba(10,132,255,0.18);\n  border: 0.5px solid rgba(10,132,255,0.35);\n  border-radius: 5px;\n  margin-left: 6px; vertical-align: middle; flex-shrink: 0;\n}\n\n\/* \u2500\u2500 SCAN LINE \u2014 lento y elegante \u2500\u2500 *\/\n@keyframes rps-scan {\n  0%   { top: -2px; opacity: 0; }\n  10%  { opacity: 1; }\n  90%  { opacity: 0.7; }\n  100% { top: 100%; opacity: 0; }\n}\n.rps-scan-line {\n  position: absolute; left: 0; right: 0; height: 1px; pointer-events: none;\n  background: linear-gradient(90deg, transparent 0%, rgba(10,132,255,0.6) 30%, rgba(48,209,88,0.5) 70%, transparent 100%);\n  box-shadow: 0 0 6px rgba(10,132,255,0.4), 0 0 12px rgba(10,132,255,0.2);\n  animation: rps-scan 2.2s ease-in-out forwards;\n  z-index: 20;\n}\n\n\/* \u2500\u2500 TYPING CURSOR \u2500\u2500 *\/\n@keyframes rps-blink { 0%,100%{opacity:1} 50%{opacity:0} }\n#rps-rotating-text.typing::after {\n  content: '|'; display: inline-block;\n  color: rgba(10,132,255,0.8);\n  animation: rps-blink 0.6s step-end infinite;\n  margin-left: 2px; font-weight: 300;\n}\n#rps-root .rps-pulse-ring {\n  position: absolute; top: 50%; left: 50%; width: 80px; height: 80px;\n  border: 1px solid rgba(10,132,255,0.4); border-radius: 50%;\n  transform: translate(-50%,-50%) scale(0); opacity: 0; pointer-events: none;\n}\n#rps-root .rps-pulse-ring.animate { animation: rps-pulse-expand 1s ease-out forwards; }\n\/* \u2500\u2500 Pantalla corta (altura \u2264 700px, TV resoluci\u00f3n baja) \u2500\u2500 *\/\n@media (max-height: 700px) {\n  #rps-root .rps-headline { top: 62%; }\n  #rps-root .rps-headline h1 {\n    font-size: clamp(28px, 4vw, 56px);\n    margin: 16px 0 14px 0;\n  }\n  #rps-logos-bar { padding: 0 8px 16px; flex-wrap: wrap; }\n  #rps-logos-bar .rps-logo-pill { padding: 6px 12px; }\n  #rps-logos-bar .rps-logo-pill img { width: 18px; height: 18px; }\n  #rps-logos-bar .rps-logo-pill span { font-size: 11px; }\n  #rps-features { gap: 7px 10px; padding: 14px 0 0; }\n  #rps-features .rps-feat { font-size: 11px; padding: 7px 14px 7px 9px; }\n  #rps-stats-row { padding: 16px 32px 0; }\n  #rps-stat-score, #rps-stat-counter { padding: 12px 22px; }\n}\n\n\/* \u2500\u2500 Pantalla muy corta (altura \u2264 580px) \u2014 TV baja resoluci\u00f3n \u2500\u2500 *\/\n@media (max-height: 580px) {\n  #rps-root .rps-headline { top: 65%; }\n  #rps-root .rps-headline h1 {\n    font-size: clamp(24px, 3.5vw, 44px);\n    margin: 10px 0 10px 0;\n  }\n  #rps-logos-bar .rps-logo-pill span { display: none; }\n  #rps-logos-bar .rps-logo-pill { padding: 6px 8px; }\n  #rps-logos-bar { padding: 0 8px 10px; gap: 4px; flex-wrap: wrap; }\n  #rps-features { gap: 6px 8px; padding: 10px 0 0; }\n  #rps-features .rps-feat { font-size: 10px; padding: 6px 12px 6px 8px; }\n  #rps-stats-row { padding: 10px 32px 0; }\n  #rps-stat-score, #rps-stat-counter { padding: 10px 18px; }\n  #rps-score-num, #rps-counter-num { font-size: clamp(22px, 3vw, 38px); }\n  .rps-stat-icon-wrap { width: 30px; height: 30px; }\n}\n\n\/* \u2500\u2500 Tablet landscape (\u22641024px) \u2500\u2500 *\/\n@media (max-width: 1024px) {\n  #rps-root .rps-headline { top: 60%; }\n\n  #rps-logo-top { z-index: 200 !important; }\n\n  #rps-logos-bar {\n    flex-wrap: wrap;\n    padding: 0 8px 20px;\n    gap: 5px;\n    margin-top: 80px;\n  }\n  #rps-logos-bar .rps-logo-pill { padding: 7px 11px; gap: 6px; }\n  #rps-logos-bar .rps-logo-pill img { width: 18px; height: 18px; }\n  #rps-logos-bar .rps-logo-pill span { font-size: 11px; }\n\n  #rps-features .rps-feat { font-size: 12px; padding: 8px 14px 8px 9px; }\n  #rps-features { gap: 8px 10px; max-width: 680px; }\n\n  #rps-stat-score, #rps-stat-counter { padding: 14px 22px; }\n  #rps-stats-row { padding: 22px 16px 0; }\n}\n\n\/* \u2500\u2500 TV \/ tablet horizontal baja resoluci\u00f3n \u2500\u2500 *\/\n@media (max-width: 1024px) and (max-height: 700px) {\n  #rps-logos-bar { margin-top: 150px; }\n  #rps-root .rps-headline { top: 64%; }\n  #rps-root .rps-headline h1 { font-size: clamp(28px, 4vw, 52px); margin: 12px 0 12px 0; }\n  #rps-features { gap: 6px 8px; padding: 10px 0 0; }\n  #rps-features .rps-feat { font-size: 11px; padding: 7px 12px 7px 8px; }\n  #rps-stats-row { padding: 14px 16px 0; }\n  #rps-stat-score, #rps-stat-counter { padding: 10px 18px; }\n}\n\n\/* \u2500\u2500 Tablet portrait (\u2264768px) \u2500\u2500 *\/\n@media (max-width: 768px) {\n  #rps-root .rps-headline h1 { margin: 20px 0 16px 0; }\n  #rps-features .rps-feat-check { width: 17px; height: 17px; }\n  #rps-stat-score, #rps-stat-counter { padding: 12px 18px; gap: 12px; }\n  .rps-stat-icon-wrap { width: 32px; height: 32px; border-radius: 10px; }\n  #rps-root .rps-review-card { width: 240px; padding: 12px 14px; }\n  #rps-logo-top img { height: 22px; }\n}\n\n\/* \u2500\u2500 M\u00f3vil (\u2264480px) \u2500\u2500 *\/\n@media (max-width: 480px) {\n  #rps-root .rps-headline { top: 62%; }\n  #rps-root .rps-headline h1 { margin: 14px 0 14px 0; }\n\n  \/* logos: solo iconos, m\u00e1x 5 *\/\n  #rps-logos-bar .rps-logo-pill:nth-child(n+6) { display: none; }\n  #rps-logos-bar { gap: 5px; padding: 0 8px 16px; }\n  #rps-logos-bar .rps-logo-pill { padding: 6px 10px; }\n  #rps-logos-bar .rps-logo-pill img { width: 20px; height: 20px; }\n\n  \/* features: 1 columna *\/\n  #rps-features { grid-template-columns: 1fr; max-width: 340px; gap: 6px; }\n  #rps-features .rps-feat { font-size: 11px; padding: 8px 14px; justify-content: flex-start; }\n\n  #rps-stat-score, #rps-stat-counter { padding: 10px 14px; gap: 10px; }\n  #rps-stats-row { padding: 14px 8px 0; gap: 0; }\n  .rps-stat-icon-wrap { display: none; }\n\n  #rps-root .rps-review-card { width: 200px; padding: 10px 12px; font-size: 9px; }\n\n  #rps-logo-top img { height: 20px; }\n  #rps-logo-top { top: 14px; }\n}\n\n<\/style>\n\n<div id=\"rps-root\">\n  <div class=\"rps-bg\"><\/div>\n\n  <!-- Logo + evento -->\n  <div id=\"rps-logo-top\">\n    <div id=\"rps-pulse-container\" style=\"position:relative;display:inline-block;\">\n      <img decoding=\"async\" src=\"https:\/\/www.repscan.com\/wp-content\/uploads\/2026\/03\/logo-repscan-white.png\" alt=\"Repscan\" id=\"rps-main-logo\">\n    <\/div>\n    <div style=\"font-size:9px;font-weight:400;color:rgba(255,255,255,0.30);letter-spacing:0.28em;text-transform:uppercase;text-align:center;margin-top:7px;margin-bottom:18px;\">Alimentaria Barcelona 2026<\/div>\n  <\/div>\n\n  <!-- Headline -->\n  <div class=\"rps-headline\" id=\"rps-headline\">\n    <!-- Logos \u2014 encima del heading -->\n    <div id=\"rps-logos-bar\">\n      <div class=\"rps-logo-pill\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=google.com&sz=64\" alt=\"Google\"><span>Google<\/span><\/div>\n      <div class=\"rps-logo-pill\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=trustpilot.com&sz=64\" alt=\"Trustpilot\"><span>Trustpilot<\/span><\/div>\n      <div class=\"rps-logo-pill\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=tripadvisor.com&sz=64\" alt=\"Tripadvisor\"><span>Tripadvisor<\/span><\/div>\n      <div class=\"rps-logo-pill\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=booking.com&sz=64\" alt=\"Booking\"><span>Booking<\/span><\/div>\n      <div class=\"rps-logo-pill\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=thefork.com&sz=64\" alt=\"TheFork\"><span>TheFork<\/span><\/div>\n      <div class=\"rps-logo-pill\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=yelp.com&sz=64\" alt=\"Yelp\"><span>Yelp<\/span><\/div>\n      <div class=\"rps-logo-pill\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=facebook.com&sz=64\" alt=\"Facebook\"><span>Facebook<\/span><\/div>\n      <div class=\"rps-logo-pill\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=glassdoor.com&sz=64\" alt=\"Glassdoor\"><span>Glassdoor<\/span><\/div>\n      <div class=\"rps-logo-pill\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=expedia.com&sz=64\" alt=\"Expedia\"><span>Expedia<\/span><\/div>\n    <\/div>\n\n    <p class=\"rps-eyebrow\" style=\"display:none;\">Alimentaria Barcelona 2026<\/p>\n    <h1><span id=\"rps-rotating-text\" class=\"rps-rotating-text\">Elimina Rese\u00f1as<\/span><\/h1>\n\n    <!-- Features \u2014 ordenadas de m\u00e1s larga a m\u00e1s corta -->\n    <div id=\"rps-features\">\n      <div class=\"rps-feat\">\n        <div class=\"rps-feat-check\"><svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\"><path d=\"M2 5l2.5 2.5 3.5-4\" stroke=\"#30D158\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/div>\n        <span>Panel unificado con Google, Trustpilot y m\u00e1s.<\/span>\n      <\/div>\n      <div class=\"rps-feat\">\n        <div class=\"rps-feat-check\"><svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\"><path d=\"M2 5l2.5 2.5 3.5-4\" stroke=\"#30D158\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/div>\n        <span>Agrupa opiniones por temas con etiquetas.<\/span>\n      <\/div>\n      <div class=\"rps-feat\">\n        <div class=\"rps-feat-check\"><svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\"><path d=\"M2 5l2.5 2.5 3.5-4\" stroke=\"#30D158\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/div>\n        <span>Elimina rese\u00f1as falsas con un clic.<\/span>\n      <\/div>\n      <div class=\"rps-feat\">\n        <div class=\"rps-feat-check\"><svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\"><path d=\"M2 5l2.5 2.5 3.5-4\" stroke=\"#30D158\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/div>\n        <span>NFC gratuita para subir tu puntuaci\u00f3n.<\/span>\n      <\/div>\n      <div class=\"rps-feat\">\n        <div class=\"rps-feat-check\"><svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\"><path d=\"M2 5l2.5 2.5 3.5-4\" stroke=\"#30D158\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/div>\n        <span>Respuestas masivas a rese\u00f1as con IA.<span class=\"rps-ai-badge\"><svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M12 3C12 3 13.5 8.5 16 11C18.5 13.5 21 12 21 12C21 12 18.5 13.5 16 16C13.5 18.5 12 21 12 21C12 21 10.5 18.5 8 16C5.5 13.5 3 12 3 12C3 12 5.5 13.5 8 11C10.5 8.5 12 3 12 3Z\" fill=\"rgba(100,180,255,0.95)\"\/><\/svg><\/span><\/span>\n      <\/div>\n      <div class=\"rps-feat\">\n        <div class=\"rps-feat-check\"><svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\"><path d=\"M2 5l2.5 2.5 3.5-4\" stroke=\"#30D158\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/div>\n        <span>Resumen autom\u00e1tico de rese\u00f1as con IA.<span class=\"rps-ai-badge\"><svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M12 3C12 3 13.5 8.5 16 11C18.5 13.5 21 12 21 12C21 12 18.5 13.5 16 16C13.5 18.5 12 21 12 21C12 21 10.5 18.5 8 16C5.5 13.5 3 12 3 12C3 12 5.5 13.5 8 11C10.5 8.5 12 3 12 3Z\" fill=\"rgba(100,180,255,0.95)\"\/><\/svg><\/span><\/span>\n      <\/div>\n    <\/div>\n\n    <!-- Stats -->\n    <div id=\"rps-stats-row\">\n      <div id=\"rps-stat-score\">\n        <div class=\"rps-stat-icon-wrap green\">\n          <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\">\n            <path d=\"M12 2l2.93 6.26L22 9.27l-5 4.87 1.18 6.86L12 17.77l-6.18 3.23L7 14.14 2 9.27l7.07-1.01L12 2z\" fill=\"#30D158\"\/>\n          <\/svg>\n        <\/div>\n        <div class=\"rps-stat-text\">\n          <div id=\"rps-star-dots\">\n            <div class=\"rps-star-dot\" id=\"sd1\"><\/div><div class=\"rps-star-dot\" id=\"sd2\"><\/div>\n            <div class=\"rps-star-dot\" id=\"sd3\"><\/div><div class=\"rps-star-dot\" id=\"sd4\"><\/div>\n            <div class=\"rps-star-dot\" id=\"sd5\"><\/div>\n          <\/div>\n          <div id=\"rps-score-num\">3.2<\/div>\n          <div class=\"rps-stat-label\">Reputaci\u00f3n<\/div>\n        <\/div>\n      <\/div>\n      <div id=\"rps-stat-sep\"><\/div>\n      <div id=\"rps-stat-counter\">\n        <div class=\"rps-stat-icon-wrap blue\">\n          <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\">\n            <path d=\"M9 12l2 2 4-4M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" stroke=\"#0A84FF\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n          <\/svg>\n        <\/div>\n        <div class=\"rps-stat-text\">\n          <div id=\"rps-counter-num\">1.284<\/div>\n          <div class=\"rps-stat-label\">Rese\u00f1as eliminadas<\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div id=\"rps-stage\" style=\"position:absolute;inset:0;z-index:10;\">\n    <div id=\"rps-container\"><\/div>\n    <svg id=\"rps-cursor\" class=\"rps-cursor\" viewBox=\"0 0 44 44\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n      <filter id=\"rps-cshadow\"><feDropShadow dx=\"1\" dy=\"2\" stdDeviation=\"2.5\" flood-color=\"rgba(0,0,0,0.6)\"\/><\/filter>\n      <path d=\"M6 3 L6 34 L14 26 L20 40 L25 38 L19 24 L30 24 Z\" fill=\"white\" stroke=\"rgba(0,0,0,0.15)\" stroke-width=\"1\" stroke-linejoin=\"round\" filter=\"url(#rps-cshadow)\"\/>\n    <\/svg>\n  <\/div>\n<\/div>\n\n<!-- Tarjetas eliminadas m\u00f3vil \u2014 fuera del root para que queden al final -->\n<div id=\"rps-mobile-eliminated\"><\/div>\n\n<script>\n(function() {\n  var container      = document.getElementById('rps-container');\n  var mainLogo       = document.getElementById('rps-main-logo');\n  var pulseContainer = document.getElementById('rps-pulse-container');\n  var headline       = document.getElementById('rps-headline');\n  var root           = document.getElementById('rps-root');\n  var cursorEl       = document.getElementById('rps-cursor');\n  var counterEl      = document.getElementById('rps-counter-num');\n  var scoreNumEl     = document.getElementById('rps-score-num');\n  var starDots       = [\n    document.getElementById('sd1'), document.getElementById('sd2'),\n    document.getElementById('sd3'), document.getElementById('sd4'),\n    document.getElementById('sd5')\n  ];\n\n  \/* CONTADOR *\/\n  var counterVal = 1284;\n  function bumpCounter() {\n    counterVal++;\n    counterEl.textContent = counterVal.toLocaleString('es-ES');\n    counterEl.classList.add('bump');\n    setTimeout(function() { counterEl.classList.remove('bump'); }, 300);\n  }\n\n  \/* PUNTUACI\u00d3 *\/\n  var scoreFrom = 3.2, scoreTo = 4.8, scoreCurrent = scoreFrom;\n  var scoreStep = (scoreTo - scoreFrom) \/ 55;\n  function updateStarDots(val) {\n    for (var i = 0; i < 5; i++) {\n      starDots[i].classList.remove('active', 'full');\n      if (val >= scoreTo) starDots[i].classList.add('full');\n      else if (val > i) starDots[i].classList.add('active');\n    }\n  }\n  function tickScore() {\n    if (scoreCurrent < scoreTo) {\n      scoreCurrent = Math.min(scoreTo, scoreCurrent + scoreStep);\n      scoreNumEl.textContent = scoreCurrent.toFixed(1);\n      updateStarDots(scoreCurrent);\n      if (scoreCurrent >= scoreTo) {\n        setTimeout(function() {\n          scoreCurrent = scoreFrom;\n          scoreNumEl.textContent = '3.2';\n          updateStarDots(scoreFrom);\n        }, 4500);\n      }\n    }\n  }\n  updateStarDots(scoreFrom);\n  setInterval(tickScore, 180);\n\n  \/* REVIEWS *\/\n  var reviews = [\n    { platform:'google', user:'Marcos Ruiz',       text:'P\u00e9simo servicio. Esperamos 1 hora y los platos llegaron fr\u00edos.',               stars:'\u2605\u2606\u2606\u2606\u2606' },\n    { platform:'google', user:'Luc\u00eda Santos',      text:'Higiene nula. Vimos una cucaracha cerca de la barra. No vuelvo jam\u00e1s.',         stars:'\u2605\u2606\u2606\u2606\u2606' },\n    { platform:'google', user:'Rafa BCN',          text:'Publicidad enga\u00f1osa. Las fotos no tienen nada que ver con la realidad.',        stars:'\u2605\u2606\u2606\u2606\u2606' },\n    { platform:'google', user:'Sonia Garc\u00eda',      text:'Encontramos pelos en la comida. El encargado fue muy maleducado.',              stars:'\u2605\u2606\u2606\u2606\u2606' },\n    { platform:'google', user:'Pedro A.',          text:'Ruidos constantes toda la noche en el hotel. Imposible descansar.',             stars:'\u2605\u2606\u2606\u2606\u2606' },\n    { platform:'google', user:'Marta J.',          text:'Nos cobraron de m\u00e1s y se negaron a corregirlo. Nunca volvemos.',               stars:'\u2605\u2606\u2606\u2606\u2606' },\n    { platform:'google', user:'Carlos Mn.',        text:'La cocina estaba sucia y la atenci\u00f3n fue un desastre total.',                  stars:'\u2605\u2606\u2606\u2606\u2606' },\n    { platform:'google', user:'Ana Rdz.',          text:'Men\u00fa completamente diferente al de la web. Nos sentimos enga\u00f1ados.',           stars:'\u2605\u2605\u2606\u2606\u2606' },\n    { platform:'google', user:'Javier T.',         text:'Tardaron 45 minutos en servirnos y la comida lleg\u00f3 fr\u00eda.',                    stars:'\u2605\u2606\u2606\u2606\u2606' },\n    { platform:'google', user:'Laura M.',          text:'El camarero fue muy grosero cuando pedimos la cuenta.',                       stars:'\u2605\u2605\u2606\u2606\u2606' },\n    { platform:'google', user:'David P\u00e9rez',       text:'Reservamos por Google y cuando llegamos no ten\u00edan nuestra mesa.',              stars:'\u2605\u2606\u2606\u2606\u2606' },\n    { platform:'google', user:'Isabel F.',         text:'El restaurante ol\u00eda mal y las sillas estaban rotas.',                         stars:'\u2605\u2606\u2606\u2606\u2606' },\n    { platform:'trustpilot',  user:'ViajeroIndignado',    text:'La habitaci\u00f3n ol\u00eda mal y el aire acondicionado no funcionaba.',         stars:'\u2605\u2606\u2606\u2606\u2606' },\n    { platform:'trustpilot',  user:'Hotel Reviewer',      text:'Overbooking. Nos dejaron tirados pese a tener reserva confirmada.',     stars:'\u2605\u2606\u2606\u2606\u2606' },\n    { platform:'trustpilot',  user:'Gourmet Disappointed',text:'Caro para la \u00ednfima calidad. El pescado no parec\u00eda fresco.',           stars:'\u2605\u2605\u2606\u2606\u2606' },\n    { platform:'tripadvisor', user:'TravellerMadrid',     text:'Decepcionante. El men\u00fa no tiene nada que ver con la carta online.',     stars:'\u2605\u2605\u2606\u2606\u2606' },\n    { platform:'tripadvisor', user:'Ana F.',              text:'Nos dieron la peor mesa del local. La comida no ten\u00eda ning\u00fan sabor.',   stars:'\u2605\u2606\u2606\u2606\u2606' },\n    { platform:'thefork',     user:'Elena Mart\u00ednez',      text:'Aun con descuento TheFork fue una p\u00e9sima experiencia.',                stars:'\u2605\u2606\u2606\u2606\u2606' },\n    { platform:'thefork',     user:'Foodie_BCN',          text:'El restaurante huele mal y las mesas estaban sucias al llegar.',       stars:'\u2605\u2606\u2606\u2606\u2606' },\n    { platform:'booking',     user:'Hu\u00e9spedInsatisfecho', text:'Fotos totalmente enga\u00f1osas. La habitaci\u00f3n era la mitad.',              stars:'\u2605\u2605\u2606\u2606\u2606' },\n    { platform:'booking',     user:'Carlos V.',           text:'Sin agua caliente dos d\u00edas y la recepci\u00f3n nos ignor\u00f3.',                stars:'\u2605\u2606\u2606\u2606\u2606' },\n    { platform:'yelp',        user:'YelpUser_BCN',        text:'Comida mediocre y precios abusivos. Ni siquiera ped\u00edan disculpas.',    stars:'\u2605\u2605\u2606\u2606\u2606' },\n    { platform:'facebook',    user:'Jordi M.',            text:'Reserv\u00e9 por Facebook y ni me llamaron para confirmar. Muy mal.',       stars:'\u2605\u2606\u2606\u2606\u2606' },\n    { platform:'glassdoor',   user:'ExEmpleado_2024',     text:'Gesti\u00f3n nefasta. Los clientes se quejan y nadie hace nada.',          stars:'\u2605\u2605\u2606\u2606\u2606' },\n    { platform:'expedia',     user:'TravelerExpress',     text:'El hotel no coincid\u00eda con la descripci\u00f3n. Sin vistas y sin limpieza.', stars:'\u2605\u2605\u2606\u2606\u2606' }\n  ];\n\n  function platformIcon(p) {\n    var icons = {\n      google:      '<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" style=\"vertical-align:middle;margin-right:4px\"><path d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z\" fill=\"#4285F4\"\/><path d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\" fill=\"#34A853\"\/><path d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l3.66-2.84z\" fill=\"#FBBC05\"\/><path d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z\" fill=\"#EA4335\"\/><\/svg><span style=\"font-weight:500;font-size:11px;color:#3C3C43\">Google<\/span>',\n      trustpilot:  '<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"#00B67A\" style=\"vertical-align:middle;margin-right:4px\"><path d=\"M12 2l2.93 6.26L22 9.27l-5 4.87 1.18 6.86L12 17.77l-6.18 3.23L7 14.14 2 9.27l7.07-1.01L12 2z\"\/><\/svg><span style=\"font-weight:500;font-size:11px;color:#00B67A\">Trustpilot<\/span>',\n      tripadvisor: '<svg width=\"15\" height=\"12\" viewBox=\"0 0 28 18\" style=\"vertical-align:middle;margin-right:4px\"><circle cx=\"7\" cy=\"9\" r=\"7\" fill=\"#34E0A1\"\/><circle cx=\"21\" cy=\"9\" r=\"7\" fill=\"#34E0A1\"\/><circle cx=\"7\" cy=\"9\" r=\"3\" fill=\"#fff\"\/><circle cx=\"21\" cy=\"9\" r=\"3\" fill=\"#fff\"\/><circle cx=\"7\" cy=\"9\" r=\"1.5\" fill=\"#000\"\/><circle cx=\"21\" cy=\"9\" r=\"1.5\" fill=\"#000\"\/><\/svg><span style=\"font-weight:500;font-size:11px;color:#00AA6C\">Tripadvisor<\/span>',\n      thefork:     '<svg width=\"10\" height=\"12\" viewBox=\"0 0 16 20\" fill=\"none\" style=\"vertical-align:middle;margin-right:4px\"><path d=\"M3 1v5c0 2 2 3 2 3v10M8 1v18M13 1v4a3 3 0 01-3 3v11\" stroke=\"#FF6243\" stroke-width=\"2\" stroke-linecap=\"round\"\/><\/svg><span style=\"font-weight:500;font-size:11px;color:#FF6243\">TheFork<\/span>',\n      booking:     '<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" style=\"vertical-align:middle;margin-right:4px\"><rect width=\"24\" height=\"24\" rx=\"3\" fill=\"#003580\"\/><text x=\"4\" y=\"17\" font-size=\"13\" font-weight=\"900\" fill=\"white\" font-family=\"Arial\">B.<\/text><\/svg><span style=\"font-weight:500;font-size:11px;color:#003580\">Booking<\/span>',\n      yelp:        '<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"#D32323\" style=\"vertical-align:middle;margin-right:4px\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 14.5v-9l6 4.5-6 4.5z\"\/><\/svg><span style=\"font-weight:500;font-size:11px;color:#D32323\">Yelp<\/span>',\n      facebook:    '<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"#1877F2\" style=\"vertical-align:middle;margin-right:4px\"><path d=\"M24 12.073C24 5.404 18.627 0 12 0S0 5.404 0 12.073C0 18.1 4.388 23.094 10.125 24v-8.437H7.078v-3.49h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.49h-2.796V24C19.612 23.094 24 18.1 24 12.073z\"\/><\/svg><span style=\"font-weight:500;font-size:11px;color:#1877F2\">Facebook<\/span>',\n      glassdoor:   '<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" style=\"vertical-align:middle;margin-right:4px\"><rect width=\"24\" height=\"24\" rx=\"3\" fill=\"#0CAA41\"\/><text x=\"4.5\" y=\"17\" font-size=\"12\" font-weight=\"900\" fill=\"white\" font-family=\"Arial\">G<\/text><\/svg><span style=\"font-weight:500;font-size:11px;color:#0CAA41\">Glassdoor<\/span>',\n      expedia:     '<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" style=\"vertical-align:middle;margin-right:4px\"><rect width=\"24\" height=\"24\" rx=\"3\" fill=\"#FFC72C\"\/><text x=\"3\" y=\"16\" font-size=\"10\" font-weight=\"900\" fill=\"#00355F\" font-family=\"Arial\">Exp<\/text><\/svg><span style=\"font-weight:500;font-size:11px;color:#00355F\">Expedia<\/span>'\n    };\n    return icons[p] || '';\n  }\n\n  \/* versi\u00f3n clara para tarjetas eliminadas (fondo verde oscuro) *\/\n  function platformIconLight(p) {\n    var icons = {\n      google:      '<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" style=\"vertical-align:middle;margin-right:4px\"><path d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z\" fill=\"#7FB3FF\"\/><path d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\" fill=\"#86EFAC\"\/><path d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l3.66-2.84z\" fill=\"#FDE68A\"\/><path d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z\" fill=\"#FCA5A5\"\/><\/svg><span style=\"font-weight:500;font-size:11px;color:rgba(209,250,229,0.75)\">Google<\/span>',\n      trustpilot:  '<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"#6EE7B7\" style=\"vertical-align:middle;margin-right:4px\"><path d=\"M12 2l2.93 6.26L22 9.27l-5 4.87 1.18 6.86L12 17.77l-6.18 3.23L7 14.14 2 9.27l7.07-1.01L12 2z\"\/><\/svg><span style=\"font-weight:500;font-size:11px;color:rgba(209,250,229,0.75)\">Trustpilot<\/span>',\n      tripadvisor: '<svg width=\"15\" height=\"12\" viewBox=\"0 0 28 18\" style=\"vertical-align:middle;margin-right:4px\"><circle cx=\"7\" cy=\"9\" r=\"7\" fill=\"#6EE7B7\"\/><circle cx=\"21\" cy=\"9\" r=\"7\" fill=\"#6EE7B7\"\/><circle cx=\"7\" cy=\"9\" r=\"3\" fill=\"rgba(20,50,30,0.9)\"\/><circle cx=\"21\" cy=\"9\" r=\"3\" fill=\"rgba(20,50,30,0.9)\"\/><circle cx=\"7\" cy=\"9\" r=\"1.5\" fill=\"#D1FAE5\"\/><circle cx=\"21\" cy=\"9\" r=\"1.5\" fill=\"#D1FAE5\"\/><\/svg><span style=\"font-weight:500;font-size:11px;color:rgba(209,250,229,0.75)\">Tripadvisor<\/span>',\n      thefork:     '<svg width=\"10\" height=\"12\" viewBox=\"0 0 16 20\" fill=\"none\" style=\"vertical-align:middle;margin-right:4px\"><path d=\"M3 1v5c0 2 2 3 2 3v10M8 1v18M13 1v4a3 3 0 01-3 3v11\" stroke=\"#FCA5A5\" stroke-width=\"2\" stroke-linecap=\"round\"\/><\/svg><span style=\"font-weight:500;font-size:11px;color:rgba(209,250,229,0.75)\">TheFork<\/span>',\n      booking:     '<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" style=\"vertical-align:middle;margin-right:4px\"><rect width=\"24\" height=\"24\" rx=\"3\" fill=\"rgba(255,255,255,0.15)\"\/><text x=\"4\" y=\"17\" font-size=\"13\" font-weight=\"900\" fill=\"#93C5FD\" font-family=\"Arial\">B.<\/text><\/svg><span style=\"font-weight:500;font-size:11px;color:rgba(209,250,229,0.75)\">Booking<\/span>',\n      yelp:        '<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"#FCA5A5\" style=\"vertical-align:middle;margin-right:4px\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 14.5v-9l6 4.5-6 4.5z\"\/><\/svg><span style=\"font-weight:500;font-size:11px;color:rgba(209,250,229,0.75)\">Yelp<\/span>',\n      facebook:    '<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"#93C5FD\" style=\"vertical-align:middle;margin-right:4px\"><path d=\"M24 12.073C24 5.404 18.627 0 12 0S0 5.404 0 12.073C0 18.1 4.388 23.094 10.125 24v-8.437H7.078v-3.49h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.49h-2.796V24C19.612 23.094 24 18.1 24 12.073z\"\/><\/svg><span style=\"font-weight:500;font-size:11px;color:rgba(209,250,229,0.75)\">Facebook<\/span>',\n      glassdoor:   '<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" style=\"vertical-align:middle;margin-right:4px\"><rect width=\"24\" height=\"24\" rx=\"3\" fill=\"rgba(255,255,255,0.15)\"\/><text x=\"4.5\" y=\"17\" font-size=\"12\" font-weight=\"900\" fill=\"#86EFAC\" font-family=\"Arial\">G<\/text><\/svg><span style=\"font-weight:500;font-size:11px;color:rgba(209,250,229,0.75)\">Glassdoor<\/span>',\n      expedia:     '<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" style=\"vertical-align:middle;margin-right:4px\"><rect width=\"24\" height=\"24\" rx=\"3\" fill=\"rgba(255,255,255,0.15)\"\/><text x=\"3\" y=\"16\" font-size=\"10\" font-weight=\"900\" fill=\"#FDE68A\" font-family=\"Arial\">Exp<\/text><\/svg><span style=\"font-weight:500;font-size:11px;color:rgba(209,250,229,0.75)\">Expedia<\/span>'\n    };\n    return icons[p] || '';\n  }\n\n  function spawnParticles(cx, cy) {\n    var colors = ['#30D158','#34D399','#6EE7B7'];\n    for (var i = 0; i < 6; i++) {\n      var p = document.createElement('div');\n      var angle = Math.random() * Math.PI * 2;\n      var dist  = 24 + Math.random() * 40;\n      var size  = 3 + Math.random() * 4;\n      var dur   = 0.4 + Math.random() * 0.35;\n      p.style.cssText = 'position:absolute;border-radius:50%;pointer-events:none;z-index:250;'\n        + 'width:' + size + 'px;height:' + size + 'px;'\n        + 'background:' + colors[Math.floor(Math.random() * colors.length)] + ';'\n        + 'left:' + (cx - size\/2) + 'px;top:' + (cy - size\/2) + 'px;'\n        + '--px:' + Math.round(Math.cos(angle) * dist) + 'px;'\n        + '--py:' + Math.round(Math.sin(angle) * dist) + 'px;'\n        + 'animation:rps-particle ' + dur + 's ease-out forwards;';\n      root.appendChild(p);\n      (function(el, d) { setTimeout(function() { el.remove(); }, d * 1000 + 100); })(p, dur);\n    }\n  }\n\n  \/* CURSOR *\/\n  var cursorActive = false;\n  function animateCursorToButton(btn, onClicked) {\n    if (cursorActive) return;\n    cursorActive = true;\n    var btnRect  = btn.getBoundingClientRect();\n    var rootRect = root.getBoundingClientRect();\n    var btnCX = btnRect.left + btnRect.width  \/ 2 - rootRect.left;\n    var btnCY = btnRect.top  + btnRect.height \/ 2 - rootRect.top;\n    var startX = btnCX - 70 + Math.random() * 30;\n    var startY = btnCY - 55 + Math.random() * 20;\n    cursorEl.style.transition = 'none';\n    cursorEl.style.left = startX + 'px'; cursorEl.style.top = startY + 'px';\n    cursorEl.classList.add('visible');\n    setTimeout(function() {\n      cursorEl.style.transition = 'left 0.85s cubic-bezier(0.25,0.46,0.45,0.94), top 0.85s cubic-bezier(0.25,0.46,0.45,0.94)';\n      cursorEl.style.left = (btnCX - 4) + 'px'; cursorEl.style.top = (btnCY - 4) + 'px';\n    }, 80);\n    setTimeout(function() {\n      cursorEl.classList.add('clicking'); btn.classList.add('clicking');\n      var ripple = document.createElement('div');\n      ripple.style.cssText = 'position:absolute;width:20px;height:20px;background:rgba(255,59,48,0.4);border-radius:50%;pointer-events:none;z-index:300;'\n        + 'left:' + (btnCX-10) + 'px;top:' + (btnCY-10) + 'px;animation:rps-ripple 0.6s ease-out forwards;';\n      root.appendChild(ripple);\n      setTimeout(function() { ripple.remove(); }, 650);\n      setTimeout(function() { cursorEl.classList.remove('clicking'); btn.classList.remove('clicking'); }, 480);\n      setTimeout(function() { cursorEl.classList.remove('visible'); cursorActive = false; onClicked(); }, 700);\n    }, 1050);\n  }\n\n  \/* DONE CARD *\/\n  function spawnDoneCard(platform, user) {\n    if (window.innerWidth <= 768) return; \/* en m\u00f3vil no se usan done cards flotantes *\/\n    var W = root.offsetWidth, H = root.offsetHeight;\n    var chipW = 220;\n    var statsRow  = document.getElementById('rps-stats-row');\n    var statsRect = statsRow.getBoundingClientRect();\n    var rRect     = root.getBoundingClientRect();\n    var safeBot   = statsRect.bottom - rRect.top + 110;\n    var x = W * 0.20 + Math.random() * (W * 0.60 - chipW);\n    var y = safeBot + Math.random() * Math.max(20, H - safeBot - 100);\n\n    var done = document.createElement('div');\n    done.className = 'rps-done-card';\n    done.style.left = x + 'px'; done.style.top = y + 'px';\n\n    var chk = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" style=\"flex-shrink:0\">'\n      + '<circle cx=\"7\" cy=\"7\" r=\"6.5\" fill=\"#30D158\"\/>'\n      + '<path d=\"M4 7l2 2 4-4\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>'\n      + '<\/svg>';\n\n    done.innerHTML = chk\n      + '<span style=\"font-size:11px;font-weight:400;color:rgba(209,250,229,0.65)\">Eliminada<\/span>'\n      + '<span style=\"font-size:11px;font-weight:600;color:#D1FAE5\">\u00b7 ' + user + '<\/span>';\n\n    container.appendChild(done);\n    requestAnimationFrame(function() {\n      requestAnimationFrame(function() { done.classList.add('visible'); });\n    });\n    setTimeout(function() {\n      done.classList.add('fading');\n      setTimeout(function() { done.remove(); }, 550);\n    }, 5000);\n  }\n\n  \/* registro de slots ocupados por tarjetas verdes *\/\n  var occupiedSlots = [];\n  var CARD_W = 300, CARD_H = 160;\n\n  function findFreeSlot(safeBot, H, W) {\n    var margin = 20;\n    var cols = Math.floor((W - margin * 2) \/ (CARD_W + 24));\n    cols = Math.max(cols, 2);\n    var usableW = W - margin * 2 - CARD_W;\n    var colW = usableW \/ (cols - 1 || 1);\n    var candidates = [];\n    for (var c = 0; c < cols; c++) {\n      var cx = margin + c * colW;\n      cx = Math.max(margin, Math.min(W - CARD_W - margin, cx));\n      var maxRows = Math.max(1, Math.floor((H - safeBot - 20) \/ (CARD_H + 12)));\n      for (var r = 0; r < maxRows; r++) {\n        var cy = safeBot + 10 + r * (CARD_H + 12);\n        var jitterX = Math.random() * 10 - 5;\n        var safeX = Math.max(margin, Math.min(W - CARD_W - margin, cx + jitterX));\n        candidates.push({ x: safeX, y: cy + (Math.random() * 10 - 5) });\n      }\n    }\n    for (var i = candidates.length - 1; i > 0; i--) {\n      var j = Math.floor(Math.random() * (i + 1));\n      var tmp = candidates[i]; candidates[i] = candidates[j]; candidates[j] = tmp;\n    }\n    for (var k = 0; k < candidates.length; k++) {\n      var s = candidates[k];\n      var overlap = false;\n      for (var m = 0; m < occupiedSlots.length; m++) {\n        var o = occupiedSlots[m];\n        if (Math.abs(s.x - o.x) < CARD_W - 20 && Math.abs(s.y - o.y) < CARD_H - 20) {\n          overlap = true; break;\n        }\n      }\n      if (!overlap) return s;\n    }\n    return candidates[0] || { x: margin, y: safeBot + 20 };\n  }\n\n  \/* PURIFY *\/\n  function purifyCard(card, platform, user) {\n    var isMobile = window.innerWidth <= 768;\n    var cardRect = card.getBoundingClientRect();\n    var rRect    = root.getBoundingClientRect();\n    var cardCX   = cardRect.left + cardRect.width  \/ 2 - rRect.left;\n    var cardCY   = cardRect.top  + cardRect.height \/ 2 - rRect.top;\n    var W = root.offsetWidth;\n    var H = root.offsetHeight;\n\n    var targetX, targetY;\n\n    if (isMobile) {\n      \/* en m\u00f3vil: mover la tarjeta al contenedor debajo de las stats *\/\n      var mobileContainer = document.getElementById('rps-mobile-eliminated');\n      setTimeout(function() {\n        if (!card.parentNode) return;\n        \/* flash *\/\n        var flash = document.createElement('div');\n        flash.style.cssText = 'position:absolute;inset:0;background:rgba(48,209,88,0.35);border-radius:18px;pointer-events:none;z-index:30;animation:rps-flash 0.9s ease-out forwards;';\n        card.style.overflow = 'hidden';\n        card.appendChild(flash);\n        setTimeout(function() { if (flash.parentNode) flash.remove(); }, 950);\n\n        setTimeout(function() {\n          if (!card.parentNode) return;\n          var chkSvg = '<svg width=\"16\" height=\"16\" viewBox=\"0 0 14 14\" fill=\"none\" style=\"flex-shrink:0;vertical-align:middle\"><circle cx=\"7\" cy=\"7\" r=\"6.5\" fill=\"#30D158\"\/><path d=\"M4 7l2 2 4-4\" stroke=\"white\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>';\n          card.innerHTML =\n            '<div style=\"opacity:0;animation:rps-elim-row 0.5s ease 0.05s forwards;display:flex;align-items:center;gap:8px;margin-bottom:10px\">' + chkSvg + '<span style=\"font-size:10px;font-weight:700;color:#30D158;text-transform:uppercase;letter-spacing:.12em\">Rese\u00f1a eliminada<\/span><\/div>'\n            + '<div style=\"opacity:0;animation:rps-elim-row 0.5s ease 0.2s forwards;font-weight:700;color:#30D158;font-size:14px;margin-bottom:5px\">' + user + '<\/div>'\n            + '<div style=\"opacity:0;animation:rps-elim-row 0.5s ease 0.35s forwards;font-size:11px;margin-bottom:10px\">' + platformIconLight(platform) + '<\/div>'\n            + '<div style=\"opacity:0;animation:rps-elim-row 0.5s ease 0.5s forwards;font-size:7px;font-weight:600;color:rgba(48,209,88,0.6);text-transform:uppercase;letter-spacing:.2em;border-top:1px solid rgba(48,209,88,0.18);padding-top:8px\">Repscan Protect<\/div>';\n          card.style.position = 'relative';\n          card.style.width = '100%';\n          card.style.opacity = '0';\n          card.style.transform = 'none';\n          card.style.background = 'rgba(20,50,30,0.95)';\n          card.style.border = '0.5px solid rgba(48,209,88,0.5)';\n          card.style.borderTop = '2px solid #30D158';\n          card.style.animation = 'rps-elim-glow 2s ease forwards';\n          mobileContainer.appendChild(card);\n          requestAnimationFrame(function() {\n            requestAnimationFrame(function() {\n              card.style.transition = 'opacity 0.6s ease';\n              card.style.opacity = '1';\n            });\n          });\n          bumpCounter();\n          setTimeout(function() {\n            card.style.transition = 'opacity 1s ease';\n            card.style.opacity = '0';\n            setTimeout(function() { card.remove(); }, 1100);\n          }, 7000);\n        }, 400);\n      }, 2200);\n      return;\n    }\n      var statsRow  = document.getElementById('rps-stats-row');\n      var statsRect = statsRow.getBoundingClientRect();\n      var safeBot   = statsRect.bottom - rRect.top + 110;\n      var slot = findFreeSlot(safeBot, H, W);\n      targetX = Math.max(20, Math.min(W - CARD_W - 20, slot.x));\n      targetY = slot.y;\n      occupiedSlots.push({ x: targetX, y: targetY });\n\n    card.style.setProperty('--rps-tx', (targetX - cardCX) + 'px');\n    card.style.setProperty('--rps-ty', (targetY - cardCY) + 'px');\n    card.style.transition = 'all 1.2s cubic-bezier(0.7,0,0.3,1)';\n    card.style.transform  = 'translate(var(--rps-tx), var(--rps-ty)) scale(0.9) rotate(-1deg)';\n    card.style.opacity    = '0.8';\n\n    setTimeout(function() {\n      if (!card.parentNode) return;\n\n      \/* 1 \u2014 flash de luz verde sobre la tarjeta *\/\n      var flash = document.createElement('div');\n      flash.style.cssText = 'position:absolute;inset:0;background:rgba(48,209,88,0.35);border-radius:18px;pointer-events:none;z-index:30;animation:rps-flash 0.9s ease-out forwards;';\n      card.style.overflow = 'hidden';\n      card.appendChild(flash);\n      setTimeout(function() { if (flash.parentNode) flash.remove(); }, 950);\n\n      \/* 2 \u2014 tras el flash, cambiar contenido *\/\n      setTimeout(function() {\n        if (!card.parentNode) return;\n        var chkSvg = '<svg width=\"16\" height=\"16\" viewBox=\"0 0 14 14\" fill=\"none\" style=\"flex-shrink:0;vertical-align:middle\">'\n          + '<circle cx=\"7\" cy=\"7\" r=\"6.5\" fill=\"#30D158\"\/>'\n          + '<path d=\"M4 7l2 2 4-4\" stroke=\"white\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>'\n          + '<\/svg>';\n\n        card.innerHTML =\n          '<div style=\"opacity:0;animation:rps-elim-row 0.5s ease 0.05s forwards;display:flex;align-items:center;gap:8px;margin-bottom:10px\">'\n          + chkSvg\n          + '<span style=\"font-size:10px;font-weight:700;color:#30D158;text-transform:uppercase;letter-spacing:.12em\">Rese\u00f1a eliminada<\/span>'\n          + '<\/div>'\n          + '<div style=\"opacity:0;animation:rps-elim-row 0.5s ease 0.2s forwards;font-weight:700;color:#30D158;font-size:14px;margin-bottom:5px\">' + user + '<\/div>'\n          + '<div style=\"opacity:0;animation:rps-elim-row 0.5s ease 0.35s forwards;font-size:11px;margin-bottom:10px\">' + platformIconLight(platform) + '<\/div>'\n          + '<div style=\"opacity:0;animation:rps-elim-row 0.5s ease 0.5s forwards;font-size:7px;font-weight:600;color:rgba(48,209,88,0.6);text-transform:uppercase;letter-spacing:.2em;border-top:1px solid rgba(48,209,88,0.18);padding-top:8px\">Repscan Protect<\/div>';\n\n        \/* glow pulsante en el borde *\/\n        card.style.transition = 'background 0.8s ease, border-color 0.8s ease';\n        card.style.background = 'rgba(20,50,30,0.95)';\n        card.style.border     = '0.5px solid rgba(48,209,88,0.5)';\n        card.style.borderTop  = '2px solid #30D158';\n        card.style.animation  = 'rps-elim-glow 2s ease forwards';\n\n        spawnParticles(targetX, targetY);\n        bumpCounter();\n        mainLogo.style.transform = 'scale(1.04)';\n        setTimeout(function() { mainLogo.style.transform = 'scale(1)'; }, 400);\n\n        \/* 3 \u2014 desaparecer suave *\/\n        setTimeout(function() {\n          if (!card.parentNode) return;\n          card.style.transition = 'opacity 1.5s ease, transform 1.5s ease';\n          card.style.opacity    = '0';\n          card.style.transform  = 'translate(var(--rps-tx), var(--rps-ty)) scale(0.88) rotate(-1deg)';\n          \/* libera el slot solo en desktop *\/\n          if (window.innerWidth > 768) {\n            occupiedSlots = occupiedSlots.filter(function(s) {\n              return !(Math.abs(s.x - targetX) < 10 && Math.abs(s.y - targetY) < 10);\n            });\n          }\n          setTimeout(function() { card.remove(); }, 1600);\n        }, 8000);\n\n      }, 400);\n\n    }, 2200);\n  }\n\n  \/* CREATE REVIEW *\/\n  function createReview() {\n    var d    = reviews[Math.floor(Math.random() * reviews.length)];\n    var card = document.createElement('div');\n    card.className = 'rps-review-card ' + d.platform;\n    var isMobile = window.innerWidth <= 768;\n    var cardW = isMobile ? 190 : 300;\n    var cardH = isMobile ? 150 : 200;\n    var W = root.offsetWidth;\n    var H = root.offsetHeight;\n    var stageEl = document.getElementById('rps-stage');\n    var stageH = stageEl ? stageEl.offsetHeight : H;\n    var zoneMin = isMobile ? 8 : 72;\n    var zoneMax, hlTop;\n    if (isMobile) {\n      zoneMax = stageH - cardH - 8;\n    } else {\n      var hlRect   = headline.getBoundingClientRect();\n      var rootRect = root.getBoundingClientRect();\n      hlTop  = hlRect.top - rootRect.top;\n      zoneMax = hlTop - 10;\n      if (zoneMax - zoneMin < cardH + 20) zoneMax = hlTop + 20;\n    }\n\n    var x = Math.random() * (W - cardW - 30) + 15;\n    var y = zoneMin + Math.random() * Math.max(10, zoneMax - cardH - zoneMin);\n    card.style.left = x + 'px'; card.style.top = y + 'px'; card.style.zIndex = '10';\n    var scale = (0.85 + Math.random() * 0.16).toFixed(2);\n    var rot   = (Math.random() * 8 - 4).toFixed(1);\n\n    var centerX = W \/ 2 - x - cardW \/ 2;\n    var centerY = H * 0.25 - y - cardH \/ 2;\n    card.style.transition = 'none';\n    card.style.transform  = 'translate(' + centerX + 'px, ' + centerY + 'px) scale(0.25) rotate(0deg)';\n    card.style.opacity    = '0';\n\n    var trashSvg = '<svg width=\"9\" height=\"9\" viewBox=\"0 0 14 14\" fill=\"none\" style=\"display:inline-block;vertical-align:middle\"><path d=\"M1 3h12M5 3V2h4v1M2 3l1 9h8l1-9\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>';\n    var avatarColors = [\n      ['#EDE9FE','#5B21B6'],['#DBEAFE','#1D4ED8'],['#FCE7F3','#9D174D'],\n      ['#FEF9C3','#92400E'],['#DCFCE7','#14532D'],['#FEE2E2','#991B1B'],\n      ['#E0F2FE','#075985'],['#F3E8FF','#6B21A8']\n    ];\n    var ac = avatarColors[Math.floor(Math.random() * avatarColors.length)];\n    var initials = d.user.split(' ').map(function(w){ return w[0]; }).slice(0,2).join('').toUpperCase();\n    var avatar = '<div style=\"width:36px;height:36px;border-radius:50%;background:' + ac[0] + ';display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;font-weight:600;color:' + ac[1] + '\">' + initials + '<\/div>';\n\n    card.innerHTML =\n      '<div style=\"display:flex;justify-content:space-between;align-items:center;margin-bottom:10px\">'\n      + '<div>' + platformIcon(d.platform) + '<\/div>'\n      + '<div style=\"padding:2px 7px;border-radius:20px;background:#FEF2F2;color:#FF3B30;font-weight:600;font-size:8px;text-transform:uppercase;letter-spacing:.05em\">Alerta<\/div>'\n      + '<\/div>'\n      + '<div style=\"display:flex;align-items:center;gap:10px;margin-bottom:8px\">'\n      + avatar\n      + '<div><div style=\"font-weight:600;color:#1C1C1E;font-size:13px;line-height:1.2\">' + d.user + '<\/div>'\n      + '<div style=\"font-size:15px;color:#FF9F0A;line-height:1.3\">' + d.stars + '<\/div><\/div>'\n      + '<\/div>'\n      + '<p style=\"color:#6B6B6B;font-size:10px;line-height:1.6;margin-bottom:10px;font-style:italic\">\"' + d.text + '\"<\/p>'\n      + '<div style=\"display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(0,0,0,0.06);padding-top:9px\">'\n      + '<span style=\"font-size:7px;font-weight:400;color:#AEAEB2;text-transform:uppercase;letter-spacing:.15em\">Incidencia detectada<\/span>'\n      + '<button class=\"rps-delete-btn\">' + trashSvg + ' Eliminar rese\u00f1a<\/button>'\n      + '<\/div>';\n\n    container.appendChild(card);\n    var btn = card.querySelector('.rps-delete-btn');\n\n    requestAnimationFrame(function() {\n      requestAnimationFrame(function() {\n        card.style.transition = 'opacity 0.75s ease, transform 0.9s cubic-bezier(0.34,1.4,0.64,1)';\n        card.style.opacity    = '1';\n        card.style.transform  = 'translate(0,0) scale(' + scale + ') rotate(' + rot + 'deg)';\n\n        \/* scan line elegante *\/\n        setTimeout(function() {\n          if (!card.parentNode) return;\n          var scan = document.createElement('div');\n          scan.className = 'rps-scan-line';\n          card.style.overflow = 'hidden';\n          card.appendChild(scan);\n          setTimeout(function() { if (scan.parentNode) scan.remove(); }, 2400);\n        }, 800);\n      });\n    });\n\n    \/* --- VELOCIDAD M\u00c1S LENTA: delay m\u00ednimo 5s, m\u00e1ximo 9s --- *\/\n    var clickDelay = 5000 + Math.random() * 4000;\n    setTimeout(function() {\n      if (!card.parentNode) return;\n      animateCursorToButton(btn, function() { purifyCard(card, d.platform, d.user); });\n    }, clickDelay);\n  }\n\n  \/* TEXT ROTATIU \u2014 fade simple *\/\n  var rotatingEl = document.getElementById('rps-rotating-text');\n  var messages = [\n    { text: 'Elimina Rese\u00f1as',      duration: 4000 },\n    { text: 'Responde con IA',      duration: 3000 },\n    { text: 'Sube en los Rankings', duration: 3000 }\n  ];\n  var msgIndex = 0;\n  function showNextMessage() {\n    rotatingEl.classList.remove('visible');\n    setTimeout(function() {\n      rotatingEl.textContent = messages[msgIndex].text;\n      rotatingEl.classList.add('visible');\n      var dur = messages[msgIndex].duration;\n      msgIndex = (msgIndex + 1) % messages.length;\n      setTimeout(showNextMessage, dur);\n    }, 500);\n  }\n  rotatingEl.textContent = messages[0].text;\n  setTimeout(function() {\n    rotatingEl.classList.add('visible'); msgIndex = 1;\n    setTimeout(showNextMessage, messages[0].duration);\n  }, 300);\n\n  \/* --- SPAWN M\u00c1S LENTO: cada 3s en lugar de 1.6s --- *\/\n  setInterval(createReview, 3000);\n  \/* --- INICIO: 8 tarjetas con m\u00e1s separaci\u00f3n entre ellas --- *\/\n  for (var i = 0; i < 8; i++) {\n    (function(idx) { setTimeout(createReview, idx * 500); })(i);\n  }\n\n  function resetTopCards() {\n    var allCards = container.querySelectorAll('.rps-review-card');\n    var topCards = [];\n    allCards.forEach(function(c) {\n      if (!c.classList.contains('eliminated')) topCards.push(c);\n    });\n    topCards.forEach(function(c) {\n      c.style.transition = 'opacity 0.5s ease, transform 0.5s ease';\n      c.style.opacity = '0';\n      c.style.transform = 'scale(0.92)';\n    });\n    setTimeout(function() {\n      topCards.forEach(function(c) { c.remove(); });\n      cursorActive = false;\n      occupiedSlots = [];\n      for (var i = 0; i < 8; i++) {\n        (function(idx) { setTimeout(createReview, idx * 500); })(i);\n      }\n    }, 600);\n  }\n  setInterval(resetTopCards, 90000);\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":29,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_mbp_gutenberg_autopost":false,"footnotes":""},"class_list":{"0":"post-51379","1":"page","2":"type-page","3":"status-publish","5":"infinite-scroll-item"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Fira Alimentaria | RepScan<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.repscan.com\/es\/fira-alimentaria\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fira Alimentaria | RepScan\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.repscan.com\/es\/fira-alimentaria\/\" \/>\n<meta property=\"og:site_name\" content=\"RepScan\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-20T22:32:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.repscan.com\/wp-content\/uploads\/2026\/03\/logo-repscan-white.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.repscan.com\\\/es\\\/fira-alimentaria\\\/\",\"url\":\"https:\\\/\\\/www.repscan.com\\\/es\\\/fira-alimentaria\\\/\",\"name\":\"Fira Alimentaria | RepScan\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.repscan.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.repscan.com\\\/es\\\/fira-alimentaria\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.repscan.com\\\/es\\\/fira-alimentaria\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.repscan.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/logo-repscan-white.png\",\"datePublished\":\"2026-03-19T09:50:56+00:00\",\"dateModified\":\"2026-03-20T22:32:59+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.repscan.com\\\/es\\\/fira-alimentaria\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.repscan.com\\\/es\\\/fira-alimentaria\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.repscan.com\\\/es\\\/fira-alimentaria\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.repscan.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/logo-repscan-white.png\",\"contentUrl\":\"https:\\\/\\\/www.repscan.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/logo-repscan-white.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.repscan.com\\\/es\\\/fira-alimentaria\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.repscan.com\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fira Alimentaria\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.repscan.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/www.repscan.com\\\/es\\\/\",\"name\":\"RepScan\",\"description\":\"Plataforma de Reputaci\u00f3n Digital\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.repscan.com\\\/es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.repscan.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.repscan.com\\\/es\\\/#organization\",\"name\":\"RepScan\",\"url\":\"https:\\\/\\\/www.repscan.com\\\/es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.repscan.com\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.repscan.com\\\/wp-content\\\/uploads\\\/2020\\\/07\\\/repscan_header_HQ.png\",\"contentUrl\":\"https:\\\/\\\/www.repscan.com\\\/wp-content\\\/uploads\\\/2020\\\/07\\\/repscan_header_HQ.png\",\"width\":550,\"height\":130,\"caption\":\"RepScan\"},\"image\":{\"@id\":\"https:\\\/\\\/www.repscan.com\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Fira Alimentaria | RepScan","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.repscan.com\/es\/fira-alimentaria\/","og_locale":"es_ES","og_type":"article","og_title":"Fira Alimentaria | RepScan","og_url":"https:\/\/www.repscan.com\/es\/fira-alimentaria\/","og_site_name":"RepScan","article_modified_time":"2026-03-20T22:32:59+00:00","og_image":[{"url":"https:\/\/www.repscan.com\/wp-content\/uploads\/2026\/03\/logo-repscan-white.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.repscan.com\/es\/fira-alimentaria\/","url":"https:\/\/www.repscan.com\/es\/fira-alimentaria\/","name":"Fira Alimentaria | RepScan","isPartOf":{"@id":"https:\/\/www.repscan.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.repscan.com\/es\/fira-alimentaria\/#primaryimage"},"image":{"@id":"https:\/\/www.repscan.com\/es\/fira-alimentaria\/#primaryimage"},"thumbnailUrl":"https:\/\/www.repscan.com\/wp-content\/uploads\/2026\/03\/logo-repscan-white.png","datePublished":"2026-03-19T09:50:56+00:00","dateModified":"2026-03-20T22:32:59+00:00","breadcrumb":{"@id":"https:\/\/www.repscan.com\/es\/fira-alimentaria\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.repscan.com\/es\/fira-alimentaria\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.repscan.com\/es\/fira-alimentaria\/#primaryimage","url":"https:\/\/www.repscan.com\/wp-content\/uploads\/2026\/03\/logo-repscan-white.png","contentUrl":"https:\/\/www.repscan.com\/wp-content\/uploads\/2026\/03\/logo-repscan-white.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.repscan.com\/es\/fira-alimentaria\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.repscan.com\/es\/"},{"@type":"ListItem","position":2,"name":"Fira Alimentaria"}]},{"@type":"WebSite","@id":"https:\/\/www.repscan.com\/es\/#website","url":"https:\/\/www.repscan.com\/es\/","name":"RepScan","description":"Plataforma de Reputaci\u00f3n Digital","publisher":{"@id":"https:\/\/www.repscan.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.repscan.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.repscan.com\/es\/#organization","name":"RepScan","url":"https:\/\/www.repscan.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.repscan.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/www.repscan.com\/wp-content\/uploads\/2020\/07\/repscan_header_HQ.png","contentUrl":"https:\/\/www.repscan.com\/wp-content\/uploads\/2020\/07\/repscan_header_HQ.png","width":550,"height":130,"caption":"RepScan"},"image":{"@id":"https:\/\/www.repscan.com\/es\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.repscan.com\/es\/wp-json\/wp\/v2\/pages\/51379","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.repscan.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.repscan.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.repscan.com\/es\/wp-json\/wp\/v2\/users\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/www.repscan.com\/es\/wp-json\/wp\/v2\/comments?post=51379"}],"version-history":[{"count":0,"href":"https:\/\/www.repscan.com\/es\/wp-json\/wp\/v2\/pages\/51379\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.repscan.com\/es\/wp-json\/wp\/v2\/media?parent=51379"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}