:root{
  --bg:#02070d;--bg2:#071421;--panel:rgba(5,20,34,.88);--panel2:rgba(10,32,47,.72);--line:rgba(71,215,245,.28);--line2:rgba(71,215,245,.48);--cyan:#31d7f4;--blue:#158bf3;--green:#25d366;--text:#f7fbff;--muted:#b7c8d8;--soft:#7f93a6;--warn:#ffd166;--danger:#ff6b6b;--radius:18px;--shadow:0 24px 80px rgba(0,0,0,.38);--max:1180px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(rgba(49,215,244,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(49,215,244,.045) 1px,transparent 1px),var(--bg);background-size:48px 48px;color:var(--text);line-height:1.55}a{color:inherit}.skip-link{position:absolute;top:-50px;left:12px;background:var(--cyan);color:#001018;padding:.7rem 1rem;border-radius:10px;z-index:999}.skip-link:focus{top:12px}.hero-calc{min-height:78vh;position:relative;display:grid;align-items:end;overflow:hidden;border-bottom:1px solid var(--line)}.hero-bg{position:absolute;inset:0;background-image:url('../img/portada-1.jpg');background-size:cover;background-position:center;filter:saturate(1.1) contrast(1.06);transform:scale(1.02)}.hero-calc:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,7,13,.97) 0%,rgba(2,7,13,.84) 38%,rgba(2,7,13,.36) 100%),radial-gradient(circle at 1px 1px,rgba(49,215,244,.18) 1px,transparent 1.35px);background-size:auto,8px 8px}.hero-content{position:relative;z-index:2;width:min(var(--max),calc(100% - 32px));margin:0 auto;padding:54px 0}.brand-logo{width:170px;max-height:86px;object-fit:contain;margin-bottom:18px}.eyebrow{color:var(--cyan);text-transform:uppercase;font-weight:900;font-size:.78rem;letter-spacing:.08em}.hero-content h1{max-width:940px;font-size:clamp(2.2rem,6vw,5rem);line-height:1.02;margin:12px 0 18px}.hero-content p{max-width:780px;color:var(--muted);font-size:clamp(1rem,2vw,1.18rem)}.legal-note{font-size:.9rem!important;color:var(--soft)!important}.hero-actions,.button-row,.wizard-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.btn{min-height:46px;padding:0 18px;border-radius:12px;border:1px solid transparent;text-decoration:none;font:inherit;font-weight:900;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.btn.primary{background:linear-gradient(90deg,var(--cyan),var(--blue));color:#001018}.btn.ghost{border-color:var(--line2);background:rgba(49,215,244,.08);color:var(--text)}.calc-shell{width:min(var(--max),calc(100% - 32px));margin:0 auto;padding:34px 0 72px}.progress-card,.wizard,.print-report{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(7,22,35,.92),rgba(4,14,24,.92));box-shadow:var(--shadow)}.progress-card{padding:16px;margin-bottom:18px;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.progress-top{display:flex;justify-content:space-between;color:var(--muted);font-size:.94rem}.progress-bar{height:10px;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:999px;overflow:hidden;margin:10px 0}.progress-bar span{display:block;height:100%;width:10%;background:linear-gradient(90deg,var(--cyan),var(--blue));transition:.25s}.step-tabs{display:flex;gap:6px;overflow:auto;padding-bottom:4px}.step-tabs button{border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--muted);border-radius:999px;padding:8px 12px;white-space:nowrap}.step-tabs button.active{background:rgba(49,215,244,.16);color:var(--cyan)}.wizard{padding:24px}.step{display:none}.step.active{display:block;animation:fade .18s ease}@keyframes fade{from{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.step-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:22px}.step-head span{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--cyan),var(--blue));color:#001018;display:grid;place-items:center;font-weight:1000}.step-head h2{font-size:clamp(1.5rem,3vw,2.4rem);margin:0 0 4px}.step-head p{margin:0;color:var(--muted)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:8px;color:var(--muted);font-weight:700;position:relative}.field input,.field select,.field textarea,.search-input,.appliance-tools select{width:100%;background:rgba(255,255,255,.04);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-height:48px;font:inherit}.field textarea{min-height:120px;resize:vertical}.help{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;border:1px solid var(--line2);background:rgba(49,215,244,.11);color:var(--cyan);font-weight:900;position:absolute;right:6px;top:0;cursor:pointer}.privacy-box,.choice-panel,.warning-box{border:1px solid var(--line);border-radius:14px;background:rgba(49,215,244,.07);padding:14px;color:var(--muted)}.quick-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.quick-cards button{border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);border-radius:14px;padding:16px;font-weight:900;cursor:pointer}.choice-panel{display:grid;gap:10px;margin-top:16px}.appliance-tools{display:grid;grid-template-columns:1fr 240px auto;gap:10px;margin-bottom:14px}.appliance-layout{display:grid;grid-template-columns:1.3fr .9fr;gap:16px}.appliance-list{display:grid;gap:10px;max-height:580px;overflow:auto;padding-right:4px}.appliance-card{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);padding:14px;display:grid;gap:6px}.appliance-card strong{color:var(--text)}.appliance-card small{color:var(--soft)}.appliance-card .row{display:flex;align-items:center;justify-content:space-between;gap:8px}.badge{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:4px 8px;color:var(--cyan);font-size:.78rem}.selected-panel{border:1px solid var(--line);border-radius:16px;background:rgba(0,0,0,.16);padding:16px;align-self:start;position:sticky;top:118px}.selected-list{display:grid;gap:12px;max-height:420px;overflow:auto}.selected-item{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(255,255,255,.03);display:grid;gap:8px}.selected-item h4{margin:0}.selected-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.selected-controls label{font-size:.78rem;color:var(--soft);display:grid;gap:3px}.selected-controls input{width:100%;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.04);color:var(--text);padding:8px}.mini-total{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px;color:var(--muted)}.mini-total strong{color:var(--cyan)}.results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.result-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:rgba(49,215,244,.07)}.result-card span{color:var(--muted);font-size:.88rem}.result-card strong{display:block;font-size:1.45rem;color:var(--cyan);margin-top:4px}.kit-card{grid-column:span 3;border:1px solid var(--line2);background:linear-gradient(135deg,rgba(49,215,244,.12),rgba(21,139,243,.08));border-radius:16px;padding:18px}.toast{position:fixed;right:18px;bottom:18px;background:#071421;border:1px solid var(--line2);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow);z-index:50;color:var(--text)}.wizard-actions{justify-content:space-between;margin-top:24px}.print-report{display:none;margin-top:24px;padding:28px;background:white;color:#0b1520}.report-head{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:2px solid #31d7f4;padding-bottom:18px}.report-head img{width:130px;object-fit:contain}.report-head .qr{width:92px}.print-report h2{margin:0}.print-report table{width:100%;border-collapse:collapse;margin:16px 0}.print-report td,.print-report th{border:1px solid #d6e2ea;padding:8px;text-align:left}.print-report footer{margin-top:18px;border-top:1px solid #d6e2ea;padding-top:12px;font-size:.88rem}.print-report a{color:#005ea8}@media(max-width:900px){.grid-2,.appliance-layout,.results-grid,.quick-cards{grid-template-columns:1fr}.appliance-tools{grid-template-columns:1fr}.selected-panel{position:static}.kit-card{grid-column:auto}.wizard{padding:18px}.progress-card{position:relative}.hero-calc{min-height:70vh}.brand-logo{width:140px}}@media print{body{background:white;color:#0b1520}.no-print,.hero-calc,.progress-card,.wizard,.toast{display:none!important}.calc-shell{width:100%;padding:0}.print-report{display:block!important;border:0;box-shadow:none;margin:0}.print-report a{text-decoration:underline}.report-head{page-break-inside:avoid}}


/* ==== K Solares calculadora V1.1 fixes ==== */
:root{color-scheme:dark}.brand-logo{width:210px;max-height:104px;background:rgba(2,7,13,.18);padding:6px 0;border-radius:10px}.field select,.appliance-tools select{background:#071421!important;color:#f7fbff!important;border-color:var(--line2);color-scheme:dark}.field select option,.appliance-tools select option{background:#071421;color:#f7fbff}.field input,.field textarea,.search-input{background:#071421;color:#f7fbff}.help-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.help-modal[hidden]{display:none}.help-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(5px)}.help-modal-card{position:relative;width:min(560px,calc(100vw - 32px));border:1px solid var(--line2);border-radius:20px;background:linear-gradient(180deg,#071421,#03101d);box-shadow:var(--shadow);padding:24px}.help-modal-card h3{margin:0 0 8px;color:var(--cyan)}.help-modal-card p{margin:0;color:var(--muted)}.help-close{position:absolute;right:12px;top:10px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);font-size:1.3rem;cursor:pointer}.bill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0}.selected-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.selected-controls input{min-height:42px;font-size:1rem}.stepper{display:grid;grid-template-columns:36px 1fr 36px;gap:4px;align-items:center}.stepper button{height:42px;border-radius:9px;border:1px solid var(--line);background:rgba(49,215,244,.1);color:var(--cyan);font-weight:900;cursor:pointer}.appliance-list::-webkit-scrollbar,.selected-list::-webkit-scrollbar{width:14px}.appliance-list::-webkit-scrollbar-thumb,.selected-list::-webkit-scrollbar-thumb{background:var(--cyan);border-radius:999px;border:3px solid #071421}.policy-box{margin-top:16px;border:1px solid var(--line);border-radius:16px;padding:16px;background:rgba(49,215,244,.06);color:var(--muted)}.policy-box h3{color:var(--text);margin-top:0}.policy-box li{margin:6px 0}.equipment-report-table{font-size:.88rem}.equipment-report-table th,.equipment-report-table td{vertical-align:top}.equipment-report-table td:nth-child(1){font-weight:700}.report-brand-mark{display:flex;align-items:center;gap:10px}.print-report .report-head img:first-child{width:160px;max-height:96px}.report-icon-row{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.report-icon-row span{border:1px solid #d6e2ea;border-radius:999px;padding:6px 10px;color:#0b1520}.wizard-actions .btn.primary[data-next]{min-width:160px}@media(max-width:900px){.brand-logo{width:170px}.bill-grid{grid-template-columns:1fr}.hero-content{padding:42px 0}.hero-content h1{font-size:clamp(2rem,12vw,3.2rem)}.calc-shell{width:min(100% - 20px,var(--max));padding-top:18px}.wizard{padding:14px}.field select,.field input,.search-input{font-size:16px}.appliance-layout{gap:12px}.appliance-list{max-height:420px}.selected-panel{width:100%;overflow:hidden}.selected-controls{grid-template-columns:1fr}.step-head{gap:10px}.step-head span{width:38px;height:38px}.button-row,.wizard-actions{align-items:stretch}.button-row .btn,.wizard-actions .btn{width:100%}}@media print{.policy-box{border-color:#d6e2ea;background:#f7fbff;color:#0b1520}.equipment-report-table{page-break-inside:auto}.equipment-report-table tr{page-break-inside:avoid}.print-report .report-head img:first-child{display:block!important}}


/* ==== K Solares calculadora V1.3 hero/logo refinements ==== */
.hero-bg{background-image:url('../img/portada-calculadora-hero.png') !important;background-position:center center;background-size:cover;filter:saturate(1.02) contrast(1.02) brightness(.88)}
.hero-calc:after{background:linear-gradient(90deg,rgba(2,7,13,.96) 0%,rgba(2,7,13,.80) 40%,rgba(2,7,13,.40) 100%),radial-gradient(circle at 0.8px 0.8px,rgba(49,215,244,.14) 0.75px,transparent 0.95px) !important;background-size:auto,5px 5px !important}
.hero-content{padding:34px 0 40px !important}
.brand-logo{width:min(460px,84vw) !important;max-height:none !important;height:auto !important;display:block;object-fit:contain;margin:0 0 8px 0 !important;background:transparent !important;padding:0 !important;border-radius:0 !important;box-shadow:none !important}
.eyebrow{display:block;margin-top:0;margin-bottom:10px;font-size:.92rem;letter-spacing:.12em}
.hero-content h1{margin:10px 0 14px !important;max-width:860px}
.hero-content p{max-width:760px}
@media (max-width:900px){
  .hero-content{padding:28px 0 34px !important}
  .brand-logo{width:min(340px,86vw) !important;margin-bottom:6px !important}
  .hero-calc:after{background-size:auto,4px 4px !important}
}


/* ==== Integración dentro de web K Solares ==== */
.calc-mini-nav{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:80;display:flex;gap:8px;align-items:center;padding:8px 10px;border:1px solid rgba(49,215,244,.22);border-radius:999px;background:rgba(2,7,13,.70);backdrop-filter:blur(12px);box-shadow:0 18px 50px rgba(0,0,0,.22)}
.calc-mini-nav a{color:#f7fbff;text-decoration:none;font-weight:800;font-size:.86rem;padding:7px 10px;border-radius:999px}
.calc-mini-nav a:hover{background:rgba(49,215,244,.12);color:var(--cyan)}
@media(max-width:720px){.calc-mini-nav{position:absolute;top:10px;width:calc(100% - 20px);justify-content:center;overflow:auto;border-radius:16px}.calc-mini-nav a{white-space:nowrap;font-size:.78rem}.hero-content{padding-top:74px!important}}

/* ==== V2.13 ajuste final: calculadora usable desde el primer pantallazo ==== */
.hero-calc{
  min-height:0!important;
  height:clamp(640px,74vh,680px)!important;
  align-items:center!important;
}
.hero-calc .hero-content{
  padding-top:80px!important;
  padding-bottom:34px!important;
}
.hero-calc .hero-content h1{
  font-size:clamp(2rem,4.8vw,4rem)!important;
  letter-spacing:0!important;
}
@media(max-width:720px){
  .hero-calc{
    height:auto!important;
    min-height:0!important;
  }
  .hero-calc .hero-content{
    padding-top:88px!important;
    padding-bottom:28px!important;
  }
  .hero-calc .brand-logo{
    width:min(250px,76vw)!important;
  }
  .hero-calc .eyebrow{
    font-size:.72rem!important;
    letter-spacing:.08em!important;
  }
  .hero-calc .hero-content h1{
    font-size:clamp(1.7rem,7vw,2.35rem)!important;
    line-height:1.06!important;
  }
  .hero-calc .hero-content p{
    font-size:.95rem!important;
    line-height:1.5!important;
  }
  .hero-calc .hero-actions .btn{
    min-height:42px!important;
    padding-inline:14px!important;
  }
  .hero-calc .legal-note{
    display:none!important;
  }
}


/* ==== V1.4 CALCULADORA LIGHTER HERO + MOBILE USABILITY ==== */
.hero-bg {
  filter: saturate(1.04) contrast(1.01) brightness(1.12) !important;
}

.hero-calc:after {
  background:
    linear-gradient(90deg, rgba(2,7,13,.72) 0%, rgba(2,7,13,.48) 40%, rgba(2,7,13,.18) 100%),
    radial-gradient(circle at 0.8px 0.8px, rgba(49,215,244,.12) 0.75px, transparent 0.95px) !important;
  background-size: auto, 5px 5px !important;
}

@media (max-width: 720px) {
  .calc-mini-nav {
    justify-content: flex-start !important;
    overflow-x: auto !important;
    gap: 6px !important;
    padding: 8px !important;
  }

  .calc-mini-nav a {
    flex: 0 0 auto;
  }

  .hero-calc .hero-content {
    padding-top: 96px !important;
    padding-bottom: 36px !important;
  }

  .progress-card {
    position: relative !important;
    top: auto !important;
    padding: 14px !important;
  }

  .step-tabs {
    gap: 8px !important;
  }

  .step-tabs button {
    padding: 10px 12px !important;
  }

  .wizard {
    padding: 16px !important;
  }

  .step-head {
    display: grid !important;
    grid-template-columns: 38px 1fr !important;
    gap: 10px !important;
    margin-bottom: 18px !important;
  }

  .appliance-tools {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .appliance-tools .btn,
  .appliance-tools button,
  .appliance-tools select,
  .search-input,
  .field input,
  .field select,
  .field textarea {
    width: 100% !important;
    min-height: 50px !important;
    font-size: 16px !important;
  }

  .appliance-layout {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .appliance-list,
  .selected-list {
    max-height: none !important;
    overflow: visible !important;
  }

  .appliance-card,
  .selected-item,
  .selected-panel {
    padding: 16px !important;
  }

  .appliance-card .row {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .selected-panel {
    position: static !important;
  }

  .selected-controls {
    grid-template-columns: 1fr !important;
  }

  .mini-total {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .button-row,
  .wizard-actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .button-row .btn,
  .wizard-actions .btn {
    width: 100% !important;
  }
}


/* ==== V2.20 CALCULADORA HERO FONDO PANEL + LOGO ARRIBA ==== */
.hero-bg{
  background-image:url('../img/portada-calculadora-paneles-mobile.jpg') !important;
  background-position:center center !important;
  background-size:cover !important;
  filter:saturate(1.02) contrast(1.01) brightness(1.08) !important;
}
.hero-calc:after{
  background:
    linear-gradient(90deg, rgba(2,7,13,.72) 0%, rgba(2,7,13,.52) 38%, rgba(2,7,13,.20) 100%),
    radial-gradient(circle at 0.9px 0.9px, rgba(49,215,244,.11) 0.8px, transparent 1px) !important;
  background-size:auto,6px 6px !important;
}
.hero-calc .hero-content{padding-top:118px !important}
.hero-calc .brand-logo{
  width:min(430px, 74vw) !important;
  max-width:430px !important;
  margin:0 0 12px 0 !important;
  display:block;
}
.hero-calc .eyebrow{margin-bottom:12px}
@media(max-width:720px){
  .hero-calc .hero-content{padding-top:112px !important}
  .hero-calc .brand-logo{
    width:min(250px, 68vw) !important;
    max-width:250px !important;
    margin-bottom:10px !important;
  }
  .hero-calc .hero-content h1{max-width:100%}
}

/* ==== V2.21 CALCULADORA FONDO PANEL + LOGO NORMAL ==== */
.hero-bg {
  background-image: url('../img/portada-calculadora-paneles-mobile.jpg') !important;
  background-position: center center !important;
  background-size: cover !important;
  filter: saturate(1.04) contrast(1.02) brightness(1.10) !important;
  transform: scale(1.01) !important;
}
.hero-calc:after {
  background:
    linear-gradient(90deg, rgba(2,7,13,.66) 0%, rgba(2,7,13,.42) 42%, rgba(2,7,13,.14) 100%),
    linear-gradient(0deg, rgba(2,7,13,.36) 0%, rgba(2,7,13,.08) 58%, rgba(2,7,13,.07) 100%),
    radial-gradient(circle at 0.9px 0.9px, rgba(49,215,244,.10) 0.8px, transparent 1px) !important;
  background-size: auto, auto, 6px 6px !important;
}
.hero-calc .hero-content {
  padding-top: 92px !important;
  padding-bottom: 54px !important;
}
.hero-calc .brand-logo {
  width: min(300px, 48vw) !important;
  max-width: 300px !important;
  max-height: 96px !important;
  height: auto !important;
  margin: 0 0 16px 0 !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  object-fit: contain !important;
  object-position: left center !important;
}
.hero-calc .hero-content h1 {
  max-width: 820px !important;
}
@media (max-width: 720px) {
  .hero-calc .hero-content {
    padding-top: 84px !important;
    padding-bottom: 34px !important;
  }
  .hero-calc .brand-logo {
    width: min(170px, 54vw) !important;
    max-width: 170px !important;
    margin-bottom: 12px !important;
  }
}

/* ==== V2.22 CALCULADORA HERO SIN PUNTOS - CHATGPT ==== */
.hero-bg {
  background-image: url('../img/portada-calculadora-hero.png') !important;
  background-size: cover !important;
  background-position: center center !important;
  filter: saturate(1.06) contrast(1.02) brightness(1.02) !important;
  transform: none !important;
}
.hero-calc:after {
  background: linear-gradient(90deg, rgba(2,7,13,.70) 0%, rgba(2,7,13,.45) 42%, rgba(2,7,13,.18) 100%) !important;
  background-size: auto !important;
}


/* Beta badge para calculadoras K Solares */
.beta-badge{display:inline-flex;align-items:center;gap:8px;width:max-content;margin:8px 0 10px;padding:8px 12px;border:1px solid rgba(49,215,244,.45);border-radius:999px;background:rgba(4,25,35,.72);color:#31d7f4;font-weight:900;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem}.beta-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:#31d7f4;box-shadow:0 0 16px rgba(49,215,244,.75)}@media(max-width:720px){.beta-badge{font-size:.7rem;white-space:normal}}
