/* ============================================================
   CALCULADORA DE KVA — estilos
   Subir a: static/css/calculadora-kva.css
   Todo está encapsulado bajo #kva-app para no chocar con el tema.
   PERSONALIZACIÓN: cambia los valores del bloque #kva-app de abajo.
   ============================================================ */
#kva-app{
  /* Paleta Nexmaq */
  --kva-acento:#9E1B1B;         /* rojo corporativo (títulos y botones del sitio) */
  --kva-acento-oscuro:#610F0F;  /* rojo oscuro para degradados */
  --kva-acento-suave:#FBEEEE;   /* fondo suave derivado del rojo */
  --kva-negro:#000000;          /* negro del header y del logo */
  --kva-alerta:#B54708;
  --kva-texto:#1A1A1A;
  --kva-texto-2:#5F6368;
  --kva-linea:#E3E3E3;
  --kva-fondo:#FFFFFF;
  --kva-fondo-2:#F6F6F6;
  --kva-seleccion:#EDEDED;    /* gris claro del equipo seleccionado */
  --kva-radio:12px;

  max-width:1120px;margin:0 auto;padding:20px;
  font-family:inherit;color:var(--kva-texto);line-height:1.5;
  -webkit-font-smoothing:antialiased;text-align:left;
}
#kva-app *,#kva-app *::before,#kva-app *::after{box-sizing:border-box}
#kva-app p,#kva-app h1,#kva-app h2,#kva-app ul,#kva-app li{margin:0;padding:0;list-style:none}
#kva-app button,#kva-app input,#kva-app select{font-family:inherit}

/* Encabezado */
#kva-app .kva-head{margin-bottom:18px}
#kva-app .kva-head h1{font-size:26px;margin:0 0 6px;letter-spacing:-.02em;line-height:1.2;color:var(--kva-texto)}
#kva-app .kva-head p{margin:0;color:var(--kva-texto-2);font-size:15px}

/* Pestañas */
#kva-app .kva-tabs{display:flex;gap:6px;background:var(--kva-fondo-2);padding:5px;border-radius:var(--kva-radio);margin:18px 0}
#kva-app .kva-tab{flex:1;padding:11px 12px;border:0;background:transparent;font-weight:600;font-size:14px;color:var(--kva-texto-2);border-radius:9px;cursor:pointer;transition:.15s;line-height:1.3}
#kva-app .kva-tab[aria-selected="true"]{background:#fff;color:var(--kva-acento);box-shadow:0 1px 3px rgba(0,0,0,.10)}

