
.rpe-wrap,.rpe-wrap *{box-sizing:border-box}
.rpe-wrap{
  --navy:#10233f;
  --teal:#14b8a6;
  --teal-dark:#0b9688;
  --mint:#effaf8;
  --green:#18c966;
  --muted:#667486;
  --line:#e4eaee;
  width:100%;
  max-width:1320px;
  margin:52px auto 68px;
  color:var(--navy);
  font-family:"Work Sans",sans-serif
}

.rpe-editor-message{
  padding:28px;
  border:1px dashed #cfd8df;
  border-radius:14px;
  background:#fff;
  color:#445466;
  text-align:center
}

/* BENEFICIOS SUPERIORES */
.rpe-benefits{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfd 100%);
  border:1px solid var(--line);
  border-radius:22px;
  padding:26px 16px;
  box-shadow:0 12px 32px rgba(20,45,66,.05);
  overflow:hidden
}

.rpe-benefit{
  display:flex;
  align-items:center;
  gap:14px;
  padding:6px 22px;
  position:relative;
  min-width:0;
  transition:transform .22s ease
}

.rpe-benefit:hover{
  transform:translateY(-2px)
}

.rpe-benefit:not(:last-child)::after{
  content:"";
  position:absolute;
  right:0;
  top:10%;
  height:80%;
  width:1px;
  background:var(--line)
}

.rpe-benefit-icon{
  width:54px;
  height:54px;
  flex:0 0 54px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:transparent;
  color:var(--green);
  border:0
}

.rpe-benefit-icon svg{
  width:29px;
  height:29px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round
}

.rpe-benefit-copy{min-width:0}

.rpe-benefit h3{
  margin:0 0 5px;
  font-size:16px;
  line-height:1.22;
  font-weight:750;
  color:var(--navy)
}

.rpe-benefit p{
  margin:0;
  font-size:13px;
  line-height:1.45;
  color:var(--muted)
}

.rpe-main{
  margin-top:34px;
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:24px;
  align-items:stretch
}

.rpe-info{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
  min-height:460px
}

.rpe-tabs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--line)
}

.rpe-tab{
  appearance:none;
  border:0;
  background:transparent;
  padding:20px 8px;
  font:inherit;
  font-size:14px;
  color:#27384a;
  cursor:pointer;
  border-bottom:2px solid transparent
}

.rpe-tab:hover,.rpe-tab.is-active{color:var(--teal-dark)}
.rpe-tab.is-active{font-weight:750;border-bottom-color:var(--teal)}

.rpe-panels{padding:36px 38px 38px}
.rpe-panel{display:none}
.rpe-panel.is-active{display:block}

.rpe-panel h2{
  margin:0 0 20px;
  font-size:30px;
  line-height:1.15;
  color:var(--navy);
  font-weight:800
}

.rpe-panel h2::after{
  content:"";
  display:block;
  width:46px;
  height:2px;
  background:var(--teal);
  margin-top:14px
}

.rpe-description{font-size:15px;line-height:1.75;color:#39495b}
.rpe-description p{margin:0 0 16px}

.rpe-checklist{list-style:none;padding:0;margin:22px 0 0}

.rpe-checklist li{
  display:flex;
  gap:11px;
  align-items:flex-start;
  margin:13px 0;
  font-size:15px;
  line-height:1.5;
  color:#334458
}

.rpe-checklist li span{
  width:20px;
  height:20px;
  flex:0 0 20px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--teal-dark);
  color:#fff;
  font-size:12px;
  font-weight:800;
  margin-top:1px
}

.rpe-spec{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:15px 0;
  border-bottom:1px solid #edf1f3;
  font-size:14px
}

.rpe-spec strong{color:var(--navy)}
.rpe-spec span{text-align:right;color:#647184}

.rpe-downloads{display:grid;gap:12px}

.rpe-downloads a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--navy);
  text-decoration:none;
  font-weight:700;
  background:#fff
}

