
.kr-app{--accent:#84c63f;--ink:#232323;--muted:#6c6c6c;--line:#e6e2dc;--soft:#f6f4f1;font-family:Inter,Arial,sans-serif;color:var(--ink)}
.kr-card{max-width:1120px;margin:24px auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:0 22px 60px rgba(0,0,0,.08)}
.kr-header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding-bottom:22px}.kr-header h2{margin:4px 0 6px;font-size:34px}.kr-header p{margin:0;color:var(--muted)}.kr-eyebrow{font-weight:800;letter-spacing:.18em;color:var(--accent)}
.kr-progress{width:280px;height:8px;background:#eee;border-radius:99px;overflow:hidden}.kr-progress span{display:block;width:12.5%;height:100%;background:var(--accent);transition:.3s}
.kr-step{display:none;min-height:360px;padding:24px 0}.kr-step.active{display:block}.kr-step h3{font-size:25px}.kr-step h3 small{font-size:14px;color:var(--muted);font-weight:400}.kr-title-row{display:flex;align-items:center;justify-content:space-between}
.kr-options{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.kr-options button{background:var(--soft);border:2px solid transparent;border-radius:16px;padding:20px;text-align:left;font-size:16px;cursor:pointer;transition:.2s}.kr-options button:hover,.kr-options button.selected{background:#fff;border-color:var(--accent);transform:translateY(-2px)}.kr-options strong{display:block;font-size:18px;margin-bottom:6px}.kr-options small{color:var(--muted);line-height:1.45}
.kr-checkbox{display:block;margin-top:18px}.kr-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.kr-fields label{font-weight:700}.kr-fields input,.kr-fields select{width:100%;box-sizing:border-box;margin-top:8px;padding:13px 14px;border:1px solid #d7d2cc;border-radius:11px;font-size:16px}
.kr-colors{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.kr-color{background:#fff;border:2px solid transparent;border-radius:14px;padding:8px;cursor:pointer}.kr-color.selected{border-color:var(--accent)}.kr-swatch{height:70px;border:1px solid rgba(0,0,0,.09);border-radius:10px;margin-bottom:6px}
.kr-help{color:var(--muted);font-size:13px}.kr-actions{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px}.kr-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;border-radius:12px;padding:13px 20px;font-weight:800;cursor:pointer}.kr-btn.primary{background:var(--ink);color:#fff}.kr-btn.ghost{background:#ece8e3;color:var(--ink)}.kr-btn:disabled{opacity:.4}
.kr-link{border:0;background:none;color:#41790c;text-decoration:underline;cursor:pointer}.kr-summary{display:grid;grid-template-columns:1fr 1.2fr;gap:20px}.kr-panel{border:1px solid var(--line);border-radius:18px;padding:20px}.kr-badge{display:inline-block;padding:5px 9px;border-radius:99px;background:#eff7e9;color:#315d16;font-weight:800;font-size:12px}
.kr-table{width:100%;border-collapse:collapse}.kr-table th,.kr-table td{text-align:left;padding:10px 6px;border-bottom:1px solid #eee;font-size:14px}.kr-total{font-size:28px;font-weight:900;margin:12px 0}.kr-warning{background:#fff4e5;border:1px solid #ffd59a;padding:12px;border-radius:10px;margin:10px 0}.kr-result-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.kr-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;padding:20px;z-index:99999}.kr-modal.open{display:flex}.kr-modal-box{max-width:1000px;width:100%;background:#fff;border-radius:20px;padding:24px;position:relative;max-height:85vh;overflow:auto}.kr-modal-close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:30px;cursor:pointer}.kr-compare-table{overflow:auto}.kr-compare-table table{width:100%;border-collapse:collapse}.kr-compare-table th,.kr-compare-table td{padding:12px;border-bottom:1px solid #eee;text-align:left;white-space:nowrap}
@media(max-width:760px){.kr-card{padding:18px;border-radius:16px}.kr-header{display:block}.kr-progress{width:100%;margin-top:20px}.kr-options{grid-template-columns:1fr}.kr-colors{grid-template-columns:repeat(2,1fr)}.kr-fields,.kr-summary{grid-template-columns:1fr}.kr-title-row{align-items:flex-start;gap:10px}.kr-header h2{font-size:28px}}


/* Compatibilidad con Futurio Storefront y cabeceras fijas */
body .site-header,
body #masthead,
body .main-header,
body .header-main,
body .elementor-location-header {
  position: relative;
  z-index: 99990 !important;
}

body .sticky-header,
body .is-sticky,
body .fixed-header,
body .header-sticky {
  z-index: 99990 !important;
}

.kr-app,
.kr-card {
  position: relative;
  z-index: 1;
}

#kretolab-pro-app {
  scroll-margin-top: 120px;
}

/* Evita que un paso nuevo parezca vacío cuando el usuario estaba al final de la página */
.kr-step.active {
  scroll-margin-top: 120px;
}


/* Corrección fuerte de pasos para temas que fuerzan display en elementos <section> */
#kretolab-pro-app .kr-step {
  display: none !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
  padding: 24px 0 !important;
}

#kretolab-pro-app .kr-step.active {
  display: block !important;
}

#kretolab-pro-app .kr-step[hidden] {
  display: none !important;
}

/* El contenedor no debe reservar espacio de pasos ocultos */
#kretolab-pro-app main {
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
}

/* Evita espacios en blanco exagerados entre contenido y botones */
#kretolab-pro-app .kr-actions {
  margin-top: 8px !important;
}

.kr-service-box{margin-top:24px;border:1px solid var(--line);border-radius:16px;padding:18px;background:#faf9f7}.kr-options-inline{grid-template-columns:repeat(2,minmax(0,1fr))}.kr-installation-fields{margin-top:18px}@media(max-width:760px){.kr-options-inline{grid-template-columns:1fr}}

.kr-breakdown{display:grid;gap:8px;margin-top:12px}
.kr-breakdown>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:6px 0}
.kr-breakdown-total{font-size:1.05rem;font-weight:800;border-bottom:0!important;padding-top:10px!important}
.kr-project-total{margin:22px 0;border:2px solid var(--accent);border-radius:18px;padding:24px;text-align:center;background:#fbfff7}
.kr-project-total-label{font-weight:800;letter-spacing:.08em;font-size:.82rem}
.kr-project-total-value{font-size:2rem;font-weight:900;margin:8px 0}
.kr-project-total-note{color:#666}
.kr-includes-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0 22px}
.kr-includes-card{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff}
.kr-includes-card h4{margin:0 0 10px}
.kr-install-panel{grid-column:1/-1}
@media(max-width:760px){
  .kr-includes-grid{grid-template-columns:1fr}
  .kr-project-total-value{font-size:1.55rem}
}
