{"id":33197,"date":"2025-08-14T10:54:44","date_gmt":"2025-08-14T10:54:44","guid":{"rendered":"https:\/\/resawod.com\/precios-resawod\/"},"modified":"2026-05-26T09:05:55","modified_gmt":"2026-05-26T09:05:55","slug":"precios","status":"publish","type":"page","link":"https:\/\/resawod.com\/es\/precios\/","title":{"rendered":"Precios &#8211; Resawod"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"33197\" class=\"elementor elementor-33197 elementor-31632\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b0a2188 e-flex e-con-boxed e-con e-parent\" data-id=\"b0a2188\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-aa0ea05 elementor-widget elementor-widget-html\" data-id=\"aa0ea05\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!doctype html>\r\n<html lang=\"es\">\r\n<head>\r\n<meta charset=\"utf-8\" \/>\r\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" \/>\r\n<title>Precios \u00b7 Resawod<\/title>\r\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Raleway:wght@400;500;600;700&display=swap\" \/>\r\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,300,0,0\" \/>\r\n<style>\r\n  \/* ---------- NDS tokens (inlined so the page is self-contained) ---------- *\/\r\n  :root {\r\n    --nds-tabata:     #F8AF20;\r\n    --nds-chipper:    #05C657;\r\n    --nds-snatch:     #00A1DE;\r\n    --nds-boxblue:    #21405A;\r\n    --nds-boxblue-80: #4D667B;\r\n    --nds-boxblue-60: #7A8C9C;\r\n    --nds-boxblue-40: #A6B3BD;\r\n    --nds-boxblue-20: #D3D9DE;\r\n    --nds-pizarra:    #EEF0F8;\r\n    --nds-white:      #FFFFFF;\r\n    --nds-bg:         var(--nds-pizarra);\r\n\r\n    --nds-text:           var(--nds-boxblue);\r\n    --nds-text-secondary: var(--nds-boxblue-60);\r\n    --nds-text-muted:     var(--nds-boxblue-40);\r\n\r\n    --nds-border:        var(--nds-boxblue-20);\r\n    --nds-border-strong: var(--nds-boxblue-40);\r\n\r\n    --nds-radius:      6px;\r\n    --nds-radius-pill: 999px;\r\n\r\n    --nds-shadow-sm:   0 1px 2px rgba(33, 64, 90, 0.06);\r\n    --nds-shadow-card: 0 1px 3px rgba(33, 64, 90, 0.08), 0 1px 2px rgba(33, 64, 90, 0.04);\r\n\r\n    --nds-dkt-3: 40px;\r\n\r\n    --nds-font: 'Raleway', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\r\n    --nds-w-regular:  400;\r\n    --nds-w-medium:   500;\r\n    --nds-w-semibold: 600;\r\n    --nds-w-bold:     700;\r\n\r\n    --nds-size-body: 16px;\r\n    --nds-size-h1:   50px;\r\n  }\r\n  \/* ---------- Reset & shell ---------- *\/\r\n  *,*::before,*::after { box-sizing: border-box; }\r\n  html, body { margin: 0; padding: 0; }\r\n  body {\r\n    background: var(--nds-bg);\r\n    color: var(--nds-text);\r\n    font-family: var(--nds-font);\r\n    font-size: var(--nds-size-body);\r\n    line-height: 1.5;\r\n  }\r\n  a { color: inherit; text-decoration: none; }\r\n  button { font-family: inherit; }\r\n\r\n  .container { width: min(1200px, calc(100% - 48px)); margin-inline: auto; }\r\n\r\n  \/* ---------- Buttons ---------- *\/\r\n  .btn {\r\n    display: inline-flex; align-items: center; justify-content: center; gap: 6px;\r\n    border: 0; border-radius: var(--nds-radius);\r\n    padding: 10px 18px;\r\n    font-family: inherit; font-weight: var(--nds-w-semibold); font-size: 14px;\r\n    cursor: pointer;\r\n    transition: background .15s ease, color .15s ease, transform .04s ease;\r\n    white-space: nowrap;\r\n  }\r\n  .btn:active { transform: translateY(1px); }\r\n  .btn-primary { background: var(--nds-boxblue); color: var(--nds-white); }\r\n  .btn-primary:hover { background: var(--nds-boxblue-80); }\r\n  .btn-tabata { background: var(--nds-tabata); color: var(--nds-boxblue); }\r\n  .btn-tabata:hover { background: #E89F10; }\r\n  .btn-ghost {\r\n    background: transparent; color: var(--nds-boxblue);\r\n    border: 1px solid var(--nds-border-strong);\r\n  }\r\n  .btn-ghost:hover { background: var(--nds-pizarra); }\r\n  .btn-lg { padding: 14px 24px; font-size: 15px; }\r\n\r\n  \/* ---------- Hero ---------- *\/\r\n  .hero { padding: 56px 0 32px; position: relative; overflow: hidden; }\r\n  .hero-eyebrow {\r\n    display: inline-flex; align-items: center; gap: 8px;\r\n    padding: 6px 12px; border-radius: var(--nds-radius-pill);\r\n    background: var(--nds-white); border: 1px solid var(--nds-border);\r\n    font-size: 13px; color: var(--nds-boxblue-80);\r\n    font-weight: var(--nds-w-medium);\r\n    box-shadow: var(--nds-shadow-sm);\r\n  }\r\n  .hero-eyebrow .dot {\r\n    width: 8px; height: 8px; border-radius: 50%;\r\n    background: var(--nds-chipper);\r\n    box-shadow: 0 0 0 3px rgba(5,198,87,.15);\r\n  }\r\n  .hero h1 {\r\n    font: var(--nds-w-bold) clamp(36px, 5vw, var(--nds-size-h1))\/1.05 var(--nds-font);\r\n    color: var(--nds-text); letter-spacing: -0.02em;\r\n    margin: 16px 0 12px; max-width: 800px;\r\n    text-wrap: balance;\r\n  }\r\n  .hero h1 em {\r\n    font-style: normal;\r\n    background: linear-gradient(180deg, transparent 60%, rgba(248,175,32,.45) 60%);\r\n    padding: 0 2px;\r\n  }\r\n  .hero-sub {\r\n    max-width: 640px; font-size: 18px;\r\n    color: var(--nds-boxblue-80); line-height: 1.55;\r\n    margin: 0;\r\n  }\r\n\r\n  \/* ---------- Atletas slider widget ---------- *\/\r\n  .calc {\r\n    margin-top: 32px;\r\n    background: var(--nds-white);\r\n    border: 1px solid var(--nds-border);\r\n    border-radius: 12px;\r\n    padding: 20px 24px;\r\n    display: grid;\r\n    grid-template-columns: 1fr auto;\r\n    gap: 24px;\r\n    align-items: center;\r\n    box-shadow: var(--nds-shadow-card);\r\n    max-width: 760px;\r\n  }\r\n  .calc-label {\r\n    font-size: 13px;\r\n    text-transform: uppercase; letter-spacing: 0.06em;\r\n    color: var(--nds-text-secondary);\r\n    font-weight: var(--nds-w-semibold);\r\n    margin-bottom: 8px;\r\n  }\r\n  .calc-value {\r\n    font-weight: var(--nds-w-bold); font-size: 26px;\r\n    color: var(--nds-boxblue); letter-spacing: -0.01em;\r\n  }\r\n  .calc-value small {\r\n    font-size: 14px; font-weight: var(--nds-w-medium);\r\n    color: var(--nds-boxblue-60); margin-left: 4px;\r\n  }\r\n  .slider {\r\n    -webkit-appearance: none; appearance: none;\r\n    width: 100%; height: 6px; border-radius: 999px;\r\n    background: var(--nds-pizarra);\r\n    outline: none; margin-top: 12px;\r\n  }\r\n  .slider::-webkit-slider-runnable-track {\r\n    height: 6px; border-radius: 999px;\r\n    background: linear-gradient(to right, var(--nds-tabata) 0%, var(--nds-tabata) var(--p,40%), var(--nds-boxblue-20) var(--p,40%));\r\n  }\r\n  .slider::-moz-range-track {\r\n    height: 6px; border-radius: 999px;\r\n    background: linear-gradient(to right, var(--nds-tabata) 0%, var(--nds-tabata) var(--p,40%), var(--nds-boxblue-20) var(--p,40%));\r\n  }\r\n  .slider::-webkit-slider-thumb {\r\n    -webkit-appearance: none; appearance: none;\r\n    width: 22px; height: 22px; border-radius: 50%;\r\n    background: var(--nds-white);\r\n    border: 3px solid var(--nds-boxblue);\r\n    cursor: grab;\r\n    margin-top: -8px;\r\n    box-shadow: var(--nds-shadow-sm);\r\n  }\r\n  .slider::-moz-range-thumb {\r\n    width: 22px; height: 22px; border-radius: 50%;\r\n    background: var(--nds-white);\r\n    border: 3px solid var(--nds-boxblue);\r\n    cursor: grab;\r\n  }\r\n  .calc-pick {\r\n    text-align: right;\r\n  }\r\n  .calc-pick .small {\r\n    font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em;\r\n    color: var(--nds-text-secondary); font-weight: var(--nds-w-semibold);\r\n  }\r\n  .calc-pick .plan-name {\r\n    font-weight: var(--nds-w-bold); font-size: 22px;\r\n    color: var(--nds-boxblue); letter-spacing: -0.01em;\r\n    margin-top: 4px;\r\n    max-width: 240px;\r\n    text-wrap: balance;\r\n    line-height: 1.15;\r\n  }\r\n  .calc-pick .plan-name.long { font-size: 18px; }\r\n  .calc-pick .plan-sub {\r\n    font-size: 12px;\r\n    font-weight: var(--nds-w-semibold);\r\n    color: var(--nds-boxblue-60);\r\n    margin-top: 4px;\r\n    letter-spacing: 0;\r\n  }\r\n  .calc-pick .plan-sub:empty { display: none; }\r\n\r\n  \/* Trhade question row inside calc *\/\r\n  .calc-toggle-row {\r\n    margin-top: 18px;\r\n    padding-top: 16px;\r\n    border-top: 1px solid var(--nds-border);\r\n    display: flex; justify-content: space-between; align-items: center;\r\n    gap: 16px; flex-wrap: wrap;\r\n  }\r\n  .calc-toggle-row .calc-label { margin: 0; }\r\n  .calc-toggle-label { min-width: 0; }\r\n  .calc-toggle-hint {\r\n    font-size: 12px;\r\n    color: var(--nds-boxblue-60);\r\n    margin-top: 4px;\r\n    font-weight: var(--nds-w-medium);\r\n    text-transform: none;\r\n    letter-spacing: 0;\r\n  }\r\n  .seg {\r\n    display: inline-flex;\r\n    background: var(--nds-pizarra);\r\n    border-radius: 999px;\r\n    padding: 3px;\r\n    gap: 2px;\r\n  }\r\n  .seg-opt {\r\n    background: transparent; border: 0;\r\n    padding: 7px 18px;\r\n    border-radius: 999px;\r\n    font-size: 13px;\r\n    font-weight: var(--nds-w-semibold);\r\n    color: var(--nds-boxblue-60);\r\n    cursor: pointer;\r\n    transition: background .15s, color .15s, box-shadow .15s;\r\n    font-family: inherit;\r\n  }\r\n  .seg-opt:hover { color: var(--nds-boxblue); }\r\n  .seg-opt.active {\r\n    background: var(--nds-white);\r\n    color: var(--nds-boxblue);\r\n    box-shadow: var(--nds-shadow-sm);\r\n  }\r\n\r\n  \/* Vanilla Tweaks panel *\/\r\n  .tweaks-panel {\r\n    position: fixed; right: 20px; bottom: 20px;\r\n    z-index: 100;\r\n    width: 280px;\r\n    background: var(--nds-white);\r\n    border: 1px solid var(--nds-border);\r\n    border-radius: 12px;\r\n    box-shadow: 0 12px 32px rgba(33,64,90,.15);\r\n    padding: 16px 18px 14px;\r\n    font-family: inherit;\r\n    display: none;\r\n  }\r\n  .tweaks-panel.open { display: block; }\r\n  .tweaks-panel-head {\r\n    display: flex; justify-content: space-between; align-items: center;\r\n    margin-bottom: 12px;\r\n  }\r\n  .tweaks-panel-title {\r\n    font-size: 13px; font-weight: var(--nds-w-bold);\r\n    text-transform: uppercase; letter-spacing: 0.08em;\r\n    color: var(--nds-boxblue);\r\n  }\r\n  .tweaks-panel-close {\r\n    background: transparent; border: 0; cursor: pointer;\r\n    color: var(--nds-boxblue-60);\r\n    width: 24px; height: 24px; border-radius: 6px;\r\n    display: grid; place-items: center;\r\n  }\r\n  .tweaks-panel-close:hover { background: var(--nds-pizarra); color: var(--nds-boxblue); }\r\n  .tweaks-panel-row {\r\n    display: flex; justify-content: space-between; align-items: center;\r\n    gap: 12px;\r\n    padding: 8px 0;\r\n  }\r\n  .tweaks-panel-row .label {\r\n    font-size: 13px; color: var(--nds-boxblue);\r\n    font-weight: var(--nds-w-medium); line-height: 1.3;\r\n  }\r\n  .tweaks-panel-row .hint {\r\n    font-size: 11px; color: var(--nds-boxblue-60);\r\n    margin-top: 2px;\r\n  }\r\n  \/* Mini toggle *\/\r\n  .mini-toggle {\r\n    position: relative;\r\n    width: 36px; height: 20px;\r\n    background: var(--nds-pizarra);\r\n    border-radius: 999px;\r\n    cursor: pointer;\r\n    border: 0; padding: 0;\r\n    flex: none;\r\n    transition: background .15s;\r\n  }\r\n  .mini-toggle::after {\r\n    content: ''; position: absolute;\r\n    top: 2px; left: 2px;\r\n    width: 16px; height: 16px; border-radius: 50%;\r\n    background: var(--nds-white);\r\n    box-shadow: var(--nds-shadow-sm);\r\n    transition: transform .18s ease;\r\n  }\r\n  .mini-toggle.on { background: var(--nds-boxblue); }\r\n  .mini-toggle.on::after { transform: translateX(16px); }\r\n\r\n  \/* ---------- Plan grid ---------- *\/\r\n  .plans-section { padding: 32px 0 80px; }\r\n  .plans-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(4, 1fr);\r\n    gap: 16px;\r\n    margin-top: 32px;\r\n  }\r\n  .plan {\r\n    background: var(--nds-white);\r\n    border: 1px solid var(--nds-border);\r\n    border-radius: 12px;\r\n    padding: 28px 24px 24px;\r\n    display: flex; flex-direction: column;\r\n    box-shadow: var(--nds-shadow-card);\r\n    position: relative;\r\n    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;\r\n  }\r\n  .plan.recommended {\r\n    border-color: var(--nds-tabata);\r\n    box-shadow: 0 0 0 3px rgba(248,175,32,.18), var(--nds-shadow-card);\r\n  }\r\n  .plan.match {\r\n    border-color: var(--nds-boxblue);\r\n    box-shadow: 0 0 0 3px rgba(33,64,90,.10), var(--nds-shadow-card);\r\n    transform: translateY(-2px);\r\n  }\r\n  .plan.recommended.match {\r\n    border-color: var(--nds-tabata);\r\n    box-shadow: 0 0 0 4px rgba(248,175,32,.28), 0 8px 24px rgba(33,64,90,.10);\r\n  }\r\n  .ribbon {\r\n    position: absolute; top: -11px; left: 24px;\r\n    background: var(--nds-tabata); color: var(--nds-boxblue);\r\n    font-size: 11px; font-weight: var(--nds-w-bold);\r\n    text-transform: uppercase; letter-spacing: 0.08em;\r\n    padding: 5px 10px; border-radius: var(--nds-radius);\r\n  }\r\n  .plan-head .name {\r\n    font-weight: var(--nds-w-bold); font-size: 22px;\r\n    color: var(--nds-boxblue); letter-spacing: -0.01em;\r\n  }\r\n  .plan-head .tagline {\r\n    font-size: 13px; color: var(--nds-boxblue-60);\r\n    margin: 4px 0 18px; min-height: 36px;\r\n  }\r\n  .meta-pill {\r\n    display: inline-flex; align-items: center; gap: 6px;\r\n    padding: 6px 10px;\r\n    background: var(--nds-pizarra);\r\n    border-radius: var(--nds-radius);\r\n    font-size: 12px; font-weight: var(--nds-w-semibold);\r\n    color: var(--nds-boxblue);\r\n    margin-bottom: 14px;\r\n    align-self: flex-start;\r\n  }\r\n  .meta-pill .material-symbols-outlined {\r\n    font-size: 14px; color: var(--nds-boxblue-60);\r\n  }\r\n  .meta-pill.highlight {\r\n    background: rgba(248,175,32,.15);\r\n    color: #8a5e08;\r\n  }\r\n  .meta-pill.highlight .material-symbols-outlined { color: #8a5e08; }\r\n  .price {\r\n    display: flex; align-items: baseline; gap: 4px;\r\n    color: var(--nds-boxblue);\r\n  }\r\n  .price .amount {\r\n    font-weight: var(--nds-w-bold); font-size: 44px;\r\n    letter-spacing: -0.03em; line-height: 1;\r\n  }\r\n  .price .per { font-size: 14px; color: var(--nds-boxblue-60); font-weight: var(--nds-w-medium); }\r\n  .price .currency { font-weight: var(--nds-w-semibold); font-size: 22px; }\r\n  .price-note {\r\n    font-size: 12px; color: var(--nds-boxblue-60);\r\n    margin: 10px 0 20px;\r\n    min-height: 32px;\r\n  }\r\n  .price-note strong { color: var(--nds-boxblue); font-weight: var(--nds-w-semibold); }\r\n\r\n  .features {\r\n    list-style: none; padding: 0; margin: 0;\r\n    display: grid; gap: 10px;\r\n  }\r\n  .features-wrap {\r\n    display: flex; flex-direction: column;\r\n    flex: 1;\r\n    border-top: 1px solid var(--nds-border);\r\n    padding-top: 18px;\r\n    margin-bottom: 18px;\r\n    gap: 16px;\r\n  }\r\n  .features li {\r\n    display: grid; grid-template-columns: 18px 1fr; gap: 10px;\r\n    font-size: 13.5px; color: var(--nds-boxblue-80);\r\n    line-height: 1.45;\r\n  }\r\n  .features li .material-symbols-outlined {\r\n    font-size: 18px; color: var(--nds-chipper);\r\n    font-variation-settings: 'wght' 500;\r\n  }\r\n\r\n  \/* Trhade module \u2014 contained, distinct from main feature list *\/\r\n  .features-trhade {\r\n    background: var(--nds-pizarra);\r\n    border: 1px solid var(--nds-border);\r\n    border-radius: 10px;\r\n    padding: 14px 14px 12px;\r\n  }\r\n  .features-trhade.included {\r\n    background: rgba(248,175,32,.07);\r\n    border-color: rgba(248,175,32,.32);\r\n  }\r\n  .features-trhade .features { gap: 7px; }\r\n  .features-trhade .features li {\r\n    font-size: 13px;\r\n    color: var(--nds-boxblue);\r\n  }\r\n  .features-trhade .features li .material-symbols-outlined { font-size: 16px; }\r\n\r\n  .features-divider {\r\n    font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em;\r\n    color: var(--nds-text-muted); font-weight: var(--nds-w-bold);\r\n    margin: 0 0 10px;\r\n    display: inline-flex; align-items: center; gap: 6px;\r\n  }\r\n  .features-divider.basic { color: #8a5e08; }\r\n  .features-divider.basic::before {\r\n    content: 'bolt'; font-family: 'Material Symbols Outlined';\r\n    font-size: 14px;\r\n    font-variation-settings: 'FILL' 1, 'wght' 600;\r\n  }\r\n  .features-divider.muted {\r\n    color: var(--nds-boxblue-60);\r\n  }\r\n\r\n  \/* Upsell variant for plans without Trhade *\/\r\n  .features-trhade.upsell-clickable {\r\n    cursor: pointer;\r\n    transition: border-color .15s ease, background .15s ease, transform .15s ease;\r\n  }\r\n  .features-trhade.upsell-clickable:hover {\r\n    border-color: var(--nds-tabata);\r\n    background: rgba(248,175,32,.06);\r\n  }\r\n  .features-trhade.upsell-clickable:hover .trhade-lock {\r\n    background: var(--nds-tabata);\r\n    border-color: var(--nds-tabata);\r\n  }\r\n  .features-trhade.upsell-clickable:hover .trhade-lock .material-symbols-outlined {\r\n    color: var(--nds-boxblue);\r\n  }\r\n  .features-trhade.upsell-clickable:hover .trhade-up-cta {\r\n    color: var(--nds-tabata);\r\n  }\r\n  .trhade-upsell {\r\n    display: grid;\r\n    grid-template-columns: 32px 1fr;\r\n    gap: 10px;\r\n    align-items: start;\r\n  }\r\n  .trhade-lock {\r\n    width: 32px; height: 32px; border-radius: 8px;\r\n    background: var(--nds-white);\r\n    border: 1px solid var(--nds-border);\r\n    display: grid; place-items: center;\r\n    transition: background .15s ease, border-color .15s ease;\r\n  }\r\n  .trhade-lock .material-symbols-outlined {\r\n    font-size: 16px; color: var(--nds-boxblue-60);\r\n    font-variation-settings: 'wght' 500;\r\n    transition: color .15s ease;\r\n  }\r\n  .trhade-up-title {\r\n    font-weight: var(--nds-w-semibold);\r\n    font-size: 13px;\r\n    color: var(--nds-boxblue);\r\n    margin-bottom: 2px;\r\n    letter-spacing: -0.005em;\r\n    display: flex; align-items: center; gap: 6px;\r\n    flex-wrap: wrap;\r\n  }\r\n  .trhade-up-delta {\r\n    font-size: 11px;\r\n    font-weight: var(--nds-w-bold);\r\n    color: #8a5e08;\r\n    background: rgba(248,175,32,.18);\r\n    padding: 2px 7px;\r\n    border-radius: 999px;\r\n    letter-spacing: 0;\r\n    white-space: nowrap;\r\n  }\r\n  .trhade-up-sub {\r\n    font-size: 12px;\r\n    color: var(--nds-boxblue-60);\r\n    line-height: 1.45;\r\n  }\r\n  .trhade-up-sub strong {\r\n    color: var(--nds-boxblue);\r\n    font-weight: var(--nds-w-semibold);\r\n  }\r\n  .trhade-up-cta {\r\n    margin-top: 6px;\r\n    font-size: 12px;\r\n    font-weight: var(--nds-w-semibold);\r\n    color: var(--nds-boxblue);\r\n    display: inline-flex; align-items: center; gap: 3px;\r\n    transition: color .15s ease;\r\n  }\r\n  .trhade-up-cta .material-symbols-outlined { font-size: 14px; }\r\n\r\n  \/* Premium card flash when upsell is clicked *\/\r\n  @keyframes premiumFlash {\r\n    0%   { box-shadow: 0 0 0 3px rgba(248,175,32,.18), var(--nds-shadow-card); }\r\n    35%  { box-shadow: 0 0 0 8px rgba(248,175,32,.55), 0 12px 32px rgba(248,175,32,.25); }\r\n    100% { box-shadow: 0 0 0 3px rgba(248,175,32,.18), var(--nds-shadow-card); }\r\n  }\r\n  .plan.recommended.flash { animation: premiumFlash 1.2s ease-out; }\r\n\r\n  \/* Addon banner match + flash (when \"Avanzado\" is selected) *\/\r\n  .addon.match {\r\n    box-shadow: 0 0 0 3px rgba(248,175,32,.32), 0 12px 32px rgba(33,64,90,.18);\r\n  }\r\n  @keyframes addonFlash {\r\n    0%   { box-shadow: 0 0 0 0 rgba(248,175,32,0); }\r\n    35%  { box-shadow: 0 0 0 10px rgba(248,175,32,.55), 0 16px 36px rgba(248,175,32,.30); }\r\n    100% { box-shadow: 0 0 0 3px rgba(248,175,32,.32), 0 12px 32px rgba(33,64,90,.18); }\r\n  }\r\n  .addon.flash { animation: addonFlash 1.2s ease-out; }\r\n\r\n  .plan .btn { width: 100%; margin-top: auto; }\r\n\r\n  \/* ---------- Add-on banner (Premium +  Trhade PRO) ---------- *\/\r\n  .addon {\r\n    margin-top: 28px;\r\n    background: var(--nds-boxblue);\r\n    color: var(--nds-white);\r\n    border-radius: 12px;\r\n    padding: 32px;\r\n    display: grid;\r\n    grid-template-columns: 1.1fr 1.4fr;\r\n    gap: 40px;\r\n    align-items: center;\r\n    position: relative;\r\n    overflow: hidden;\r\n  }\r\n  .addon::before {\r\n    content: ''; position: absolute;\r\n    right: -80px; top: -80px;\r\n    width: 280px; height: 280px;\r\n    background: radial-gradient(circle at center, rgba(248,175,32,.25), transparent 70%);\r\n    pointer-events: none;\r\n  }\r\n  .addon-tag {\r\n    display: inline-flex; align-items: center; gap: 6px;\r\n    padding: 4px 10px; border-radius: var(--nds-radius-pill);\r\n    background: rgba(248,175,32,.18); color: var(--nds-tabata);\r\n    font-size: 11px; font-weight: var(--nds-w-bold);\r\n    text-transform: uppercase; letter-spacing: 0.08em;\r\n  }\r\n  .addon h3 {\r\n    font: var(--nds-w-bold) 28px\/1.15 var(--nds-font);\r\n    color: var(--nds-white); margin: 12px 0 8px;\r\n    letter-spacing: -0.01em;\r\n  }\r\n  .addon p {\r\n    color: var(--nds-boxblue-20); font-size: 15px;\r\n    margin: 0 0 20px; max-width: 380px;\r\n  }\r\n  .addon .price .amount,\r\n  .addon .price .currency { color: var(--nds-white); }\r\n  .addon .price .per { color: var(--nds-boxblue-20); }\r\n  .addon .btn-tabata { margin-top: 16px; }\r\n  .tier-table {\r\n    background: rgba(255,255,255,.06);\r\n    border: 1px solid rgba(255,255,255,.08);\r\n    border-radius: var(--nds-radius);\r\n    overflow: hidden;\r\n    position: relative; z-index: 1;\r\n  }\r\n  .tier-row {\r\n    display: grid; grid-template-columns: 1fr auto;\r\n    padding: 14px 18px;\r\n    font-size: 14px;\r\n    border-bottom: 1px solid rgba(255,255,255,.08);\r\n  }\r\n  .tier-row:last-child { border-bottom: 0; }\r\n  .tier-row .users { color: var(--nds-boxblue-20); }\r\n  .tier-row .cost {\r\n    color: var(--nds-white); font-weight: var(--nds-w-semibold);\r\n    font-variant-numeric: tabular-nums;\r\n  }\r\n  .tier-row.included .cost { color: var(--nds-chipper); }\r\n\r\n  \/* ---------- Compare strip ---------- *\/\r\n  .compare-strip {\r\n    margin-top: 28px;\r\n    padding: 18px 24px;\r\n    background: var(--nds-white);\r\n    border: 1px dashed var(--nds-border-strong);\r\n    border-radius: var(--nds-radius);\r\n    display: flex; align-items: center; gap: 16px;\r\n    justify-content: space-between;\r\n    flex-wrap: wrap;\r\n  }\r\n  .compare-strip .ico {\r\n    width: 36px; height: 36px; border-radius: var(--nds-radius);\r\n    background: var(--nds-pizarra);\r\n    display: grid; place-items: center; flex: none;\r\n  }\r\n  .compare-strip .ico .material-symbols-outlined {\r\n    font-size: 20px; color: var(--nds-boxblue);\r\n  }\r\n  .compare-strip .copy {\r\n    display: flex; align-items: center; gap: 14px;\r\n    flex: 1; min-width: 0;\r\n  }\r\n  .compare-strip .text {\r\n    font-size: 14px; color: var(--nds-boxblue-80); line-height: 1.4;\r\n  }\r\n  .compare-strip .text strong { color: var(--nds-boxblue); font-weight: var(--nds-w-semibold); }\r\n  .compare-strip .compare-cta {\r\n    display: inline-flex; align-items: center; gap: 4px;\r\n    font-size: 14px; font-weight: var(--nds-w-semibold);\r\n    color: var(--nds-boxblue);\r\n    text-decoration: underline; text-underline-offset: 3px;\r\n    text-decoration-color: var(--nds-tabata); text-decoration-thickness: 1.5px;\r\n    white-space: nowrap;\r\n  }\r\n  .compare-strip .compare-cta:hover { color: var(--nds-tabata); }\r\n\r\n \/* ---------- FAQ ---------- *\/\r\n  .faq-section {\r\n    background: var(--nds-white);\r\n    padding: 80px 0;\r\n    border-top: 1px solid var(--nds-border);\r\n  }\r\n  .faq-header {\r\n    display: grid; grid-template-columns: 1fr 1.4fr;\r\n    gap: 60px; margin-bottom: 40px;\r\n    align-items: end;\r\n  }\r\n  .faq-header h2 {\r\n    font: var(--nds-w-bold) clamp(28px, 3.4vw, 40px)\/1.1 var(--nds-font);\r\n    margin: 0; letter-spacing: -0.02em;\r\n    text-wrap: balance;\r\n  }\r\n  .faq-header p {\r\n    margin: 0; font-size: 16px; color: var(--nds-boxblue-60);\r\n    line-height: 1.6;\r\n  }\r\n  .faq {\r\n    display: grid;\r\n    grid-template-columns: repeat(2, 1fr);\r\n    gap: 8px 32px;\r\n  }\r\n  details {\r\n    border-bottom: 1px solid var(--nds-border);\r\n    padding: 18px 0;\r\n    transition: background .2s ease;\r\n  }\r\n  details > summary {\r\n    cursor: pointer; list-style: none;\r\n    display: flex; align-items: center; justify-content: space-between;\r\n    gap: 16px;\r\n    font-weight: var(--nds-w-semibold); font-size: 16px;\r\n    color: var(--nds-boxblue);\r\n    padding: 4px 0;\r\n  }\r\n  details > summary::-webkit-details-marker { display: none; }\r\n  details > summary .chev {\r\n    width: 28px; height: 28px; border-radius: 50%;\r\n    background: var(--nds-pizarra);\r\n    display: grid; place-items: center;\r\n    transition: transform .25s ease, background .15s ease;\r\n    flex: none;\r\n  }\r\n  details > summary .chev .material-symbols-outlined {\r\n    font-size: 18px; color: var(--nds-boxblue);\r\n  }\r\n  details[open] > summary .chev { transform: rotate(180deg); background: var(--nds-boxblue); }\r\n  details[open] > summary .chev .material-symbols-outlined { color: var(--nds-tabata); }\r\n  details > .answer {\r\n    margin: 12px 0 0; padding-right: 44px;\r\n    color: var(--nds-boxblue-80); font-size: 15px;\r\n    line-height: 1.6;\r\n  }\r\n  details > .answer p { margin: 0 0 8px; }\r\n  details > .answer p:last-child { margin-bottom: 0; }\r\n   .faq details > summary h3 {\r\n    display: inline;\r\n    font-size: inherit;\r\n    font-weight: inherit;\r\n    color: inherit;\r\n    margin: 0;\r\n    padding: 0;\r\n    line-height: inherit;\r\n  }\r\n \r\n\r\n  \/* ---------- CTA strip ---------- *\/\r\n  .cta-strip {\r\n    background: var(--nds-pizarra);\r\n    padding: 80px 0;\r\n  }\r\n  .cta-card {\r\n    background: var(--nds-boxblue);\r\n    color: var(--nds-white);\r\n    border-radius: 16px;\r\n    padding: 56px;\r\n    display: grid;\r\n    grid-template-columns: 1.4fr 1fr;\r\n    align-items: center; gap: 40px;\r\n    position: relative; overflow: hidden;\r\n  }\r\n  .cta-card::before {\r\n    content: 'R'; position: absolute;\r\n    right: -40px; bottom: -120px;\r\n    font-family: var(--nds-font); font-weight: var(--nds-w-bold);\r\n    font-size: 480px; line-height: 1;\r\n    color: rgba(248,175,32,.10);\r\n    letter-spacing: -0.06em;\r\n    pointer-events: none; user-select: none;\r\n  }\r\n  .cta-card h2 {\r\n    font: var(--nds-w-bold) clamp(28px, 3.4vw, 42px)\/1.1 var(--nds-font);\r\n    color: var(--nds-white); margin: 0 0 12px;\r\n    letter-spacing: -0.01em; text-wrap: balance;\r\n  }\r\n  .cta-card p {\r\n    color: var(--nds-boxblue-20); font-size: 17px;\r\n    line-height: 1.55; margin: 0 0 24px;\r\n    max-width: 480px;\r\n  }\r\n  .cta-actions { display: flex; gap: 12px; flex-wrap: wrap; }\r\n  .cta-meta {\r\n    display: grid; gap: 16px; position: relative; z-index: 1;\r\n  }\r\n  .cta-meta .row {\r\n    display: flex; align-items: flex-start; gap: 12px;\r\n    color: var(--nds-white);\r\n  }\r\n  .cta-meta .row .ico {\r\n    width: 36px; height: 36px; border-radius: var(--nds-radius);\r\n    background: rgba(255,255,255,.08);\r\n    display: grid; place-items: center; flex: none;\r\n  }\r\n  .cta-meta .row .ico .material-symbols-outlined {\r\n    font-size: 20px; color: var(--nds-tabata);\r\n  }\r\n  .cta-meta .row .label {\r\n    font-size: 14px; color: var(--nds-boxblue-20); margin-bottom: 2px;\r\n  }\r\n  .cta-meta .row .val { font-weight: var(--nds-w-semibold); font-size: 15px; }\r\n\r\n  \/* ---------- Responsive ---------- *\/\r\n  @media (max-width: 1080px) {\r\n    .plans-grid { grid-template-columns: repeat(2, 1fr); }\r\n    .addon { grid-template-columns: 1fr; }\r\n    .faq-header { grid-template-columns: 1fr; gap: 16px; }\r\n    .faq { grid-template-columns: 1fr; }\r\n    .cta-card { grid-template-columns: 1fr; padding: 40px; }\r\n    .includes-bar { grid-template-columns: 1fr; gap: 16px; }\r\n  }\r\n  @media (max-width: 720px) {\r\n    .plans-grid { grid-template-columns: 1fr; }\r\n    .calc { grid-template-columns: 1fr; gap: 16px; }\r\n    .calc-pick { text-align: left; }\r\n    .cta-card { padding: 32px; }\r\n  }\r\n<\/style>\r\n<\/head>\r\n<body>\r\n\r\n<!-- ============ HERO ============ -->\r\n<section class=\"hero\">\r\n  <div class=\"container\">\r\n    <span class=\"hero-eyebrow\">\r\n      <span class=\"dot\"><\/span>\r\n      Sin permanencia \u00b7 Cancela cuando quieras\r\n    <\/span>\r\n    <h1>Precios pensados para crecer <em>contigo<\/em>, no contra ti.<\/h1>\r\n    <p class=\"hero-sub\">Compara funcionalidades y elige el plan de Resawod que mejor encaja con tu gimnasio. Sube o baja de plan en cualquier momento, sin letra peque\u00f1a.<\/p>\r\n\r\n    <!-- Atletas calculator -->\r\n    <div class=\"calc\">\r\n      <div>\r\n        <div class=\"calc-label\">\u00bfCu\u00e1ntos atletas activos tienes?<\/div>\r\n        <div class=\"calc-value\"><span id=\"userCount\">120<\/span><small> atletas activos<\/small><\/div>\r\n        <input id=\"userSlider\" class=\"slider\" type=\"range\" min=\"0\" max=\"400\" step=\"5\" value=\"120\" \/>\r\n\r\n        <div class=\"calc-toggle-row\" id=\"trhadeRow\">\r\n          <div class=\"calc-toggle-label\">\r\n            <div class=\"calc-label\">\u00bfProgramas entrenamientos o WODs?<\/div>\r\n            <div class=\"calc-toggle-hint\" id=\"trhadeHint\">Workouts predefinidos, whiteboard y narrowcast<\/div>\r\n          <\/div>\r\n          <div class=\"seg\" role=\"radiogroup\" aria-label=\"\u00bfProgramas entrenamientos?\">\r\n            <button class=\"seg-opt\" type=\"button\" data-trhade=\"no\" aria-pressed=\"false\">No<\/button>\r\n            <button class=\"seg-opt active\" type=\"button\" data-trhade=\"basic\" aria-pressed=\"true\">B\u00e1sico<\/button>\r\n            <button class=\"seg-opt\" type=\"button\" data-trhade=\"advanced\" aria-pressed=\"false\">Avanzado<\/button>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"calc-pick\">\r\n        <div class=\"small\">Te recomendamos<\/div>\r\n        <div class=\"plan-name\" id=\"recommendName\">Pro<\/div>\r\n        <div class=\"plan-sub\" id=\"recommendSub\"><\/div>\r\n        <button class=\"btn btn-primary\" style=\"margin-top:10px\">Ver plan recomendado<\/button>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ============ PLANS ============ -->\r\n<section class=\"plans-section\">\r\n  <div class=\"container\">\r\n    <!-- ============ INCLUDES ============ -->\r\n\r\n    <div class=\"plans-grid\" id=\"plansGrid\">\r\n\r\n      <!-- PayG -->\r\n      <article class=\"plan\" data-plan=\"payg\" data-min=\"0\" data-max=\"20\">\r\n        <div class=\"plan-head\">\r\n          <div class=\"name\">PayG<\/div>\r\n          <div class=\"tagline\">Sin coste fijo. Pagas solo cuando cobras.<\/div>\r\n        <\/div>\r\n        <div class=\"price\">\r\n          <span class=\"amount\">0<\/span><span class=\"currency\">\u20ac<\/span><span class=\"per\">\/ mes<\/span>\r\n        <\/div>\r\n        <div class=\"price-note\">Resapayments obligatorio \u00b7 0,25 \u20ac + 3,5 % por transacci\u00f3n<\/div>\r\n        <span class=\"meta-pill\"><span class=\"material-symbols-outlined\">groups<\/span> Atletas ilimitados<\/span>\r\n        <div class=\"features-wrap\">\r\n          <ul class=\"features features-main\">\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Calendarios y reservas<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Apps Resadmin (coach) y Resawod (socio)<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Bonos, abonos y cuotas<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Punto de venta online<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Facturaci\u00f3n e informes KPIs<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Comunicaci\u00f3n y workflows<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Control de accesos<\/li>\r\n          <\/ul>\r\n          <div class=\"features-trhade included\">\r\n            <div class=\"features-divider basic\">Trhade Basic incluido<\/div>\r\n            <ul class=\"features\">\r\n              <li><span class=\"material-symbols-outlined\">check<\/span>Whiteboard<\/li>\r\n              <li><span class=\"material-symbols-outlined\">check<\/span>Narrowcast<\/li>\r\n              <li><span class=\"material-symbols-outlined\">check<\/span>Biblioteca predefinida de workouts<\/li>\r\n              <li><span class=\"material-symbols-outlined\">check<\/span>Biblioteca predefinida de ejercicios<\/li>\r\n              <li><span class=\"material-symbols-outlined\">check<\/span>Biblioteca predefinida de equipamiento<\/li>\r\n            <\/ul>\r\n          <\/div>\r\n        <\/div>\r\n        <a href=\"https:\/\/resawod.com\/es\/demo\/\" class=\"btn btn-ghost\">Me interesa<\/a>\r\n      <\/article>\r\n\r\n      <!-- Starter -->\r\n      <article class=\"plan\" data-plan=\"starter\" data-min=\"1\" data-max=\"100\">\r\n        <div class=\"plan-head\">\r\n          <div class=\"name\">Starter<\/div>\r\n          <div class=\"tagline\">Para gimnasios que est\u00e1n empezando y no necesitan entrenamientos.<\/div>\r\n        <\/div>\r\n        <div class=\"price\">\r\n          <span class=\"amount\">72<\/span><span class=\"currency\">\u20ac<\/span><span class=\"per\">\/ mes<\/span>\r\n        <\/div>\r\n        <div class=\"price-note\">Tarifa plana mensual \u00b7 Resapayments opcional<\/div>\r\n        <span class=\"meta-pill\"><span class=\"material-symbols-outlined\">groups<\/span> Hasta 100 atletas activos<\/span>\r\n        <div class=\"features-wrap\">\r\n          <ul class=\"features features-main\">\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Calendarios y reservas<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Apps Resadmin (coach) y Resawod (socio)<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Bonos, abonos y cuotas<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Punto de venta online<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Facturaci\u00f3n e informes KPIs<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Comunicaci\u00f3n y workflows<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Control de accesos<\/li>\r\n          <\/ul>\r\n          <div class=\"features-trhade upsell-clickable\" data-jump-premium>\r\n            <div class=\"features-divider muted\">Trhade<\/div>\r\n            <div class=\"trhade-upsell\">\r\n              <div class=\"trhade-lock\"><span class=\"material-symbols-outlined\">lock<\/span><\/div>\r\n              <div>\r\n                <div class=\"trhade-up-title\">No incluido en Starter <span class=\"trhade-up-delta\">\r\n<\/span><\/div>\r\n                <div class=\"trhade-up-sub\">Whiteboard, narrowcast y bibliotecas predefinidas. Disponible desde el plan <strong>Premium<\/strong>.<\/div>\r\n                <div class=\"trhade-up-cta\">Ver Premium <span class=\"material-symbols-outlined\">arrow_forward<\/span><\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <a href=\"https:\/\/resawod.com\/es\/demo\/\" class=\"btn btn-ghost\">Me interesa<\/a>\r\n      <\/article>\r\n\r\n      <!-- Pro -->\r\n      <article class=\"plan\" data-plan=\"pro\" data-min=\"101\" data-max=\"250\">\r\n        <div class=\"plan-head\">\r\n          <div class=\"name\">Pro<\/div>\r\n          <div class=\"tagline\">Cuando tu gimnasio pasa de los 100 atletas y no necesitas entrenamientos<\/div>\r\n        <\/div>\r\n        <div class=\"price\">\r\n          <span class=\"amount\">99<\/span><span class=\"currency\">\u20ac<\/span><span class=\"per\">\/ mes<\/span>\r\n        <\/div>\r\n        <div class=\"price-note\">Tarifa plana mensual \u00b7 atletas sin l\u00edmite<\/div>\r\n        <span class=\"meta-pill\"><span class=\"material-symbols-outlined\">groups<\/span> Atletas ilimitados<\/span>\r\n        <div class=\"features-wrap\">\r\n          <ul class=\"features features-main\">\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Calendarios y reservas<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Apps Resadmin (coach) y Resawod (socio)<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Bonos, abonos y cuotas<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Punto de venta online<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Facturaci\u00f3n e informes KPIs<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Comunicaci\u00f3n y workflows<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Control de accesos<\/li>\r\n          <\/ul>\r\n          <div class=\"features-trhade upsell-clickable\" data-jump-premium>\r\n            <div class=\"features-divider muted\">Trhade<\/div>\r\n            <div class=\"trhade-upsell\">\r\n              <div class=\"trhade-lock\"><span class=\"material-symbols-outlined\">lock<\/span><\/div>\r\n              <div>\r\n                <div class=\"trhade-up-title\">No incluido en Pro <span class=\"trhade-up-delta\">\r\n<\/span><\/div>\r\n                <div class=\"trhade-up-sub\">Whiteboard, narrowcast y bibliotecas predefinidas. Disponible desde el plan <strong>Premium<\/strong>.<\/div>\r\n                <div class=\"trhade-up-cta\">Ver Premium <span class=\"material-symbols-outlined\">arrow_forward<\/span><\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <a href=\"https:\/\/resawod.com\/es\/demo\/\" class=\"btn btn-ghost\">Me interesa<\/a>\r\n      <\/article>\r\n\r\n      <!-- Premium (recommended) -->\r\n      <article class=\"plan recommended\" data-plan=\"premium\" data-min=\"251\" data-max=\"9999\">\r\n        <span class=\"ribbon\">M\u00e1s elegido<\/span>\r\n        <div class=\"plan-head\">\r\n          <div class=\"name\">Premium<\/div>\r\n          <div class=\"tagline\">Lo mismo que Pro con Trhade Basic incluido. Para gimnasios que necesitan entrenamientos b\u00e1sicos.<\/div>\r\n        <\/div>\r\n        <div class=\"price\">\r\n          <span class=\"amount\">115<\/span><span class=\"currency\">\u20ac<\/span><span class=\"per\">\/ mes<\/span>\r\n        <\/div>\r\n        <div class=\"price-note\">Pro + <strong>Trhade Basic<\/strong> incluido<\/div>\r\n        <span class=\"meta-pill\"><span class=\"material-symbols-outlined\">groups<\/span> Atletas ilimitados<\/span>\r\n        <div class=\"features-wrap\">\r\n          <ul class=\"features features-main\">\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Calendarios y reservas<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Apps Resadmin (coach) y Resawod (socio)<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Bonos, abonos y cuotas<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Punto de venta online<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Facturaci\u00f3n e informes KPIs<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Comunicaci\u00f3n y workflows<\/li>\r\n            <li><span class=\"material-symbols-outlined\">check<\/span>Control de accesos<\/li>\r\n          <\/ul>\r\n          <div class=\"features-trhade included\">\r\n            <div class=\"features-divider basic\">Trhade Basic incluido<\/div>\r\n            <ul class=\"features\">\r\n              <li><span class=\"material-symbols-outlined\">check<\/span>Whiteboard<\/li>\r\n              <li><span class=\"material-symbols-outlined\">check<\/span>Narrowcast<\/li>\r\n              <li><span class=\"material-symbols-outlined\">check<\/span>Biblioteca predefinida de workouts<\/li>\r\n              <li><span class=\"material-symbols-outlined\">check<\/span>Biblioteca predefinida de ejercicios<\/li>\r\n              <li><span class=\"material-symbols-outlined\">check<\/span>Biblioteca predefinida de equipamiento<\/li>\r\n            <\/ul>\r\n          <\/div>\r\n        <\/div>\r\n        <a href=\"https:\/\/resawod.com\/es\/demo\/\" class=\"btn btn-primary\">Me interesa<\/a>\r\n      <\/article>\r\n\r\n    <\/div>\r\n\r\n    <!-- ============ ADD-ON:  Trhade PRO ============ -->\r\n    <div class=\"addon\">\r\n      <div style=\"position:relative; z-index:1\">\r\n        <span class=\"addon-tag\">Add-on \u00b7  Trhade PRO<\/span>\r\n        <h3>Premium +  Trhade PRO<\/h3>\r\n        <p>Toda la gesti\u00f3n de Resawod Premium, potenciada con la fuerza de  Trhade PRO para llevar tus entrenamientos al siguiente nivel. Crea programaciones y planificaciones tanto para tus actividades como para atletas individuales. Configura el programador con tus propios workouts, ejercicios y equipamiento, y convierte Trhade en un reflejo real de tu metodolog\u00eda y forma de entrenar.<\/p>\r\n        <ul style=\"list-style:none; padding:0; margin:0 0 20px; display:grid; gap:8px;\">\r\n          <li style=\"display:flex; gap:8px; align-items:flex-start; font-size:14px; color:rgba(255,255,255,.85);\"><span class=\"material-symbols-outlined\" style=\"font-size:18px; color:var(--nds-tabata)\">add_circle<\/span> Entrenamientos personalizables y reutilizables<\/li>\r\n          <li style=\"display:flex; gap:8px; align-items:flex-start; font-size:14px; color:rgba(255,255,255,.85);\"><span class=\"material-symbols-outlined\" style=\"font-size:18px; color:var(--nds-tabata)\">add_circle<\/span> Ejercicios personalizables<\/li>\r\n          <li style=\"display:flex; gap:8px; align-items:flex-start; font-size:14px; color:rgba(255,255,255,.85);\"><span class=\"material-symbols-outlined\" style=\"font-size:18px; color:var(--nds-tabata)\">add_circle<\/span> Equipamiento personalizable<\/li>\r\n          <li style=\"display:flex; gap:8px; align-items:flex-start; font-size:14px; color:rgba(255,255,255,.85);\"><span class=\"material-symbols-outlined\" style=\"font-size:18px; color:var(--nds-tabata)\">add_circle<\/span> Gesti\u00f3n de atletas individuales<\/li>\r\n        <\/ul>\r\n        <div class=\"price\">\r\n          <span class=\"amount\">160<\/span><span class=\"currency\">\u20ac<\/span><span class=\"per\">\/ mes<\/span>\r\n        <\/div>\r\n        <a href=\"https:\/\/resawod.com\/es\/demo\/\" class=\"btn btn-tabata btn-lg\">Activar  Trhade PRO<\/a>\r\n      <\/div>\r\n      <div class=\"tier-table\">\r\n        <div class=\"tier-row included\">\r\n          <span class=\"users\">1 \u2013 5 atletas<\/span>\r\n          <span class=\"cost\">Incluidos<\/span>\r\n        <\/div>\r\n        <div class=\"tier-row\">\r\n          <span class=\"users\">6 \u2013 15 atletas<\/span>\r\n          <span class=\"cost\">+ 40 \u20ac \/ mes<\/span>\r\n        <\/div>\r\n        <div class=\"tier-row\">\r\n          <span class=\"users\">16 \u2013 30 atletas<\/span>\r\n          <span class=\"cost\">+ 65 \u20ac \/ mes<\/span>\r\n        <\/div>\r\n        <div class=\"tier-row\">\r\n          <span class=\"users\">31 \u2013 50 atletas<\/span>\r\n          <span class=\"cost\">+ 90 \u20ac \/ mes<\/span>\r\n        <\/div>\r\n        <div class=\"tier-row\">\r\n          <span class=\"users\">51+ atletas<\/span>\r\n          <span class=\"cost\">Consultar<\/span>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- ============ COMPARE STRIP ============ -->\r\n    <aside class=\"compare-strip\">\r\n      <div class=\"copy\">\r\n        <div class=\"ico\"><span class=\"material-symbols-outlined\">compare_arrows<\/span><\/div>\r\n        <div class=\"text\"><strong>\u00bfDudando entre Resawod y otro software?<\/strong> Mira c\u00f3mo nos comparamos punto por punto.<\/div>\r\n      <\/div>\r\n      <a href=\"https:\/es\/comparativa-software-gestion-gimnasios\/\" class=\"compare-cta\">\r\n        Ver comparativa\r\n        <span class=\"material-symbols-outlined\" style=\"font-size:16px\">arrow_forward<\/span>\r\n      <\/a>\r\n    <\/aside>\r\n  <\/div>\r\n<\/section>\r\n<section class=\"faq-section\">\r\n  <div class=\"container\">\r\n    <div class=\"faq-header\">\r\n      <h2>Preguntas frecuentes<\/h2>\r\n    <\/div>\r\n    <div class=\"faq\">\r\n      <details close>\r\n        <summary><h3>\u00bfPuedo probar Resawod antes de contratar?<\/h3><span class=\"chev\"><span class=\"material-symbols-outlined\">expand_more<\/span><\/span><\/summary>\r\n        <div class=\"answer\"><p>S\u00ed, ofrecemos una prueba gratuita para que puedas conocer el software con tu propio gimnasio antes de comprometerte. Solo tienes que solicitarla y el equipo te la activa. <\/p><\/div>\r\n      <\/details>\r\n      <details>\r\n        <summary><h3>\u00bfHay permanencia o puedo cancelar cuando quiera?<\/h3><span class=\"chev\"><span class=\"material-symbols-outlined\">expand_more<\/span><\/span><\/summary>\r\n        <div class=\"answer\"><p>No hay permanencia. Puedes cancelar tu plan en cualquier momento sin penalizaciones. Resawod funciona con suscripci\u00f3n, as\u00ed que si cancelas el servicio se mantiene activo hasta el final del per\u00edodo pagado. Sin letras peque\u00f1as.<\/p><\/div>\r\n      <\/details>\r\n      <details>\r\n        <summary><h3>\u00bfQu\u00e9 diferencia hay entre Starter, Pro y Premium?<\/h3><span class=\"chev\"><span class=\"material-symbols-outlined\">expand_more<\/span><\/span><\/summary>\r\n        <div class=\"answer\"><p><strong>Starter<\/strong> est\u00e1 pensado para centros de hasta 100 atletas. <strong>Pro<\/strong> es ideal cuando superas esa cifra y no necesitas programar entrenamientos en actividades, ni narrowcast, ni Trhade. <strong>Premium<\/strong> desbloquea todas las funcionalidades avanzadas con Trhade Basic incluido.<\/p><\/div>\r\n      <\/details>\r\n      <details>\r\n        <summary><h3>\u00bfEl precio incluye la app m\u00f3vil para mis atletas?<\/h3><span class=\"chev\"><span class=\"material-symbols-outlined\">expand_more<\/span><\/span><\/summary>\r\n        <div class=\"answer\"><p>S\u00ed, todos los planes incluyen las apps nativas para iOS y Android: Resadmin (para coaches) y Resawod (para atletas). Sin coste adicional por descargas ni por n\u00famero de usuarios.<\/p><\/div>\r\n      <\/details>\r\n      <details>\r\n        <summary><h3>\u00bfEn qu\u00e9 se diferencia Resawod de otros softwares?<\/h3><span class=\"chev\"><span class=\"material-symbols-outlined\">expand_more<\/span><\/span><\/summary>\r\n        <div class=\"answer\"><p>Resawod est\u00e1 dise\u00f1ado espec\u00edficamente para gimnasios funcionales: reservas por clase, control de equipamiento, bonos, accesos y Trhade para programaciones. Si est\u00e1s dudando entre nosotros y otro software, mira la <a href=\"https:\/\/resawod.com\/es\/comparativa-software-gestion-gimnasios\/\" style=\"color:var(--nds-boxblue); font-weight:var(--nds-w-semibold); text-decoration:underline; text-underline-offset:2px; text-decoration-color:var(--nds-tabata)\">comparativa<\/a> para verlo punto por punto.<\/p><\/div>\r\n      <\/details>\r\n      <details>\r\n        <summary><h3>\u00bfPuedo migrar desde otro software de gesti\u00f3n?<\/h3><span class=\"chev\"><span class=\"material-symbols-outlined\">expand_more<\/span><\/span><\/summary>\r\n        <div class=\"answer\"><p>S\u00ed. Nos encargamos de toda la migraci\u00f3n: te entregamos la plataforma lista para usar, llave en mano. No tienes que preocuparte hacer la transici\u00f3n t\u00fa solo, \u00fanicamente de enviarnos los datos necesarios. <\/p><\/div>\r\n      <\/details>\r\n      <details>\r\n        <summary><h3>\u00bfQu\u00e9 es Trhade y necesito Premium para usarlo?<\/h3><span class=\"chev\"><span class=\"material-symbols-outlined\">expand_more<\/span><\/span><\/summary>\r\n        <div class=\"answer\"><p>Trhade es el sistema de entrenamientos y h\u00e1bitos integrado en Resawod.\r\n\r\nCon Trhade Basic, incluido en el plan Premium, tendr\u00e1s acceso a una biblioteca predefinida de workouts y equipamiento para gestionar los entrenamientos de tus actividades. Podr\u00e1s crear entrenamientos personalizados, aunque no guardarlos en una biblioteca propia ni asignarlos a atletas individuales.\r\n\r\nCon Trhade PRO, desbloqueas una biblioteca totalmente personalizada y la gesti\u00f3n de planes individuales. Adem\u00e1s de programar entrenamientos para actividades, podr\u00e1s ofrecer programaci\u00f3n personalizada, seguimiento individual y nuevas l\u00edneas de negocio para tus atletas.\r\n\r\nTambi\u00e9n podr\u00e1s configurar todo el sistema a tu manera para que programar sea mucho m\u00e1s r\u00e1pido, c\u00f3modo y escalable. Guarda tus workouts, ejercicios con v\u00eddeo, equipamiento y programaciones, y reutil\u00edzalos de forma sistem\u00e1tica en tus planificaciones para ahorrar horas de trabajo y mantener una metodolog\u00eda consistente en todo tu gimnasio.<\/p><\/div>\r\n      <\/details>\r\n      <details>\r\n        <summary><h3>\u00bfC\u00f3mo funciona Resapayments y qu\u00e9 comisiones tiene?<\/h3><span class=\"chev\"><span class=\"material-symbols-outlined\">expand_more<\/span><\/span><\/summary>\r\n        <div class=\"answer\"><p>Resapayments es la pasarela de pago integrada. Te permite realizar pagos online autom\u00e1ticamente, procesar pagos con TPV o remesa bancaria y gestionar impagos sin salir del software. Al estar integrada, los impagos, penalizaciones y recargos se automatizan, evitando reservas o accesos cuando hay alg\u00fan problema de pago.<\/p><\/div>\r\n      <\/details>\r\n      <details>\r\n        <summary><h3>\u00bfCu\u00e1nto se tarda en poner en marcha el software?<\/h3><span class=\"chev\"><span class=\"material-symbols-outlined\">expand_more<\/span><\/span><\/summary>\r\n        <div class=\"answer\"><p>Una vez tenemos la informaci\u00f3n de tu gimnasio (actividades, abonos, bonos, usuarios, pagos), en <strong>15 d\u00edas<\/strong> te entregamos la plataforma lista, llave en mano. Cuanto m\u00e1s \u00e1gil seas compartiendo la informaci\u00f3n, antes tienes Resawod funcionando.<\/p><\/div>\r\n      <\/details>\r\n      <details>\r\n        <summary><h3>\u00bfTiene soporte en espa\u00f1ol?<\/h3><span class=\"chev\"><span class=\"material-symbols-outlined\">expand_more<\/span><\/span><\/summary>\r\n        <div class=\"answer\"><p>S\u00ed. El soporte est\u00e1 disponible en espa\u00f1ol, ingl\u00e9s, franc\u00e9s y alem\u00e1n, por tel\u00e9fono y email. Tambi\u00e9n te atendemos en euskera y catal\u00e1n. No externalizamos el soporte: el equipo conoce el producto en profundidad y est\u00e1 especializado en gimnasios funcionales.<\/p><\/div>\r\n      <\/details>\r\n      <details>\r\n        <summary><h3>\u00bfPuedo cambiar de plan si mi gimnasio crece?<\/h3><span class=\"chev\"><span class=\"material-symbols-outlined\">expand_more<\/span><\/span><\/summary>\r\n        <div class=\"answer\"><p>S\u00ed, puedes cambiar de plan en cualquier momento, tanto para subir como para bajar. Sin permanencia, sin penalizaciones y sin burocracia.<\/p><\/div>\r\n      <\/details>\r\n      <details>\r\n        <summary><h3>\u00bfQu\u00e9 pasa con mis datos si decido irme?<\/h3><span class=\"chev\"><span class=\"material-symbols-outlined\">expand_more<\/span><\/span><\/summary>\r\n        <div class=\"answer\"><p>Tus datos son tuyos en todo momento. Puedes exportarlos y descargarlos cuando quieras sin restricciones. Si decides irte, te facilitamos todos los datos y te damos tiempo para descargarlo todo antes de cerrar el acceso.<\/p><\/div>\r\n      <\/details>\r\n      <details>\r\n        <summary><h3>\u00bfQu\u00e9 incluye el control de accesos?<\/h3><span class=\"chev\"><span class=\"material-symbols-outlined\">expand_more<\/span><\/span><\/summary>\r\n        <div class=\"answer\"><p>Mucho m\u00e1s que abrir una puerta: automatiza completamente el acceso a tu gimnasio seg\u00fan horarios, reservas, bonos y estado de pago, todo sincronizado en tiempo real con Resawod.\r\n\r\nSi un bono caduca, existe un pago pendiente o no hay una reserva v\u00e1lida, el acceso se gestiona autom\u00e1ticamente sin intervenci\u00f3n manual. Tambi\u00e9n podr\u00e1s definir reglas avanzadas, como impedir la entrada sin reserva o limitar el acceso hasta un tiempo concreto antes de la actividad.\r\n\r\nAdem\u00e1s, te facilitamos todo el hardware necesario en formato alquiler, incluyendo Raspberry Pi y controladoras, para que tengas un sistema de acceso profesional, conectado y listo para funcionar.<\/p><\/div>\r\n      <\/details>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n\r\n<!-- ============ CTA STRIP ============ -->\r\n<section class=\"cta-strip\">\r\n  <div class=\"container\">\r\n    <div class=\"cta-card\">\r\n      <div style=\"position:relative; z-index:1\">\r\n        <h2>Cada gimnasio funciona de forma distinta.<\/h2>\r\n        <p>Solicita una demo y te mostramos c\u00f3mo se adaptar\u00eda Resawod a tu centro de entrenamiento.<\/p>\r\n        <div class=\"cta-actions\">\r\n          <a href=\"https:\/\/resawod.com\/es\/demo\/\" class=\"btn btn-tabata btn-lg\">Solicita tu demo<\/a>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"cta-meta\">\r\n        <div class=\"row\">\r\n          <div class=\"ico\"><span class=\"material-symbols-outlined\">schedule<\/span><\/div>\r\n          <div>\r\n            <div class=\"label\">Puesta en marcha<\/div>\r\n            <div class=\"val\">15 d\u00edas llave en mano<\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"row\">\r\n          <div class=\"ico\"><span class=\"material-symbols-outlined\">support_agent<\/span><\/div>\r\n          <div>\r\n            <div class=\"label\">Soporte humano<\/div>\r\n            <div class=\"val\">ES \u00b7 EN \u00b7 FR \u00b7 DE \u00b7 CAT \u00b7 EUS<\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"row\">\r\n          <div class=\"ico\"><span class=\"material-symbols-outlined\">verified_user<\/span><\/div>\r\n          <div>\r\n            <div class=\"label\">Sin permanencia<\/div>\r\n            <div class=\"val\">Cancela cuando quieras<\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ============ TWEAKS PANEL ============ -->\r\n<div class=\"tweaks-panel\" id=\"tweaksPanel\">\r\n  <div class=\"tweaks-panel-head\">\r\n    <div class=\"tweaks-panel-title\">Tweaks<\/div>\r\n    <button class=\"tweaks-panel-close\" id=\"tweaksClose\" aria-label=\"Cerrar\">\r\n      <span class=\"material-symbols-outlined\" style=\"font-size:18px\">close<\/span>\r\n    <\/button>\r\n  <\/div>\r\n  <div class=\"tweaks-panel-row\">\r\n    <div>\r\n      <div class=\"label\">Pregunta de Trhade<\/div>\r\n      <div class=\"hint\">Mostrar el toggle \u00bfprogramas entrenamientos? en el recomendador<\/div>\r\n    <\/div>\r\n    <button class=\"mini-toggle on\" id=\"tweakShowTrhade\" aria-pressed=\"true\" aria-label=\"Mostrar pregunta Trhade\"><\/button>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script data-cfasync=\"false\" src=\"\/cdn-cgi\/scripts\/5c5dd728\/cloudflare-static\/email-decode.min.js\"><\/script><script>\r\n  \/\/ ---------- Tweaks defaults ----------\r\n  const TWEAK_DEFAULTS = \/*EDITMODE-BEGIN*\/{\r\n    \"showTrhadeToggle\": true\r\n  }\/*EDITMODE-END*\/;\r\n  let tweaks = { ...TWEAK_DEFAULTS };\r\n\r\n  \/\/ ---------- Atletas calculator \u2192 recommended plan ----------\r\n  const slider = document.getElementById('userSlider');\r\n  const countEl = document.getElementById('userCount');\r\n  const recName = document.getElementById('recommendName');\r\n  const recSub = document.getElementById('recommendSub');\r\n  const plans = [...document.querySelectorAll('.plan')];\r\n  const trhadeRow = document.getElementById('trhadeRow');\r\n  const trhadeHint = document.getElementById('trhadeHint');\r\n  const segOpts = [...document.querySelectorAll('.seg-opt')];\r\n  const addon = document.querySelector('.addon');\r\n  let trhadeLevel = 'basic'; \/\/ 'no' | 'basic' | 'advanced'\r\n\r\n  const HINTS = {\r\n    no:       'Te recomendamos planes sin Trhade',\r\n    basic:    'Workouts predefinidos, whiteboard y narrowcast',\r\n    advanced: 'Workouts propios + planes individuales para atletas'\r\n  };\r\n\r\n  function pickPlan(n, level) {\r\n    if (level === 'advanced') {\r\n      \/\/ Few atletas: don't push the 160\u20ac add-on \u2014 recommend Starter + consult\r\n      if (n <= 100) return 'starter-consult';\r\n      return 'premium-pro';\r\n    }\r\n    if (level === 'basic') return 'premium';\r\n    if (n === 0) return 'payg';\r\n    if (n <= 100) return 'starter';\r\n    return 'pro';\r\n  }\r\n  \/\/ pick -> { plan card to highlight, title shown, sub shown, highlight addon? }\r\n  const RECS = {\r\n    payg:              { plan: 'payg',    title: 'PayG',    sub: '',                       addon: false },\r\n    starter:           { plan: 'starter', title: 'Starter', sub: '',                       addon: false },\r\n    pro:               { plan: 'pro',     title: 'Pro',     sub: '',                       addon: false },\r\n    premium:           { plan: 'premium', title: 'Premium', sub: '',                       addon: false },\r\n    'starter-consult': { plan: 'starter', title: 'Starter', sub: '+ Consultar Trhade',     addon: false },\r\n    'premium-pro':     { plan: 'premium', title: 'Premium', sub: '+ Trhade PRO',           addon: true  }\r\n  };\r\n\r\n  function update() {\r\n    const n = +slider.value;\r\n    countEl.textContent = n === 400 ? '400+' : n;\r\n    \/\/ when toggle is hidden via tweak, fall back to \"no\" so atletas drives the pick\r\n    const effLevel = tweaks.showTrhadeToggle ? trhadeLevel : 'no';\r\n    const pick = pickPlan(n, effLevel);\r\n    const rec = RECS[pick];\r\n    recName.textContent = rec.title;\r\n    recSub.textContent = rec.sub;\r\n    plans.forEach(p => p.classList.toggle('match', p.dataset.plan === rec.plan));\r\n    if (addon) addon.classList.toggle('match', rec.addon);\r\n    const pct = (n \/ +slider.max) * 100;\r\n    slider.style.setProperty('--p', pct + '%');\r\n  }\r\n  slider.addEventListener('input', update);\r\n  segOpts.forEach(b => {\r\n    b.addEventListener('click', () => {\r\n      segOpts.forEach(o => {\r\n        const on = o === b;\r\n        o.classList.toggle('active', on);\r\n        o.setAttribute('aria-pressed', on ? 'true' : 'false');\r\n      });\r\n      trhadeLevel = b.dataset.trhade;\r\n      trhadeHint.textContent = HINTS[trhadeLevel] || '';\r\n      update();\r\n    });\r\n  });\r\n  function applyTweaks() {\r\n    trhadeRow.style.display = tweaks.showTrhadeToggle ? '' : 'none';\r\n    update();\r\n  }\r\n  applyTweaks();\r\n\r\n  \/\/ Smooth-scroll the \"ver plan recomendado\" button to its card or to the addon\r\n  document.querySelector('.calc-pick .btn').addEventListener('click', () => {\r\n    const isPro = addon && addon.classList.contains('match');\r\n    const target = isPro ? addon : document.querySelector('.plan.match');\r\n    if (!target) return;\r\n    const top = target.getBoundingClientRect().top + window.scrollY - 100;\r\n    window.scrollTo({ top, behavior: 'smooth' });\r\n    target.classList.remove('flash');\r\n    void target.offsetWidth; \/\/ restart animation\r\n    target.classList.add('flash');\r\n    setTimeout(() => target.classList.remove('flash'), 1300);\r\n  });\r\n\r\n  \/\/ ---------- Upsell cards: click jumps to Premium ----------\r\n  document.querySelectorAll('[data-jump-premium]').forEach(el => {\r\n    el.addEventListener('click', () => {\r\n      const premium = document.querySelector('.plan.recommended');\r\n      if (!premium) return;\r\n      const top = premium.getBoundingClientRect().top + window.scrollY - 100;\r\n      window.scrollTo({ top, behavior: 'smooth' });\r\n      premium.classList.remove('flash');\r\n      \/\/ force reflow so the animation restarts on repeated clicks\r\n      void premium.offsetWidth;\r\n      premium.classList.add('flash');\r\n      setTimeout(() => premium.classList.remove('flash'), 1300);\r\n    });\r\n  });\r\n\r\n  \/\/ ---------- FAQ: keep accordion-style (one open at a time) ----------\r\n  document.querySelectorAll('.faq details').forEach(d => {\r\n    d.addEventListener('toggle', () => {\r\n      if (d.open) {\r\n        document.querySelectorAll('.faq details').forEach(o => { if (o !== d) o.open = false; });\r\n      }\r\n    });\r\n  });\r\n\r\n  \/\/ ---------- Tweaks panel ----------\r\n  const tweaksPanel = document.getElementById('tweaksPanel');\r\n  const tweaksClose = document.getElementById('tweaksClose');\r\n  const tweakShowTrhade = document.getElementById('tweakShowTrhade');\r\n\r\n  function setShowTrhade(v) {\r\n    tweaks.showTrhadeToggle = !!v;\r\n    tweakShowTrhade.classList.toggle('on', tweaks.showTrhadeToggle);\r\n    tweakShowTrhade.setAttribute('aria-pressed', tweaks.showTrhadeToggle ? 'true' : 'false');\r\n    applyTweaks();\r\n    try {\r\n      window.parent.postMessage({ type: '__edit_mode_set_keys', edits: { showTrhadeToggle: tweaks.showTrhadeToggle } }, '*');\r\n    } catch (e) {}\r\n  }\r\n  tweakShowTrhade.addEventListener('click', () => setShowTrhade(!tweaks.showTrhadeToggle));\r\n  tweaksClose.addEventListener('click', () => {\r\n    tweaksPanel.classList.remove('open');\r\n    try { window.parent.postMessage({ type: '__edit_mode_dismissed' }, '*'); } catch (e) {}\r\n  });\r\n\r\n  \/\/ Host protocol: register listener BEFORE announcing availability\r\n  window.addEventListener('message', (e) => {\r\n    const m = e.data;\r\n    if (!m || typeof m !== 'object') return;\r\n    if (m.type === '__activate_edit_mode') tweaksPanel.classList.add('open');\r\n    if (m.type === '__deactivate_edit_mode') tweaksPanel.classList.remove('open');\r\n  });\r\n  try { window.parent.postMessage({ type: '__edit_mode_available' }, '*'); } catch (e) {}\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\r\n\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\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>Precios \u00b7 Resawod Sin permanencia \u00b7 Cancela cuando quieras Precios pensados para crecer contigo, no contra ti. Compara funcionalidades y elige el plan de Resawod que mejor encaja con tu gimnasio. Sube o baja de plan en cualquier momento, sin letra peque\u00f1a. \u00bfCu\u00e1ntos atletas activos tienes? 120 atletas activos \u00bfProgramas entrenamientos o WODs? Workouts predefinidos, [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"content-type":"","footnotes":""},"class_list":["post-33197","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Precio software gesti\u00f3n gimnasios y boxes | Tarifas Resawod<\/title>\n<meta name=\"description\" content=\"Precio software gesti\u00f3n gimnasios y boxes. Compara tarifas, funcionalidades y elige el mejor plan Resawod para tu negocio. Solicita demo.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/resawod.com\/es\/precios\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Precio software gesti\u00f3n gimnasios y boxes | Tarifas Resawod\" \/>\n<meta property=\"og:description\" content=\"Precio software gesti\u00f3n gimnasios y boxes. Compara tarifas, funcionalidades y elige el mejor plan Resawod para tu negocio. Solicita demo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/resawod.com\/es\/precios\/\" \/>\n<meta property=\"og:site_name\" content=\"Resawod\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-26T09:05:55+00:00\" \/>\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=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/resawod.com\/es\/precios\/\",\"url\":\"https:\/\/resawod.com\/es\/precios\/\",\"name\":\"Precio software gesti\u00f3n gimnasios y boxes | Tarifas Resawod\",\"isPartOf\":{\"@id\":\"https:\/\/resawod.com\/es\/#website\"},\"datePublished\":\"2025-08-14T10:54:44+00:00\",\"dateModified\":\"2026-05-26T09:05:55+00:00\",\"description\":\"Precio software gesti\u00f3n gimnasios y boxes. Compara tarifas, funcionalidades y elige el mejor plan Resawod para tu negocio. Solicita demo.\",\"breadcrumb\":{\"@id\":\"https:\/\/resawod.com\/es\/precios\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/resawod.com\/es\/precios\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/resawod.com\/es\/precios\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/resawod.com\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Precios &#8211; Resawod\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/resawod.com\/es\/#website\",\"url\":\"https:\/\/resawod.com\/es\/\",\"name\":\"Resawod\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/resawod.com\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/resawod.com\/es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/resawod.com\/es\/#organization\",\"name\":\"Resawod\",\"url\":\"https:\/\/resawod.com\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/resawod.com\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/resawod.com\/wp-content\/uploads\/sites\/7\/2025\/06\/resawod_Sitelogo.svg\",\"contentUrl\":\"https:\/\/resawod.com\/wp-content\/uploads\/sites\/7\/2025\/06\/resawod_Sitelogo.svg\",\"width\":350,\"height\":65,\"caption\":\"Resawod\"},\"image\":{\"@id\":\"https:\/\/resawod.com\/es\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Precio software gesti\u00f3n gimnasios y boxes | Tarifas Resawod","description":"Precio software gesti\u00f3n gimnasios y boxes. Compara tarifas, funcionalidades y elige el mejor plan Resawod para tu negocio. Solicita demo.","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:\/\/resawod.com\/es\/precios\/","og_locale":"es_ES","og_type":"article","og_title":"Precio software gesti\u00f3n gimnasios y boxes | Tarifas Resawod","og_description":"Precio software gesti\u00f3n gimnasios y boxes. Compara tarifas, funcionalidades y elige el mejor plan Resawod para tu negocio. Solicita demo.","og_url":"https:\/\/resawod.com\/es\/precios\/","og_site_name":"Resawod","article_modified_time":"2026-05-26T09:05:55+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/resawod.com\/es\/precios\/","url":"https:\/\/resawod.com\/es\/precios\/","name":"Precio software gesti\u00f3n gimnasios y boxes | Tarifas Resawod","isPartOf":{"@id":"https:\/\/resawod.com\/es\/#website"},"datePublished":"2025-08-14T10:54:44+00:00","dateModified":"2026-05-26T09:05:55+00:00","description":"Precio software gesti\u00f3n gimnasios y boxes. Compara tarifas, funcionalidades y elige el mejor plan Resawod para tu negocio. Solicita demo.","breadcrumb":{"@id":"https:\/\/resawod.com\/es\/precios\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/resawod.com\/es\/precios\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/resawod.com\/es\/precios\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/resawod.com\/es\/"},{"@type":"ListItem","position":2,"name":"Precios &#8211; Resawod"}]},{"@type":"WebSite","@id":"https:\/\/resawod.com\/es\/#website","url":"https:\/\/resawod.com\/es\/","name":"Resawod","description":"","publisher":{"@id":"https:\/\/resawod.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/resawod.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/resawod.com\/es\/#organization","name":"Resawod","url":"https:\/\/resawod.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/resawod.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/resawod.com\/wp-content\/uploads\/sites\/7\/2025\/06\/resawod_Sitelogo.svg","contentUrl":"https:\/\/resawod.com\/wp-content\/uploads\/sites\/7\/2025\/06\/resawod_Sitelogo.svg","width":350,"height":65,"caption":"Resawod"},"image":{"@id":"https:\/\/resawod.com\/es\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/resawod.com\/es\/wp-json\/wp\/v2\/pages\/33197","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/resawod.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/resawod.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/resawod.com\/es\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/resawod.com\/es\/wp-json\/wp\/v2\/comments?post=33197"}],"version-history":[{"count":16,"href":"https:\/\/resawod.com\/es\/wp-json\/wp\/v2\/pages\/33197\/revisions"}],"predecessor-version":[{"id":36414,"href":"https:\/\/resawod.com\/es\/wp-json\/wp\/v2\/pages\/33197\/revisions\/36414"}],"wp:attachment":[{"href":"https:\/\/resawod.com\/es\/wp-json\/wp\/v2\/media?parent=33197"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}