/* Layout */
#kva-app .kva-grid{display:grid;grid-template-columns:1fr 380px;gap:20px;align-items:start}
@media(max-width:900px){#kva-app .kva-grid{grid-template-columns:1fr}}

#kva-app .kva-card{border:1px solid var(--kva-linea);border-radius:var(--kva-radio);background:var(--kva-fondo);overflow:hidden}
#kva-app .kva-card + .kva-card{margin-top:16px}
#kva-app .kva-card > h2{font-size:13px;margin:0;padding:13px 16px;border-bottom:1px solid var(--kva-linea);background:var(--kva-fondo-2);font-weight:700;color:var(--kva-texto);text-transform:uppercase;letter-spacing:.07em}
#kva-app .kva-body{padding:16px}

/* Catálogo */
#kva-app .kva-cats{display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px;border-bottom:1px solid var(--kva-linea)}
#kva-app .kva-cat{padding:7px 12px;border:1px solid var(--kva-linea);background:#fff;border-radius:99px;font-size:13px;font-weight:600;color:var(--kva-texto-2);cursor:pointer;line-height:1.3}
#kva-app .kva-cat[aria-pressed="true"]{background:var(--kva-acento);border-color:var(--kva-acento);color:#fff}
#kva-app .kva-buscador{width:100%;padding:10px 12px;border:1px solid var(--kva-linea);border-radius:9px;font-size:14px;background:#fff;color:var(--kva-texto);height:auto}
#kva-app .kva-lista{max-height:430px;overflow-y:auto}
#kva-app .kva-titulo-cat{padding:9px 16px;background:var(--kva-fondo-2);font-size:12px;font-weight:700;color:var(--kva-texto-2);text-transform:uppercase;letter-spacing:.05em}
#kva-app .kva-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--kva-linea)}
#kva-app .kva-item:last-child{border-bottom:0}
#kva-app .kva-item.kva-activo{background:var(--kva-seleccion)}
#kva-app .kva-n{flex:1;min-width:0}
#kva-app .kva-n strong{display:block;font-size:14px;font-weight:600;color:var(--kva-texto)}
#kva-app .kva-n span{font-size:12px;color:var(--kva-texto-2)}
#kva-app .kva-qty{display:flex;align-items:center;border:1px solid var(--kva-linea);border-radius:8px;overflow:hidden;flex:none}
#kva-app .kva-qty button{width:30px;height:32px;border:0;background:var(--kva-fondo-2);font-size:16px;font-weight:700;color:var(--kva-texto-2);cursor:pointer;padding:0;line-height:1}
#kva-app .kva-qty button:hover{background:var(--kva-seleccion);color:var(--kva-acento)}
#kva-app .kva-qty input{width:42px;height:32px;border:0;border-left:1px solid var(--kva-linea);border-right:1px solid var(--kva-linea);text-align:center;font-size:14px;font-weight:600;padding:0;border-radius:0;background:#fff;color:var(--kva-texto);-moz-appearance:textfield}
#kva-app .kva-qty input::-webkit-outer-spin-button,#kva-app .kva-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* Formularios */
#kva-app .kva-campo{margin-bottom:14px}
#kva-app .kva-campo label{display:block;font-size:13px;font-weight:600;margin-bottom:5px;color:var(--kva-texto);text-transform:none}
#kva-app .kva-ayuda{font-size:12px;color:var(--kva-texto-2);font-weight:400;margin-top:4px;display:block}
#kva-app .kva-campo input[type=number],#kva-app .kva-campo input[type=text],#kva-app .kva-campo select{width:100%;padding:10px 12px;border:1px solid var(--kva-linea);border-radius:9px;font-size:14px;background:#fff;color:var(--kva-texto);height:auto;margin:0}
#kva-app .kva-campo input:focus,#kva-app .kva-campo select:focus,#kva-app .kva-buscador:focus{outline:2px solid var(--kva-acento);outline-offset:-1px;border-color:var(--kva-acento)}
#kva-app .kva-fila{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){#kva-app .kva-fila{grid-template-columns:1fr}}
#kva-app input[type=range]{width:100%;accent-color:var(--kva-acento);padding:0}

/* Resultado */
#kva-app .kva-res{position:sticky;top:16px}
@media(max-width:900px){#kva-app .kva-res{position:static}}
#kva-app .kva-destacado{padding:20px 16px;text-align:center;background:linear-gradient(145deg,#1A1A1A 0%,#5E0F0F 62%,var(--kva-acento) 100%);color:#fff}
#kva-app .kva-destacado .kva-lab{font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.85;font-weight:600}
#kva-app .kva-destacado .kva-val{font-size:44px;font-weight:800;line-height:1.1;margin:2px 0}
#kva-app .kva-destacado .kva-sub{font-size:13px;opacity:.9}
#kva-app .kva-sugerido{padding:14px 16px;background:var(--kva-acento-suave);border-bottom:1px solid var(--kva-linea);text-align:center}
#kva-app .kva-sugerido .kva-lab{font-size:12px;color:var(--kva-texto-2);font-weight:600;text-transform:uppercase;letter-spacing:.06em}
#kva-app .kva-sugerido .kva-val{font-size:24px;font-weight:800;color:var(--kva-acento-oscuro)}
#kva-app .kva-modelo{margin-top:12px;text-align:left}
#kva-app .kva-opciones-tit{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--kva-texto-2);margin-bottom:6px}
#kva-app .kva-modelo a{display:block;position:relative;background:#fff;border:1px solid var(--kva-linea);border-radius:9px;padding:9px 12px;text-decoration:none;transition:.15s;margin-bottom:6px}
#kva-app .kva-modelo a:hover{border-color:var(--kva-acento);box-shadow:0 2px 8px rgba(158,27,27,.16)}
#kva-app .kva-modelo a strong{display:block;font-size:13px;color:var(--kva-acento);font-weight:700;line-height:1.3;padding-right:74px}
#kva-app .kva-modelo a .kva-det{display:block;font-size:12px;color:var(--kva-texto-2);margin-top:1px}
#kva-app .kva-badge{position:absolute;top:9px;right:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:99px;background:var(--kva-acento);color:#fff}
#kva-app .kva-badge-holgura{background:var(--kva-fondo-2);color:var(--kva-texto-2)}
#kva-app .kva-todos{display:block;text-align:center;border:0!important;background:transparent!important;padding:2px 0 0!important;margin:0!important;font-size:12px;font-weight:700;color:var(--kva-acento);box-shadow:none!important;text-decoration:underline}
#kva-app .kva-sin-modelo{font-size:12px;color:var(--kva-texto-2);background:#fff;border:1px dashed var(--kva-linea);border-radius:9px;padding:9px 12px;text-align:left}
#kva-app .kva-datos li{display:flex;justify-content:space-between;gap:10px;padding:10px 16px;border-bottom:1px solid var(--kva-linea);font-size:14px}
#kva-app .kva-datos li:last-child{border-bottom:0}
#kva-app .kva-datos li span{color:var(--kva-texto-2)}
#kva-app .kva-datos li b{font-variant-numeric:tabular-nums;text-align:right}

/* Desglose */
#kva-app .kva-barra{margin:0 0 10px}
#kva-app .kva-barra .kva-top{display:flex;justify-content:space-between;font-size:13px;margin-bottom:4px;gap:10px}
#kva-app .kva-barra .kva-top b{font-variant-numeric:tabular-nums;white-space:nowrap}
#kva-app .kva-pista{height:7px;background:var(--kva-fondo-2);border-radius:99px;overflow:hidden}
#kva-app .kva-relleno{height:100%;background:var(--kva-acento);border-radius:99px}

#kva-app .kva-aviso{padding:12px 16px;font-size:13px;background:#FFF7ED;border-top:1px solid var(--kva-linea);color:var(--kva-alerta)}
#kva-app .kva-nota{font-size:12px;color:var(--kva-texto-2);padding:12px 16px;border-top:1px solid var(--kva-linea);background:var(--kva-fondo-2)}
#kva-app .kva-acciones{display:flex;gap:8px;padding:14px 16px;flex-wrap:wrap;border-top:1px solid var(--kva-linea)}
#kva-app .kva-btn{flex:1;min-width:130px;padding:11px 14px;border-radius:9px;border:1px solid var(--kva-acento);background:var(--kva-acento);color:#fff;font-weight:700;font-size:14px;cursor:pointer;text-align:center;text-decoration:none;line-height:1.4;display:inline-block}
#kva-app .kva-btn.kva-sec{background:#fff;color:var(--kva-acento)}
#kva-app .kva-btn:hover{filter:brightness(1.07);color:#fff}
#kva-app .kva-btn.kva-sec:hover{color:var(--kva-acento)}
#kva-app .kva-vacio{padding:26px 16px;text-align:center;color:var(--kva-texto-2);font-size:14px}
#kva-app .kva-chip{display:inline-block;font-size:11px;font-weight:700;padding:2px 7px;border-radius:99px;background:var(--kva-fondo-2);color:var(--kva-texto-2);margin-left:6px}
#kva-app .kva-seleccion{padding:10px 16px;border-top:1px solid var(--kva-linea);font-size:13px;color:var(--kva-texto-2);display:flex;justify-content:space-between;align-items:center;gap:10px}
#kva-app .kva-link{background:none;border:0;color:var(--kva-acento);font-size:13px;font-weight:600;cursor:pointer;text-decoration:underline;padding:0}
#kva-app .kva-avz{border-top:1px solid var(--kva-linea)}
#kva-app .kva-avz summary{padding:12px 16px;font-size:13px;font-weight:700;cursor:pointer;color:var(--kva-acento)}
#kva-app .kva-avz .kva-body{padding:0 16px 16px}
#kva-app .kva-pie{margin-top:22px;font-size:12px;color:var(--kva-texto-2);text-align:center;padding-bottom:10px}
#kva-app .kva-mas{font-size:12px;color:var(--kva-texto-2)}

@media print{
  #kva-app .kva-tabs,#kva-app .kva-acciones,#kva-app .kva-cats,#kva-app .kva-buscador,#kva-app .kva-qty button{display:none!important}
  #kva-app .kva-grid{grid-template-columns:1fr}
}
