/* ============================================================
   RECARGA Y PUNTO — Sistema de diseño V3.1 (CIMAGRE SL)
   Fuentes locales, tokens, componentes. Archivo: rp.css
   ============================================================ */

/* ---------- 1. FUENTES LOCALES (woff2) ---------- */
@font-face { font-family:'Archivo'; font-style:normal; font-weight:700; font-display:swap; src:url('fonts/archivo-700-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Archivo'; font-style:normal; font-weight:700; font-display:swap; src:url('fonts/archivo-700-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Archivo'; font-style:normal; font-weight:800; font-display:swap; src:url('fonts/archivo-800-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Archivo'; font-style:normal; font-weight:800; font-display:swap; src:url('fonts/archivo-800-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:400; font-display:swap; src:url('fonts/manrope-400-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:400; font-display:swap; src:url('fonts/manrope-400-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:600; font-display:swap; src:url('fonts/manrope-600-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:600; font-display:swap; src:url('fonts/manrope-600-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:700; font-display:swap; src:url('fonts/manrope-700-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:700; font-display:swap; src:url('fonts/manrope-700-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:800; font-display:swap; src:url('fonts/manrope-800-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:800; font-display:swap; src:url('fonts/manrope-800-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

/* ---------- 2. TOKENS ---------- */
:root {
  --rp-navy:#0C293C; --rp-ink:#081C2B; --rp-green:#22B068; --rp-hover:#1C9459;
  --rp-bg:#F7F8F6; --rp-mint:#E9F3EE; --rp-muted:#586873; --rp-line:#E1E5E2; --rp-white:#FFFFFF;
  --rp-brown:#A85B22; /* cruz «no incluido», solo tabla comparativa */
  --rp-radio:12px; --rp-radius:22px;
  --rp-font-head:'Archivo',system-ui,sans-serif;
  --rp-font-body:'Manrope',system-ui,sans-serif;
  --rp-track:-0.035em;
  --rp-container:1240px;
}
html, body { background:var(--rp-bg); color:var(--rp-ink); }
body, button, input, select, textarea { font-family:var(--rp-font-body); }
h1,h2,h3,h4,h5,h6 { font-family:var(--rp-font-head); letter-spacing:var(--rp-track); line-height:0.98; color:var(--rp-ink); }
a { color:var(--rp-navy); }
::selection { background:var(--rp-green); color:var(--rp-ink); }

/* foco visible accesible */
:focus-visible { outline:3px solid var(--rp-navy); outline-offset:2px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation:none !important; transition:none !important; } }

/* contenedor util */
.rp-wrap { max-width:1240px; margin:0 auto; padding-inline:0; }
@media (max-width:1279px){ .rp-wrap{ padding-inline:24px; } }

/* ---------- 3. BOTONES ---------- */
.rp-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--rp-font-body); font-weight:800; font-size:15px; line-height:1;
  padding:13px 22px; border-radius:var(--rp-radio); border:0; cursor:pointer; text-decoration:none; transition:background .15s ease,color .15s ease,border-color .15s ease; }
.rp-btn svg { width:19px; height:19px; flex:none; }
.rp-btn--lg { font-size:17px; padding:17px 28px; }
.rp-btn--green { background:var(--rp-green); color:var(--rp-ink); }
.rp-btn--green:hover { background:var(--rp-hover); color:var(--rp-ink); }
.rp-btn--outline { background:transparent; border:2px solid var(--rp-ink); color:var(--rp-ink); }
.rp-btn--outline:hover { background:var(--rp-ink); color:#fff; }
.rp-btn--outline-light { background:transparent; border:2px solid rgba(255,255,255,.32); color:#fff; }
.rp-btn--outline-light:hover { border-color:#fff; background:rgba(255,255,255,.08); }
.rp-btn--dark { background:var(--rp-ink); color:#fff; }
.rp-btn--dark:hover { background:var(--rp-navy); color:#fff; }

/* ---------- 4. ESTRUCTURA DE SECCIONES / BANDAS ---------- */
.rp-section { padding:100px 0; }
.rp-hero-sec { padding:84px 0 100px; }
.rp-band { width:100%; }
.rp-band--ink { background:var(--rp-ink); color:#fff; }
.rp-band--ink h1,.rp-band--ink h2,.rp-band--ink h3,.rp-band--ink h4 { color:#fff; }
.rp-band--navy { background:var(--rp-navy); color:#fff; }
.rp-band--navy h2,.rp-band--navy h3 { color:#fff; }
.rp-band--mint { background:var(--rp-mint); }
.rp-text-muted { color:var(--rp-muted); }
.rp-antetitulo { font-family:var(--rp-font-body); font-weight:800; font-size:13px; text-transform:uppercase; letter-spacing:.16em; color:var(--rp-navy); margin:0 0 14px; }
.rp-band--dark .rp-antetitulo, .rp-band--ink .rp-antetitulo { color:var(--rp-green); }

/* escala tipográfica */
.rp-h1 { font-size:clamp(44px, 6.2vw, 78px); line-height:.98; letter-spacing:var(--rp-track); font-weight:800; margin:0 0 24px; }
.rp-h2 { font-size:clamp(34px, 4.6vw, 64px); font-weight:800; line-height:.98; letter-spacing:var(--rp-track); margin:0 0 18px; }
.rp-h2--54 { font-size:clamp(32px, 4.2vw, 54px); }
.rp-h3 { font-size:clamp(19px, 1.9vw, 25px); font-weight:800; line-height:1.12; letter-spacing:-0.025em; }
.rp-entradilla { font-size:clamp(17px, 1.5vw, 20px); line-height:1.55; color:var(--rp-muted); font-weight:400; }
.rp-precio-verde { color:var(--rp-green); }
.rp-punto { color:var(--rp-green); }
.rp-num { font-variant-numeric:tabular-nums; }

/* ---------- 5. CABECERA (ajustes sobre Blocksy) ---------- */
/* Contenido a sangre para las páginas del diseño */
body.ryp-page .ct-container, body.ryp-page .ct-container-full { max-width:100% !important; width:100% !important; padding-left:0; padding-right:0; }
body.ryp-page .hero-section { display:none !important; }
body.ryp-page .ct-content, body.ryp-page #main { padding-top:0 !important; }
body.ryp-page .ct-container > article { width:100%; }
/* cabecera sticky tono hueso */
.ct-header { background:var(--rp-bg) !important; border-bottom:1px solid var(--rp-line); }
.site-header .ct-header { --headerHeight:88px; }
.ct-header .site-logo-container img { height:56px !important; }
#header .ct-header { background:var(--rp-bg); }
/* item de menu tipo boton */
.rp-cta-item > a { background:var(--rp-green) !important; color:var(--rp-ink) !important; border-radius:var(--rp-radio); padding:11px 20px !important; font-weight:800; }
.rp-cta-item > a:hover { background:var(--rp-hover) !important; color:var(--rp-ink) !important; }
/* menu activo subrayado verde */
.ct-header .current-menu-item > a { border-bottom:2px solid var(--rp-green); font-weight:700; }
/* ocultar buscador de Blocksy (no está en el diseño de marca) */
.ct-header [data-id="search"], .ct-header .ct-header-search { display:none !important; }
/* tipografía del menú según sistema de diseño */
.ct-header .ct-menu > li > a { text-transform:none !important; font-family:var(--rp-font-body); font-weight:600; font-size:15px; color:var(--rp-ink); letter-spacing:0; }
.ct-header .ct-menu > li.current-menu-item > a { font-weight:700; }

/* boton flotante whatsapp (escritorio) */
.ryp-wa-float { position:fixed; right:24px; bottom:24px; z-index:999; width:56px; height:56px; border-radius:50%;
  background:var(--rp-green); color:var(--rp-ink); display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 20px rgba(8,28,43,.18); transition:background .15s; }
.ryp-wa-float:hover { background:var(--rp-hover); }
.ryp-wa-float svg { width:26px; height:26px; }
@media (max-width:782px) { .ryp-wa-float { display:none; } }

/* ---------- 6. HERO PORTADA ---------- */
.rp-hero { display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.rp-hero__media svg, .rp-hero__media img { width:100%; height:auto; display:block; }
.rp-hero__micro { display:flex; flex-wrap:wrap; gap:18px; margin-top:22px; color:var(--rp-muted); font-size:14px; font-weight:600; }
.rp-hero__micro svg { width:16px; height:16px; color:var(--rp-green); vertical-align:-3px; margin-right:6px; }
.rp-hero__ctas { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }

/* ---------- 7. BANDA DE CONFIANZA ---------- */
.rp-trust { background:var(--rp-ink); padding:22px 0; }
.rp-trust ul { list-style:none; margin:0; padding:0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; }
.rp-trust li { color:#fff; font-family:var(--rp-font-body); font-weight:600; font-size:14.5px; display:flex; align-items:center; gap:10px; }
.rp-trust svg { width:20px; height:20px; color:var(--rp-green); flex:none; }

/* ---------- 8. FILAS DE PACK ---------- */
.rp-packs { display:grid; gap:18px; margin-top:44px; }
.rp-pack { display:grid; grid-template-columns:330px 1fr 180px; gap:34px; align-items:center;
  background:var(--rp-white); border:1px solid var(--rp-line); border-radius:var(--rp-radius); padding:34px 38px; position:relative; }
/* Los </p> sueltos del HTML generan <p>:empty que rompen el auto-placement del grid
   (en el pack destacado metían .rp-pack__checks en la columna de 180px -> cajón altísimo) */
.rp-pack > p:empty { display:none; }
.rp-pack--destacado { background:var(--rp-ink); border-color:var(--rp-ink); color:#fff; }
.rp-pack--destacado .rp-pack__checks { color:#fff; }
.rp-pack__etiqueta { position:absolute; top:-13px; left:38px; background:var(--rp-green); color:var(--rp-ink);
  font-weight:800; font-size:12.5px; padding:5px 12px; border-radius:999px; text-transform:uppercase; letter-spacing:.06em; }
.rp-pack__nombre { font-family:var(--rp-font-head); font-weight:800; font-size:30px; line-height:.98; letter-spacing:var(--rp-track); }
.rp-pack__para { color:var(--rp-muted); font-size:14.5px; margin-top:6px; }
.rp-pack--destacado .rp-pack__para { color:rgba(255,255,255,.72); }
.rp-pack__precio { font-family:var(--rp-font-head); font-weight:800; font-size:50px; line-height:.98; letter-spacing:var(--rp-track); margin-top:14px; }
.rp-pack__precio small { font-size:16px; font-family:var(--rp-font-body); font-weight:600; color:var(--rp-muted); }
.rp-pack--destacado .rp-pack__precio small { color:rgba(255,255,255,.7); }
.rp-pack__checks { list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.rp-pack__checks li { display:flex; gap:11px; align-items:flex-start; font-size:14.5px; line-height:1.45; }
.rp-pack__checks svg { width:19px; height:19px; flex:none; color:var(--rp-navy); margin-top:2px; }
.rp-pack--destacado .rp-pack__checks svg { color:var(--rp-green); }
.rp-pack__cta { text-align:center; }
.rp-pack__cuota { font-size:13.5px; color:var(--rp-muted); margin-top:10px; }
.rp-pack--destacado .rp-pack__cuota { color:rgba(255,255,255,.7); }
.rp-packs__nota { margin-top:18px; color:var(--rp-muted); font-size:13.5px; }
/* movil: packs compactos */
@media (max-width:1024px) {
  .rp-pack { grid-template-columns:1fr; gap:20px; padding:30px 26px; }
  .rp-pack__cta { text-align:left; }
}
@media (max-width:480px) {
  .rp-pack { display:block; padding:26px 22px; }
  .rp-pack__nombre, .rp-pack__precio { display:inline; }
  .rp-pack__precio { float:right; font-size:34px; margin-top:0; }
  .rp-pack__para { clear:both; }
  .rp-pack__cta .rp-btn { width:100%; }
}

/* ---------- 9. TABLA COMPARATIVA ---------- */
.rp-tabla { border:1px solid var(--rp-line); border-radius:20px; overflow:hidden; background:#fff; }
.rp-tabla__fila { display:grid; grid-template-columns:1fr 170px 170px; border-top:1px solid var(--rp-line); }
.rp-tabla__fila:first-child { border-top:0; }
.rp-tabla__celda { padding:15px 18px; font-size:15px; line-height:1.45; display:flex; align-items:center; gap:10px; }
.rp-tabla__celda--nosotros { background:var(--rp-mint); font-weight:700; }
.rp-tabla__celda--otro { color:var(--rp-muted); }
.rp-tabla__celda--head { font-weight:800; font-size:15.5px; }
.rp-tabla__celda--head.rp-tabla__celda--nosotros { color:var(--rp-ink); }
.rp-tabla svg { width:22px; height:22px; flex:none; }
.rp-tabla .ico-check { color:var(--rp-navy); }
.rp-tabla .ico-x { color:var(--rp-brown); }
.rp-tabla__nota { margin-top:14px; font-size:13.5px; color:var(--rp-muted); }
@media (max-width:640px) {
  .rp-tabla__fila { grid-template-columns:1fr; border-top:1px solid var(--rp-line); padding:0; }
  .rp-tabla__celda { padding:9px 16px; }
  .rp-tabla__celda--concepto { font-weight:700; background:#fff; padding-top:13px; }
  .rp-tabla__celda--nosotros, .rp-tabla__celda--otro { background:none; justify-content:flex-start; font-size:13.5px; padding:5px 16px; }
  .rp-tabla__celda--head { display:none; }
  .rp-tabla__celda--nosotros::before { content:'Recarga y Punto:'; font-weight:800; margin-right:6px; }
  .rp-tabla__celda--otro::before { content:'El «más barato»:'; font-weight:800; color:var(--rp-ink); margin-right:6px; }
}

/* ---------- 10. CALCULADORA ---------- */
.rp-calc { display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:start; }
.rp-calc__grupo { margin-bottom:30px; }
.rp-calc__pregunta { color:#fff; font-family:var(--rp-font-head); font-weight:800; font-size:20px; letter-spacing:var(--rp-track); margin-bottom:12px; }
.rp-calc__opciones { display:flex; flex-wrap:wrap; gap:10px; }
.rp-calc__opcion { appearance:none; }
.rp-calc__opcion + label { border:1.5px solid rgba(255,255,255,.28); color:#fff; font-weight:600; font-size:14.5px;
  padding:11px 18px; border-radius:999px; cursor:pointer; transition:all .12s; display:inline-block; }
.rp-calc__opcion:checked + label { background:var(--rp-green); border-color:var(--rp-green); color:var(--rp-ink); font-weight:800; }
.rp-calc__opcion:focus-visible + label { outline:3px solid var(--rp-green); outline-offset:2px; }
.rp-calc__panel { background:var(--rp-navy); border-radius:var(--rp-radius); padding:44px 46px; color:#fff; min-height:280px; }
.rp-calc__panel[hidden] { display:none; }
.rp-calc__rango { font-family:var(--rp-font-head); font-weight:800; font-size:clamp(44px,4vw,66px); line-height:1; letter-spacing:var(--rp-track); font-variant-numeric:tabular-nums; margin:6px 0 8px; }
.rp-calc__rango small { font-size:20px; color:rgba(255,255,255,.75); font-family:var(--rp-font-body); font-weight:600; }
.rp-calc__nota { color:rgba(255,255,255,.72); font-size:14px; line-height:1.5; margin-bottom:18px; }
.rp-calc__incluye { color:rgba(255,255,255,.85); font-size:14.5px; margin-bottom:22px; line-height:1.55; }
.rp-calc__cuota { font-family:var(--rp-font-head); font-weight:800; font-size:22px; margin:4px 0 18px; }
@media (max-width:1024px){ .rp-calc{ grid-template-columns:1fr; gap:36px; } }

/* ---------- 11. TARJETAS DE SEGMENTO ---------- */
.rp-grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px; }
.rp-grid4 { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.rp-segmento { background:#fff; border:1px solid var(--rp-line); border-radius:20px; padding:30px 32px; display:flex; flex-direction:column; gap:12px; text-decoration:none; color:var(--rp-ink); }
.rp-segmento:hover { border-color:var(--rp-navy); }
.rp-segmento .ico-cuadro { width:52px; height:52px; border-radius:14px; background:var(--rp-mint); display:flex; align-items:center; justify-content:center; }
.rp-segmento .ico-cuadro svg { width:30px; height:30px; color:var(--rp-navy); }
.rp-segmento p { color:var(--rp-muted); font-size:15px; line-height:1.55; margin:0; }
.rp-segmento .rp-flecha { margin-top:auto; font-weight:800; color:var(--rp-navy); font-size:14.5px; display:inline-flex; align-items:center; gap:8px; }
.rp-segmento .rp-flecha svg { width:16px; height:16px; }
@media (max-width:900px){ .rp-grid3{ grid-template-columns:1fr 1fr; } .rp-grid4{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .rp-grid3,.rp-grid4{ grid-template-columns:1fr; } }

/* ---------- 12. PASOS NUMERADOS ---------- */
.rp-pasos { display:grid; grid-template-columns:repeat(4,1fr); gap:26px; counter-reset:paso; margin-top:50px; }
.rp-paso { border-top:2px solid var(--rp-green); padding-top:16px; }
.rp-paso::before { counter-increment:paso; content:"0" counter(paso); font-family:var(--rp-font-head); font-weight:800;
  font-size:42px; line-height:1; color:var(--rp-green); display:block; margin-bottom:10px; }
.rp-paso h3 { font-family:var(--rp-font-head); font-weight:800; font-size:23px; line-height:1.1; letter-spacing:var(--rp-track); color:#fff; margin:0 0 8px; }
.rp-paso p { color:rgba(255,255,255,.75); font-size:15.5px; line-height:1.55; margin:0; }
@media (max-width:900px){ .rp-pasos{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .rp-pasos{ grid-template-columns:1fr; } }

/* ---------- 13. DIFERENCIAS ---------- */
.rp-dif { display:grid; grid-template-columns:1fr 1fr; gap:14px 48px; margin-top:40px; }
.rp-dif__item { border-top:1px solid var(--rp-line); padding-top:18px; }
.rp-dif__item h3 { font-family:var(--rp-font-head); font-weight:800; font-size:23px; letter-spacing:var(--rp-track); margin:0 0 8px; }
.rp-dif__item p { color:var(--rp-muted); font-size:15.5px; line-height:1.55; margin:0; }
@media (max-width:700px){ .rp-dif{ grid-template-columns:1fr; } }

/* ---------- 14. RESEÑAS ---------- */
.rp-reviews { display:grid; grid-template-columns:340px 1fr; gap:48px; align-items:start; }
.rp-review-score { background:#fff; border:1px solid var(--rp-line); border-radius:20px; padding:34px; text-align:center; }
.rp-review-score .rp-estrellas { display:flex; gap:4px; justify-content:center; margin-bottom:12px; }
.rp-review-score .rp-estrellas svg { width:20px; height:20px; color:var(--rp-green); }
.rp-review-score .nota { font-family:var(--rp-font-head); font-weight:800; font-size:34px; letter-spacing:var(--rp-track); }
.rp-review-score p { color:var(--rp-muted); font-size:14px; margin:6px 0 0; }
.rp-review-cards { display:grid; gap:18px; }
.rp-review-card { background:#fff; border:1px solid var(--rp-line); border-radius:20px; padding:26px 28px; }
.rp-review-card .rp-estrellas { display:flex; gap:3px; margin-bottom:12px; }
.rp-review-card .rp-estrellas svg { width:17px; height:17px; color:var(--rp-green); }
.rp-review-card blockquote { margin:0 0 12px; font-size:17px; line-height:1.55; }
.rp-review-card cite { font-style:normal; font-weight:700; font-size:14px; color:var(--rp-ink); }
.rp-reviews__nota { grid-column:1/-1; font-size:13.5px; color:var(--rp-muted); }
@media (max-width:900px){ .rp-reviews{ grid-template-columns:1fr; } }

/* ---------- 15. PLAN AMIGO ---------- */
.rp-amigo { display:flex; align-items:center; justify-content:space-between; gap:40px; background:var(--rp-ink); border-radius:24px; padding:56px 64px; }
.rp-amigo__circulo { width:190px; height:190px; border-radius:50%; background:var(--rp-green); flex:none;
  display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--rp-ink); }
.rp-amigo__circulo .cifra { font-family:var(--rp-font-head); font-weight:800; font-size:64px; line-height:.9; letter-spacing:var(--rp-track); }
.rp-amigo__circulo .palabra { font-size:14px; font-weight:800; letter-spacing:.12em; margin-top:2px; }
@media (max-width:820px){ .rp-amigo{ flex-direction:column; align-items:flex-start; padding:40px 30px; } }

/* ---------- 16. FAQ ---------- */
.rp-faq { display:grid; grid-template-columns:.9fr 1.1fr; gap:48px; margin-top:40px; }
.rp-faq__item { border-top:1px solid var(--rp-line); padding:18px 0; }
.rp-faq__q { font-family:var(--rp-font-head); font-weight:800; font-size:23px; letter-spacing:var(--rp-track); line-height:1.2; margin:0; cursor:pointer; display:flex; justify-content:space-between; gap:16px; align-items:baseline; background:none; border:0; padding:0; text-align:left; width:100%; color:var(--rp-ink); }
.rp-faq__q::after { content:'+'; font-family:var(--rp-font-head); font-size:24px; color:var(--rp-green); flex:none; transition:transform .15s; }
.rp-faq__item[open] .rp-faq__q::after { transform:rotate(45deg); }
.rp-faq__a { color:var(--rp-muted); font-size:16.5px; line-height:1.6; padding-top:10px; }
details.rp-faq__item summary::-webkit-details-marker { display:none; }
@media (max-width:820px){ .rp-faq{ grid-template-columns:1fr; gap:10px; } }

/* ---------- 17. BANDA FINAL CTA ---------- */
.rp-cta-final { background:var(--rp-navy); padding:100px 0; }
.rp-cta-final__grid { display:grid; grid-template-columns:1.2fr .8fr; gap:48px; align-items:center; }
.rp-cta-final h2 { color:#fff; margin:0 0 12px; }
.rp-cta-final p { color:rgba(255,255,255,.75); font-size:17px; line-height:1.55; margin:0; }
.rp-cta-final__botones { display:flex; flex-direction:column; gap:14px; }
@media (max-width:820px){ .rp-cta-final__grid{ grid-template-columns:1fr; } }

/* ---------- 18. PIE (ajuste oscuro) ---------- */
.ct-footer { background:var(--rp-ink); }
.ct-footer, .ct-footer a { color:rgba(255,255,255,.8); }
.ct-footer .ct-widget h2, .ct-footer .ct-widget h3, .ct-footer .ct-widget h4 { color:#fff; }

/* ============ CORRECCIONES REVISION 06/09 (mañana) ============ */

/* --- Tarjeta apilada (recuadros laterales de hero en páginas de servicio) --- */
.rp-tarjeta { border-radius:22px; padding:34px 36px; }
.rp-tarjeta--oscura { background:var(--rp-ink); color:#fff; }
.rp-tarjeta--menta { background:var(--rp-mint); color:var(--rp-ink); }
.rp-tarjeta__titulo { font-family:var(--rp-font-head); font-weight:800; font-size:24px; letter-spacing:var(--rp-track); line-height:1.05; margin:0 0 16px; }
.rp-tarjeta--oscura .rp-tarjeta__titulo { color:#fff; }
.rp-tarjeta--menta .rp-tarjeta__titulo { color:var(--rp-ink); }
.rp-tarjeta ul { list-style:none; margin:0; padding:0; display:grid; gap:11px; }
.rp-tarjeta li { display:flex; gap:10px; align-items:flex-start; font-size:14.5px; line-height:1.5; }
.rp-tarjeta--oscura li { color:rgba(255,255,255,.85); }
.rp-tarjeta li svg { width:18px; height:18px; flex:none; margin-top:3px; color:var(--rp-green); }
.rp-tarjeta__texto { font-size:15px; line-height:1.65; margin:0; color:inherit; }
.rp-tarjeta__texto strong { font-weight:800; }

/* --- Hero: botones en fila y mejor proporcion --- */
@media (min-width:1200px) {
  .rp-hero__ctas { flex-wrap:nowrap; align-items:center; }
  .rp-btn--lg { white-space:nowrap; }
}
.rp-hero__media { align-self:center; justify-self:center; }
.rp-hero__media img, .rp-hero__media svg { max-width:540px; width:100%; height:auto; margin:0 auto; display:block; }
.rp-hero { align-items:center; }

/* --- Cabecera: altura, alineación vertical, logo y cabecera fija (sticky) --- */
#header { position:sticky !important; top:0 !important; z-index:1000; padding-inline: max(0px, calc((100vw - 1240px)/2)); }
#header .ct-header { min-height:88px; background:var(--rp-bg) !important; }
#header .site-logo-container img { height:56px !important; width:auto !important; }
#header .ct-header .ct-container { padding-top:0 !important; padding-bottom:0 !important; }
#header .ct-header-nav { display:flex; align-items:center; }
#header .rp-cta-item { display:flex; align-items:center; }
#header .rp-cta-item > a { padding:13px 22px !important; margin-left:8px; align-self:center; height:auto !important; }
#header [data-row*="middle"] { --height:96px; }
@media (max-width:782px) { #header [data-row*="middle"] { --height:68px; } #header .ct-header { min-height:68px; } #header .site-logo-container img { height:38px !important; } }

/* --- Correcciones ronda 2: nombre único en cabecera + drawer limpio --- */
.ct-header .site-title, .ct-header .site-description { display:none !important; }
/* en el cajón móvil (fallback) ocultar legales, gracias e inicio para no duplicar */
.ct-off-canvas .page_item.page-item-5,
.ct-off-canvas .page_item.page-item-12,
.ct-off-canvas .page_item.page-item-15,
.ct-off-canvas .page_item.page-item-16,
.ct-off-canvas .page_item.page-item-17 { display:none !important; }

/* ---------- 11. FORMULARIO FLUENT FORMS (estilo de marca) ---------- */
.fluentform .ff-el-input--label label { font-family:var(--rp-font-body); font-weight:700; font-size:14px; color:var(--rp-ink); }
.fluentform .ff-el-form-control,
.fluentform select.ff-el-form-control,
.fluentform textarea.ff-el-form-control {
  font-family:var(--rp-font-body); font-size:15px; color:var(--rp-ink);
  border:1px solid var(--rp-line); border-radius:10px; padding:12px 14px; background:#fff;
}
.fluentform .ff-el-form-control:focus { border-color:var(--rp-green); box-shadow:0 0 0 3px rgba(34,176,104,.15); outline:none; }
.fluentform .ff-el-input--label { margin-bottom:6px; }
.fluentform .ff-el-group { margin-bottom:18px; }
.fluentform .ff-btn-submit {
  background:var(--rp-green) !important; color:#fff !important; font-family:var(--rp-font-body);
  font-weight:800; font-size:16px; letter-spacing:0; border-radius:12px; padding:14px 30px;
  border:none !important; box-shadow:none !important; cursor:pointer; transition:background .15s;
}
.fluentform .ff-btn-submit:hover { background:var(--rp-hover) !important; color:#fff !important; }
.fluentform .ff-error-message, .fluentform .error { color:#b3261e; font-size:13px; font-weight:600; }
.fluentform .ff-el-consent-text a, .fluentform .ff-el-group a { color:var(--rp-green); text-decoration:underline; }
.fluentform fieldset .ff-el-input--label.ff-el-is-required.asterisk-right label::after { color:var(--rp-green); }

/* ---------- 16. CALCULADORA V2 (wizard 4 pasos, Órdenes 07-09-2026) ---------- */
.rp-calc--v2 { display:block; max-width:860px; }
.rp-calc--v2 .rp-calc__grupo[hidden] { display:none; }
.rp-calc--v2 .rp-calc__pregunta { font-size:clamp(20px,2.4vw,26px); margin-bottom:16px; }
.rp-calc--v2 .rp-calc__grupo { margin-bottom:0; }
.rp-calc--v2 .rp-calc__opciones { gap:12px; }
.rp-calc--v2 .rp-calc__opcion + label { padding:13px 20px; font-size:15px; }
.rp-calc--v2 .rp-calc__opciones--botones { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; }
.rp-calc--v2 .rp-calc__opciones--botones .rp-calc__opcion + label { border-radius:14px; text-align:center; padding:18px 14px; font-size:16px; line-height:1.3; min-height:74px; display:flex; align-items:center; justify-content:center; }
.rp-calc__subpregunta { margin-top:18px; }
.rp-calc__subpregunta > p { color:#fff; font-weight:700; font-size:15.5px; margin:0 0 10px; }
.rp-calc__resultado { background:var(--rp-navy); border-radius:var(--rp-radius); padding:38px 42px; color:#fff; }
.rp-calc__precio-final { font-family:var(--rp-font-head); font-weight:800; font-size:clamp(46px,5vw,72px); line-height:1; letter-spacing:var(--rp-track); font-variant-numeric:tabular-nums; margin:4px 0 10px; }
.rp-calc__desglose { list-style:none; margin:18px 0 0; padding:0; border-top:1px solid rgba(255,255,255,.16); }
.rp-calc__desglose li { display:flex; justify-content:space-between; gap:18px; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.1); font-size:15px; color:rgba(255,255,255,.88); }
.rp-calc__desglose strong { font-variant-numeric:tabular-nums; }
.rp-calc__nota-legal { color:rgba(255,255,255,.72); font-size:13.5px; line-height:1.55; margin:16px 0 0; }
.rp-calc__siguiente { color:rgba(255,255,255,.8); font-size:14.5px; margin-top:14px; }
.rp-calc__sinprecio { font-size:17px; line-height:1.6; color:#fff; margin:0; }
.rp-calc--v2 .rp-calc__form h3 { color:var(--rp-ink); }
.rp-calc__form .fluentform { max-width:none; }
@media (max-width:560px){ .rp-calc__resultado { padding:28px 24px; } }

/* ---------- 17. FOOTER CORPORATIVO (Órdenes 07-09-2026) ---------- */
.ryp-footer { background:var(--rp-ink); color:#fff; padding:64px 0 0; margin-top:0; }
.ryp-footer .ryp-wrap { max-width:var(--rp-container); margin:0 auto; padding-inline:clamp(16px,3vw,40px); }
.ryp-footer__grid { display:grid; grid-template-columns:1.3fr 1fr 1.2fr 1fr; gap:44px; padding-bottom:48px; }
.ryp-footer__logo { font-family:var(--rp-font-head); font-weight:800; font-size:24px; letter-spacing:var(--rp-track); margin:0 0 12px; color:#fff; }
.ryp-footer__claim { color:rgba(255,255,255,.8); font-size:15.5px; line-height:1.55; margin:0 0 14px; font-weight:700; }
.ryp-footer__instalador, .ryp-footer__direccion { color:rgba(255,255,255,.62); font-size:13.5px; line-height:1.6; margin:0 0 8px; }
.ryp-footer__titulo { font-family:var(--rp-font-head); font-weight:800; font-size:15px; letter-spacing:.02em; margin:0 0 16px; color:#fff; text-transform:uppercase; }
.ryp-footer__links { display:flex; flex-direction:column; gap:10px; }
.ryp-footer__links a, .ryp-footer__links span { color:rgba(255,255,255,.72); font-size:14px; line-height:1.4; text-decoration:none; }
.ryp-footer__links a:hover { color:var(--rp-green); }
.ryp-footer__zonas { display:grid; grid-template-columns:1fr 1fr; gap:8px 18px; }
.ryp-footer__bottom { border-top:1px solid rgba(255,255,255,.14); padding:22px 0; display:flex; flex-wrap:wrap; gap:12px 28px; justify-content:space-between; align-items:center; font-size:13px; color:rgba(255,255,255,.55); }
.ryp-footer__legal { display:flex; flex-wrap:wrap; gap:6px 22px; }
.ryp-footer__legal a { color:rgba(255,255,255,.55); text-decoration:none; font-size:13px; }
.ryp-footer__legal a:hover { color:var(--rp-green); }
@media (max-width:1024px){ .ryp-footer__grid{ grid-template-columns:1fr 1fr; gap:34px; } }
@media (max-width:600px){ .ryp-footer__grid{ grid-template-columns:1fr; gap:28px; } }

/* ---------- 18. BANNER CONSENTIMIENTO COOKIES (Órdenes 07-09-2026) ---------- */
.ryp-consent { position:fixed; left:20px; right:20px; bottom:20px; z-index:99999; background:var(--rp-ink); color:#fff;
  border-radius:16px; padding:22px 26px; max-width:760px; margin:0 auto; box-shadow:0 18px 50px rgba(0,0,0,.35);
  display:flex; flex-direction:column; gap:16px; border:1px solid rgba(255,255,255,.12); }
.ryp-consent[hidden] { display:none; }
.ryp-consent__titulo { font-family:var(--rp-font-head); font-weight:800; font-size:18px; letter-spacing:var(--rp-track); margin:0 0 6px; }
.ryp-consent__texto p { margin:0; color:rgba(255,255,255,.8); font-size:14px; line-height:1.55; }
.ryp-consent__texto a { color:var(--rp-green); text-decoration:underline; }
.ryp-consent__botones { display:flex; flex-wrap:wrap; gap:10px; }
.ryp-consent .rp-btn { padding:11px 20px; font-size:14px; }
@media (min-width:640px){ .ryp-consent { flex-direction:row; align-items:center; justify-content:space-between; } .ryp-consent__botones{ flex:none; } }