.rpe-downloads a:hover{
  border-color:var(--teal);
  color:var(--teal-dark)
}

.rpe-empty{color:var(--muted);font-size:14px}

.rpe-video-card{
  position:relative;
  min-height:460px;
  border-radius:20px;
  overflow:hidden;
  background:radial-gradient(circle at 70% 45%,#245978 0%,#132e44 30%,#071826 72%)
}

.rpe-video-frame{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:#000
}

.rpe-html5-video{object-fit:cover}

.rpe-video-placeholder{
  position:absolute;
  inset:0;
  background-size:contain;
  background-position:82% center;
  background-repeat:no-repeat;
  background-color:#0b2233
}

.rpe-video-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(5,20,32,.96) 0%,rgba(5,20,32,.80) 37%,rgba(5,20,32,.18) 72%,rgba(5,20,32,.06) 100%)
}

.rpe-video-copy{
  position:absolute;
  z-index:2;
  top:70px;
  left:46px;
  width:52%
}

.rpe-video-copy h2{
  margin:0 0 24px;
  color:#fff;
  font-size:34px;
  line-height:1.1;
  font-weight:800
}

.rpe-video-copy p{
  margin:0;
  color:#fff;
  font-size:19px;
  line-height:1.45;
  font-weight:600
}

.rpe-play-fake{
  position:absolute;
  z-index:2;
  left:52%;
  top:50%;
  transform:translate(-50%,-50%);
  width:82px;
  height:82px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.9);
  display:grid;
  place-items:center;
  background:rgba(6,20,32,.62);
  color:#fff;
  font-size:30px;
  padding-left:4px
}

