/* Simulador de placas solares · renoveplac.com (mu-plugin renoveplac-simulador-solar.php). Todo con prefijo .rpsol: no afecta al resto de la web */
.rpsol{--bg:#08090c;--card:#11141b;--card2:#171b24;--line:#262c38;--ink:#eef1f6;--ink2:#b9c1cf;--ink3:#8b95a7;--acc:#ff7a1a;--acc2:#ffa23a;--ok:#34d399;--bad:#f87171;
  max-width:1180px;margin:0 auto;padding:118px 20px 60px;color:var(--ink);font-family:"Hanken Grotesk",system-ui,sans-serif;box-sizing:border-box}
.rpsol *,.rpsol *::before,.rpsol *::after{box-sizing:border-box}
.rpsol h1,.rpsol h2,.rpsol h3{font-family:"Bricolage Grotesque",system-ui,sans-serif;color:var(--ink);margin:0}
.rpsol-hero{text-align:center;max-width:780px;margin:0 auto 22px}
.rpsol-eyebrow{display:inline-block;font:600 12px "JetBrains Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--acc2);background:rgba(255,122,26,.1);border:1px solid rgba(255,122,26,.3);padding:6px 12px;border-radius:999px;margin-bottom:14px}
.rpsol-hero h1{font-size:clamp(1.8rem,4.2vw,2.9rem);line-height:1.1;font-weight:800}
.rpsol-hero h1 span{background:linear-gradient(135deg,var(--acc2),#ff6a00);-webkit-background-clip:text;background-clip:text;color:transparent}
.rpsol-hero p{color:var(--ink2);font-size:1.05rem;line-height:1.6;margin:12px 0 0}
.rpsol-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px}
.rpsol-btn{appearance:none;border:0;cursor:pointer;font:700 15px "Hanken Grotesk",system-ui,sans-serif;color:#fff;background:linear-gradient(135deg,var(--acc2),#ff6a00);padding:11px 18px;border-radius:12px;white-space:nowrap;transition:transform .15s ease,opacity .15s ease}
.rpsol-btn:hover{transform:translateY(-1px)}
.rpsol-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.rpsol-btn--ghost{background:var(--card2);border:1px solid var(--line);color:var(--ink);font-weight:600}
.rpsol-btn--big{width:100%;padding:15px;font-size:17px;margin-top:6px}
.rpsol-btn--wa{background:#25d366}
.rpsol-resume{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(5,8,14,.72);backdrop-filter:blur(3px)}
.rpsol-resume[hidden]{display:none!important}
.rpsol-colo{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:12px;color:var(--ink);font-weight:600;font-size:14.5px}
.rpsol-colo[hidden]{display:none!important}
.rpsol-colo-nota{flex-basis:100%;font-weight:400;margin-top:2px}
.rpsol-seg{display:flex;gap:8px}
.rpsol-seg button{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:120px;padding:9px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.18)!important;background:transparent!important;color:var(--ink)!important;font-weight:700;font-size:14.5px;cursor:pointer}
.rpsol-seg button small{font-weight:500;font-size:12px;opacity:.75}
@media(max-width:560px){.rpsol-colo>span{width:100%}.rpsol-seg{width:100%}.rpsol-seg button{flex:1;min-width:0}}
.rpsol-seg button.on{border-color:var(--acc)!important;background:rgba(255,122,26,.16)!important}
.rpsol-seg button:disabled{opacity:.4;cursor:not-allowed}
.rpsol-resume-box{position:relative;display:flex;flex-wrap:wrap;gap:22px 28px;align-items:center;justify-content:space-between;width:min(900px,100%);background:var(--card2);border:1px solid var(--acc);border-radius:18px;padding:40px 28px 28px;color:var(--ink);box-shadow:0 20px 60px rgba(0,0,0,.5)}
.rpsol-resume-box p{flex:1 1 300px;margin:0;font-size:clamp(1.25rem,2.6vw,1.75rem);font-weight:700;line-height:1.3;color:var(--ink)}
.rpsol-resume-btns{display:flex;gap:14px;flex-wrap:wrap}
.rpsol-resume-btns .rpsol-btn{min-width:170px;padding:16px 22px;font-size:1.05rem}
.rpsol-resume-box--ok{flex-direction:column;justify-content:center;text-align:center;width:min(600px,100%);gap:14px}
.rpsol-resume-box--ok .ic{font-size:46px;line-height:1}
.rpsol-resume-box--ok h3{margin:0;font-size:clamp(1.4rem,3vw,1.9rem);color:var(--ink)}
.rpsol-resume-box--ok p{flex:none;font-size:1.05rem;font-weight:400;line-height:1.55;color:var(--ink);opacity:.9}
.rpsol-resume-box--ok .rpsol-resume-btns{justify-content:center}
@media(max-width:560px){.rpsol-resume-box--ok .rpsol-resume-btns{flex-direction:column}.rpsol-resume-box--ok .rpsol-resume-btns .rpsol-btn{width:100%;flex:none;text-align:center;box-sizing:border-box}}
.rpsol-resume-x{position:absolute;top:12px;right:14px;background:none!important;border:0;color:var(--ink)!important;font-size:22px;line-height:1;cursor:pointer;padding:6px}
@media(max-width:560px){.rpsol-resume-btns{width:100%}.rpsol-resume-btns .rpsol-btn{flex:1;min-width:0}}
.rpsol-steps{list-style:none;display:flex;gap:10px;padding:0;margin:0 0 16px;counter-reset:none}
.rpsol-steps li{flex:1;display:flex;gap:10px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 12px;color:var(--ink3);font-size:14px;line-height:1.3}
.rpsol-steps li b{flex:0 0 28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--card2);border:1px solid var(--line);color:var(--ink2);font-size:14px}
.rpsol-steps li.on{border-color:var(--acc);color:var(--ink)}
.rpsol-steps li.on b{background:linear-gradient(135deg,var(--acc2),#ff6a00);border-color:transparent;color:#fff}
.rpsol-steps li.ok b{background:var(--ok);border-color:transparent;color:#08090c}
.rpsol-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:16px;align-items:start}
.rpsol-search{display:flex;gap:8px;align-items:center;background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:6px 6px 6px 12px}
.rpsol-search:focus-within{border-color:var(--acc)}
.rpsol-search-ic{color:var(--acc2);font-size:20px}
.rpsol-search input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:var(--ink);font:16px "Hanken Grotesk",system-ui,sans-serif;padding:8px 2px}
.rpsol-search input::placeholder{color:var(--ink3)}
.rpsol-sug{position:relative;z-index:1100}
.rpsol-sug-list{position:absolute;left:0;right:0;top:4px;background:var(--card2);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.5)}
.rpsol-sug-list button{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);color:var(--ink);font:15px "Hanken Grotesk",system-ui,sans-serif;padding:11px 14px;cursor:pointer}
.rpsol-sug-list button:hover,.rpsol-sug-list button:focus{background:rgba(255,122,26,.12);outline:0}
.rpsol-tip{color:var(--ink2);font-size:14px;margin:10px 2px}
.rpsol-map{height:470px;border-radius:14px;border:1px solid var(--acc);overflow:hidden;background:#0b0e14}
.rpsol-map .leaflet-container,.rpsol-map.leaflet-container{background:#0b0e14;font-family:"Hanken Grotesk",system-ui,sans-serif}
.rpsol-map img{max-width:none!important}
.rpsol-map svg{max-width:none}
.rpsol-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.rpsol-help{color:var(--ink2);font-size:14px;margin:10px 2px 0;min-height:20px}
.rpsol-panel{display:flex;flex-direction:column;gap:14px;position:sticky;top:96px}
.rpsol-area{text-align:center;background:var(--card2);border-radius:14px;padding:12px}
.rpsol-area span{display:block;color:var(--ink2);font-size:14px}
.rpsol-area b{display:block;font:800 30px "Bricolage Grotesque",system-ui,sans-serif;color:var(--acc2)}
.rpsol-area small{color:var(--ink3);font-size:13px}
.rpsol-field{display:flex;flex-direction:column;gap:6px}
.rpsol-field>label{font-weight:700;font-size:14.5px;color:var(--ink)}
.rpsol-field select,.rpsol-form input,.rpsol-form select{width:100%;background:var(--card2);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:11px 12px;font:16px "Hanken Grotesk",system-ui,sans-serif}
.rpsol-field select:focus,.rpsol-form input:focus,.rpsol-form select:focus{outline:0;border-color:var(--acc)}
.rpsol-field input[type=range]{width:100%;accent-color:var(--acc)}
.rpsol-casa-on{display:inline-block;background:rgba(255,122,26,.12);border:1px solid var(--acc);border-radius:10px;padding:8px 12px;font-weight:600}
.rpsol-note{color:var(--ink3);font-size:12.5px;line-height:1.45}
.rpsol-chk{display:flex;gap:9px;align-items:flex-start;font-size:14.5px;color:var(--ink);cursor:pointer;line-height:1.35}
.rpsol-chk input{width:18px;height:18px;margin-top:1px;accent-color:var(--acc);flex:0 0 auto}
.rpsol-sub{margin-left:27px;width:calc(100% - 27px)!important}
.rpsol-res{margin-top:18px}
.rpsol-res-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.rpsol-quote{text-align:center;border:1px solid var(--acc);background:linear-gradient(180deg,rgba(255,122,26,.08),transparent 60%),var(--card)}
.rpsol-quote .pan{font:800 34px "Bricolage Grotesque",system-ui,sans-serif;color:var(--acc2)}
.rpsol-quote .kwp{color:var(--ink2)}
.rpsol-quote .extra{font-weight:700;margin-top:4px}
.rpsol-quote hr{border:0;border-top:2px solid var(--acc);margin:14px 18%}
.rpsol-quote .precio{font:800 42px "Bricolage Grotesque",system-ui,sans-serif}
.rpsol-quote .iva{color:var(--ink3);font-size:13px}
.rpsol-kv{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;text-align:left;margin-top:14px;font-size:14.5px}
.rpsol-kv span:nth-of-type(even){font-weight:700;text-align:right}
.rpsol-kv .rpsol-pvgis{grid-column:1/-1;margin-top:-4px;font-size:12.5px;line-height:1.4;color:var(--mut,#9aa4b2)}
.rpsol-kv .ok{color:var(--ok)}
.rpsol-bars{display:flex;gap:22px;align-items:flex-end;justify-content:center;height:130px;margin:10px 0 4px}
.rpsol-bars div{width:62px;border-radius:8px 8px 0 0;background:var(--line);display:flex;align-items:flex-start;justify-content:center;font-weight:800;font-size:13px;padding-top:6px;color:var(--ink)}
.rpsol-bars div.nuevo{background:linear-gradient(180deg,var(--acc2),#ff6a00);color:#fff}
.rpsol-bars-l{display:flex;gap:22px;justify-content:center;color:var(--ink3);font-size:12.5px}
.rpsol-bars-l span{width:62px;text-align:center}
.rpsol-eco{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px;font-size:14px;color:var(--ink2)}
.rpsol-eco b{color:var(--ok)}
.rpsol-aviso{border:1px solid var(--acc);background:rgba(255,122,26,.07);border-radius:12px;padding:12px 14px;font-size:13.5px;color:var(--ink2);line-height:1.5;margin-top:12px}
.rpsol-aviso b{color:var(--ink)}
.rpsol-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rpsol-form .full{grid-column:1/-1}
.rpsol-form label.lbl{display:flex;flex-direction:column;gap:5px;font-size:13.5px;color:var(--ink2);font-weight:600}
.rpsol-form .rpsol-chk{font-size:13px;color:var(--ink2)}
.rpsol-form .rpsol-chk a{color:var(--acc2)}
.rpsol-form .err{color:var(--bad);font-size:14px;font-weight:600}
.rpsol-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.rpsol-ok{text-align:center;padding:26px 18px}
.rpsol-ok .ic{font-size:44px}
.rpsol-ok h3{font-size:1.5rem;margin:8px 0}
.rpsol-ok p{color:var(--ink2);line-height:1.6}
.rpsol-faq{margin-top:22px}
.rpsol-faq h2{font-size:1.4rem;margin-bottom:8px}
.rpsol-faq details{border-top:1px solid var(--line);padding:12px 2px}
.rpsol-faq summary{cursor:pointer;font-weight:700;color:var(--ink)}
.rpsol-faq p{color:var(--ink2);line-height:1.6;margin:8px 0 0}
.rpsol .leaflet-control-zoom a{background:#fff;color:#16202f}
.rpsol-n{background:#fff;color:#16202f;border-radius:8px;padding:4px 8px;font:700 13px system-ui;text-align:center;line-height:1.1;box-shadow:0 1px 4px rgba(0,0,0,.4)}
@media (max-width:900px){
  .rpsol{padding:96px 14px 48px}
  .rpsol-grid,.rpsol-res-grid{grid-template-columns:1fr}
  .rpsol-panel{position:static}
  .rpsol-map{height:400px}
  .rpsol-steps li span{font-size:12.5px}
}
@media (max-width:520px){
  .rpsol-steps{gap:6px}
  .rpsol-steps li{flex-direction:column;text-align:center;padding:8px 6px;gap:6px}
  .rpsol-search{flex-wrap:wrap}
  .rpsol-search .rpsol-btn{width:100%}
  .rpsol-form{grid-template-columns:1fr}
  .rpsol-quote .precio{font-size:36px}
  .rpsol-map{height:360px}
}
/* Solo en esta página: el mensaje flotante del chatbot («Te ayudo a solicitar tu presupuesto») tapaba el mapa en el móvil y abría
   el chat al marcar el tejado. Se oculta el mensaje; el botón del chat y WhatsApp siguen visibles. (No afecta al resto de la web: este CSS solo carga aquí) */
.rb-root .rb-bubble-tip{display:none!important}

/* El tema impone fondo claro (#eef1f6) a input/select: sin esto el texto claro no se leía. Colores forzados solo dentro del simulador */
.rpsol input[type=text],.rpsol input[type=tel],.rpsol input[type=email],.rpsol select{background:var(--card2)!important;color:var(--ink)!important;border:1px solid var(--line)!important;box-shadow:none!important}
.rpsol .rpsol-search input[type=text]{background:transparent!important;border:0!important;padding:8px 2px!important}
.rpsol input::placeholder{color:var(--ink3)!important;opacity:1}
.rpsol select option{background:#171b24;color:#eef1f6}
.rpsol input:focus,.rpsol select:focus{border-color:var(--acc)!important;outline:0!important}

/* Chincheta de la dirección buscada */
.rpsol .rpsol-pin{background:none!important;border:0!important;filter:drop-shadow(0 2px 3px rgba(0,0,0,.45));pointer-events:none}
.rpsol .rpsol-pin svg{width:30px!important;height:42px!important;display:block}

/* Selector de nº de paneles */
.rpsol-npan{display:flex;align-items:center;justify-content:center;gap:14px;margin:12px 0 4px}
.rpsol-npan button{width:44px;height:44px;border-radius:50%;border:1px solid var(--acc);background:var(--card2);color:var(--ink);font:800 24px system-ui;cursor:pointer;line-height:1}
.rpsol-npan button:hover:not(:disabled){background:rgba(255,122,26,.18)}
.rpsol-npan button:disabled{opacity:.3;cursor:not-allowed}
.rpsol-npan span{font-weight:700;min-width:100px;text-align:center}