.rpe-cta{
  margin-top:28px;
  padding:24px 34px;
  border-radius:18px;
  background:linear-gradient(100deg,#effbfa 0%,#f7fbfd 55%,#effafa 100%);
  display:grid;
  grid-template-columns:1.4fr .65fr .65fr;
  align-items:center;
  gap:24px
}

.rpe-cta h3{margin:0 0 5px;font-size:22px;line-height:1.25}
.rpe-cta p{margin:0;color:#647184;font-size:14px}

.rpe-btn{
  min-height:60px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:13px 20px;
  text-decoration:none!important;
  font-weight:750;
  font-size:15px;
  line-height:1.1;
  box-shadow:0 8px 18px rgba(16,62,82,.10);
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,filter .2s ease
}

.rpe-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 11px 24px rgba(16,62,82,.16)
}

.rpe-btn-icon{
  width:21px;
  height:21px;
  flex:0 0 21px;
  display:inline-flex;
  align-items:center;
  justify-content:center
}

.rpe-btn-icon svg{
  display:block;
  width:100%;
  height:100%
}

.rpe-btn-label{display:inline-block}

.rpe-btn-quote{
  background:linear-gradient(100deg,#0e4862,#086b76);
  color:#fff!important
}

.rpe-btn-quote:hover{
  color:#fff!important;
  filter:brightness(1.05)
}

.rpe-btn-wa{
  background:#25D366;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(37,211,102,.22)
}

.rpe-btn-wa:hover{
  background:#1EBE5A;
  color:#fff!important;
  box-shadow:0 11px 24px rgba(37,211,102,.30)
}

.rpe-btn.is-disabled{
  opacity:1;
  cursor:not-allowed;
  pointer-events:none
}
.rpe-btn.is-disabled:hover{transform:none}

.rpe-trust{
  margin-top:24px;
  padding:26px 15px 4px;
  border-top:1px solid #e9eef1;
  display:grid;
  grid-template-columns:repeat(5,1fr)
}

.rpe-trust-item{
  display:flex;
  gap:12px;
  padding:8px 20px;
  align-items:flex-start
}

.rpe-trust-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:50%;
  background:var(--mint);
  display:grid;
  place-items:center;
  color:var(--teal-dark);
  font-weight:900
}

.rpe-trust h4{margin:0 0 5px;font-size:14px;line-height:1.3}
.rpe-trust p{margin:0;color:#718093;font-size:12px;line-height:1.4}

@media(max-width:1100px){
  .rpe-wrap{padding:0 18px}
  .rpe-benefits{grid-template-columns:repeat(2,1fr)}
  .rpe-benefit{padding:18px}
  .rpe-benefit::after{display:none}
  .rpe-main{grid-template-columns:1fr}
  .rpe-video-card{min-height:480px}
  .rpe-cta{grid-template-columns:1fr 1fr}
  .rpe-cta>div:first-child{grid-column:1/-1}
  .rpe-trust{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:767px){
  .rpe-wrap{margin:30px auto 50px;padding:0 12px}
  .rpe-benefits{display:block;padding:10px 18px}
  .rpe-benefit{padding:18px 4px}
  .rpe-benefit:not(:last-child){border-bottom:1px solid #e9eef1}
  .rpe-tabs{display:flex;overflow-x:auto}
  .rpe-tab{min-width:128px;flex:1}
  .rpe-panels{padding:28px 22px}
  .rpe-panel h2{font-size:25px}
  .rpe-video-card{min-height:470px}
  .rpe-video-placeholder{background-position:center 72%;background-size:78%}
  .rpe-video-shade{background:linear-gradient(180deg,rgba(5,20,32,.94) 0%,rgba(5,20,32,.72) 44%,rgba(5,20,32,.30) 100%)}
  .rpe-video-copy{top:38px;left:27px;width:82%}
  .rpe-video-copy h2{font-size:27px;margin-bottom:15px}
  .rpe-video-copy p{font-size:17px}
  .rpe-play-fake{width:70px;height:70px;left:50%;top:57%}
  .rpe-cta{grid-template-columns:1fr;padding:25px 20px}
  .rpe-trust{display:block;padding:20px 10px 0}
  .rpe-trust-item{padding:15px 7px;border-bottom:1px solid #edf1f3}
}


/* =========================================================
   RELATED PRODUCTS — automático por categoría (v2.2)
   ========================================================= */
.rpe-related{
  margin-top:42px;
  padding:44px 28px 30px;
  border-radius:28px;
  background:linear-gradient(135deg,#f5fffc 0%,#ffffff 42%,#f8fcfd 100%);
  border:1px solid #e6f0ef;
  box-shadow:0 18px 55px rgba(15,66,79,.06)
}

.rpe-related-head{
  text-align:center;
  max-width:760px;
  margin:0 auto 30px
}

.rpe-related-kicker{
  display:block;
  margin-bottom:10px;
  color:#0fae96;
  font-size:12px;
  line-height:1;
  font-weight:850;
  letter-spacing:.18em
}

.rpe-related-head h2{
  margin:0;
  color:#102b42;
  font-size:clamp(28px,3vw,40px);
  line-height:1.12;
  letter-spacing:-.025em
}

.rpe-related-head p{
  margin:12px 0 0;
  color:#6d7d8c;
  font-size:15px
}

.rpe-related-track{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px
}

.rpe-related-card{
  min-width:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid #e7edef;
  border-radius:22px;
  box-shadow:0 10px 28px rgba(15,66,79,.07);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease
}

.rpe-related-card:hover{
  transform:translateY(-4px);
  border-color:#cfe9e4;
  box-shadow:0 18px 38px rgba(15,66,79,.11)
}

.rpe-related-image{
  display:block;
  aspect-ratio:1.16/1;
  margin:12px 12px 0;
  border-radius:16px;
  overflow:hidden;
  background:linear-gradient(145deg,#f2fffb,#f7fafb)
}

.rpe-related-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  padding:12px;
  transition:transform .3s ease
}

.rpe-related-card:hover .rpe-related-image img{transform:scale(1.025)}

.rpe-related-body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:18px
}

.rpe-related-category{
  align-self:flex-start;
  display:inline-flex;
  padding:5px 9px;
  margin-bottom:9px;
  border-radius:999px;
  background:#e9fbf6;
  color:#0b9b84;
  font-size:11px;
  line-height:1;
  font-weight:800
}

.rpe-related-body h3{
  margin:0 0 8px;
  font-size:20px;
  line-height:1.2;
  letter-spacing:-.02em
}

.rpe-related-body h3 a{
  color:#102b42!important;
  text-decoration:none!important
}

.rpe-related-points{
  list-style:none;
  padding:6px 0 4px;
  margin:0 0 16px;
  display:grid;
  gap:9px
}

.rpe-related-points li{
  display:flex;
  gap:8px;
  align-items:flex-start;
  color:#405569;
  font-size:12px;
  line-height:1.35
}

.rpe-related-point-icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  display:inline-flex;
  color:#10af95
}

.rpe-related-point-icon svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round
}

.rpe-related-summary{
  margin:4px 0 16px;
  color:#6d7d8c;
  font-size:12px;
  line-height:1.55
}

.rpe-related-btn{
  margin-top:auto;
  min-height:46px;
  padding:0 16px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  background:linear-gradient(100deg,#0e4862,#086b76);
  color:#fff!important;
  text-decoration:none!important;
  font-size:13px;
  font-weight:800;
  box-shadow:0 8px 18px rgba(16,62,82,.11);
  transition:transform .2s ease,filter .2s ease,box-shadow .2s ease
}

.rpe-related-btn svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .2s ease
}

.rpe-related-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.05);
  box-shadow:0 11px 22px rgba(16,62,82,.16)
}

.rpe-related-btn:hover svg{transform:translateX(2px)}

@media(max-width:1100px){
  .rpe-related-track{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:767px){
  .rpe-related{margin-top:30px;padding:34px 16px 22px;border-radius:22px}
  .rpe-related-head{margin-bottom:22px;text-align:left}
  .rpe-related-head h2{font-size:28px}
  .rpe-related-head p{font-size:14px}
  .rpe-related-track{
    display:flex;
    gap:14px;
    overflow-x:auto;
    margin:0 -16px;
    padding:0 16px 10px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch
  }
  .rpe-related-track::-webkit-scrollbar{display:none}
  .rpe-related-card{
    flex:0 0 min(84vw,320px);
    scroll-snap-align:start
  }
}


/* =========================================================
   CTA FINAL + FOOTER GLOBAL — v2.3
   ========================================================= */
.rpe-footer-cta{
  margin-top:38px;padding:28px 32px;display:grid;grid-template-columns:auto 1fr auto auto;gap:24px;align-items:center;
  border-radius:24px;background:linear-gradient(135deg,#effcf8 0%,#f7fffd 55%,#eff9f7 100%);border:1px solid #e1f1ed
}
.rpe-footer-cta-icon{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e1f8f1;color:#08a77f}
.rpe-footer-cta-icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rpe-footer-cta-copy h2{margin:0 0 8px;color:#102b42;font-size:24px;line-height:1.2;letter-spacing:-.02em}
.rpe-footer-cta-copy p{margin:0;color:#617287;font-size:14px;line-height:1.6;max-width:620px}
.rpe-footer-call,.rpe-footer-wa{min-height:54px;padding:0 24px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none!important;font-size:14px;font-weight:800;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.rpe-footer-call{background:#fff;color:#102b42!important;border:1px solid #e3eaee;box-shadow:0 8px 20px rgba(15,66,79,.08)}
.rpe-footer-wa{background:#25D366;color:#fff!important;box-shadow:0 10px 22px rgba(37,211,102,.20)}
.rpe-footer-call:hover,.rpe-footer-wa:hover{transform:translateY(-1px);filter:brightness(1.02)}
.rpe-footer-call span,.rpe-footer-wa span{width:21px;height:21px;display:inline-flex}
.rpe-footer-call svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rpe-footer-wa svg{width:21px;height:21px}

.rpe-site-footer{
  position:relative;
  left:50%;
  width:100vw;
  margin-top:38px;
  margin-left:-50vw;
  border-top:3px solid #0fae88;
  background:#fff
}
.rpe-site-footer-grid{
  width:100%;
  max-width:1320px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.25fr .9fr 1fr 1.1fr;
  gap:54px;
  padding:54px 26px 48px
}
.rpe-footer-logo{font-size:42px;line-height:1;font-weight:900;letter-spacing:.05em;color:#102b42}
.rpe-footer-logo::first-letter{color:#0fae88}
.rpe-footer-tagline{margin-top:8px;color:#526579;font-size:14px}
.rpe-footer-brand p{margin:26px 0 0;max-width:330px;color:#526579;font-size:14px;line-height:1.75}
.rpe-footer-social{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}
.rpe-footer-social a{color:#0e9f80!important;text-decoration:none!important;font-size:13px;font-weight:700}
.rpe-footer-column h3{margin:2px 0 22px;color:#0a9b76;font-size:14px;line-height:1.3;text-transform:uppercase;letter-spacing:.03em}
.rpe-footer-column nav,.rpe-footer-contact,.rpe-footer-benefits{display:flex;flex-direction:column;gap:14px}
.rpe-footer-column a,.rpe-footer-column span{color:#41556a!important;text-decoration:none!important;font-size:14px;line-height:1.45}
.rpe-footer-column a:hover{color:#0b9d7b!important}
.rpe-footer-hours{margin-top:7px;padding-top:18px;border-top:1px solid #e2e8eb;display:flex;flex-direction:column;gap:4px}
.rpe-footer-hours strong{font-size:14px;color:#41556a;font-weight:500}
.rpe-footer-bottom{min-height:92px;border-top:0;background:#0F2744;color:#dce6ee;font-size:12px}
.rpe-footer-bottom-inner{width:100%;max-width:1320px;min-height:92px;margin:0 auto;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.rpe-footer-bottom-copy{display:flex;flex-direction:column;gap:5px;line-height:1.45}
.rpe-footer-bottom-copy strong{color:#fff;font-size:12px;font-weight:700}
.rpe-footer-bottom-copy span{color:#b9c8d4;font-size:12px}
.rpe-footer-bottom nav{display:flex;gap:24px;flex-wrap:wrap}
.rpe-footer-bottom a{color:#e7eef4!important;text-decoration:none!important}
.rpe-footer-bottom a:hover{color:#fff!important}

@media(max-width:1100px){
  .rpe-footer-cta{grid-template-columns:auto 1fr}.rpe-footer-call,.rpe-footer-wa{grid-row:2}.rpe-footer-call{grid-column:1/2}.rpe-footer-wa{grid-column:2/3;justify-self:start}
  .rpe-site-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px}
}
@media(max-width:767px){
  .rpe-footer-cta{margin-top:28px;padding:24px 18px;grid-template-columns:1fr;gap:16px;text-align:left}
  .rpe-footer-cta-icon{width:58px;height:58px}.rpe-footer-cta-icon svg{width:30px;height:30px}
  .rpe-footer-cta-copy h2{font-size:22px}.rpe-footer-call,.rpe-footer-wa{grid-column:auto;grid-row:auto;width:100%}
  .rpe-site-footer{margin-top:28px}.rpe-site-footer-grid{grid-template-columns:1fr;gap:30px;padding:38px 18px 34px}
  .rpe-footer-logo{font-size:36px}.rpe-footer-brand p{margin-top:18px}
  .rpe-footer-column h3{margin-bottom:15px}.rpe-footer-bottom-inner{padding:22px 18px;align-items:flex-start;flex-direction:column}.rpe-footer-bottom nav{gap:14px 18px}
}
