/* Zuiron UX — bloque 2 · pieza 2: calculadora de precio (/precio-implantacion-odoo) */
.zw-calc-sec{--zc-azul:#16519B;--zc-verde:#4E8134;--zc-oscuro:#0A1923;--zc-acento:#4DD6C1;--zc-gris:#5A6B7A;--zc-linea:#E3E8ED;--zc-fondo:#F5F8FA;--zc-ease:cubic-bezier(.2,.8,.2,1);
  background:var(--zc-fondo);padding:72px 20px;color:var(--zc-oscuro);line-height:1.5}
.zw-calc{max-width:1140px;margin:0 auto}
.zw-calc *{box-sizing:border-box}
.zw-calc-head{text-align:center;max-width:680px;margin:0 auto 36px}
.zw-calc-eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--zc-azul);margin-bottom:12px}
.zw-calc-head h2{font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.2;font-weight:700;margin:0 0 12px;letter-spacing:-.01em}
.zw-calc-head p{color:var(--zc-gris);font-size:1.04rem;margin:0}
.zw-calc-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}

.zw-q{border:0;margin:0 0 22px;padding:0;min-width:0}
.zw-q legend{float:none;width:auto;font-size:1rem;font-weight:700;margin:0 0 10px;padding:0;display:flex;align-items:center;gap:10px}
.zw-q-n{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#fff;border:1.5px solid var(--zc-azul);color:var(--zc-azul);font-size:.78rem;flex:0 0 auto}
.zw-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.zw-opts-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.zw-opts-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.zw-opts label{position:relative;margin:0;cursor:pointer;display:block}
.zw-opts input{position:absolute;opacity:0;width:1px;height:1px}
.zw-opts label span{display:flex;flex-direction:column;justify-content:center;height:100%;min-height:52px;padding:11px 14px;background:#fff;border:1.5px solid var(--zc-linea);border-radius:10px;font-size:.92rem;color:var(--zc-oscuro);
  transition:border-color .15s var(--zc-ease),background-color .15s var(--zc-ease),transform .12s var(--zc-ease)}
.zw-opts label span small{display:block;color:var(--zc-gris);font-size:.8rem;margin-top:2px}
.zw-opts label:hover span{border-color:#b9c9da}
.zw-opts label:active span{transform:scale(.98)}
.zw-opts input:focus-visible + span{outline:2px solid var(--zc-acento);outline-offset:2px}
.zw-opts input:checked + span{border-color:var(--zc-azul);background:#EEF4FB;box-shadow:inset 0 0 0 1px var(--zc-azul)}
.zw-q-sector .zw-opts label span{min-height:64px}

.zw-calc-res{position:sticky;top:96px;background:linear-gradient(160deg,#0A1923 0%,#16519B 100%);color:#fff;border-radius:14px;padding:28px 26px;box-shadow:0 18px 44px -18px rgba(10,25,35,.55)}
.zw-res-label{font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--zc-acento);margin:0 0 10px}
.zw-res-empty{color:rgba(255,255,255,.75);margin:0 0 18px}
.zw-res-price{font-size:clamp(1.7rem,3vw,2.1rem);font-weight:700;letter-spacing:-.01em;margin:0;font-variant-numeric:tabular-nums}
.zw-res-weeks{color:rgba(255,255,255,.8);margin:2px 0 18px;font-variant-numeric:tabular-nums}
.zw-res-bar{position:relative;height:10px;border-radius:6px;background:rgba(255,255,255,.16);overflow:hidden}
.zw-res-win{position:absolute;top:0;bottom:0;left:0;width:33.4%;border-radius:6px;background:var(--zc-acento);transition:left .35s var(--zc-ease)}
.zw-res-scale{display:flex;justify-content:space-between;font-size:.78rem;color:rgba(255,255,255,.6);margin:6px 0 16px;font-variant-numeric:tabular-nums}
.zw-res-progress{font-size:.84rem;color:rgba(255,255,255,.7);margin:0 0 6px}
.zw-res-note{font-size:.84rem;color:rgba(255,255,255,.7);margin:10px 0 18px}
.zw-res-cta{display:block;text-align:center;background:var(--zc-verde);color:#fff!important;padding:14px 18px;border-radius:8px;font-weight:700;text-decoration:none!important;
  box-shadow:0 4px 14px rgba(78,129,52,.35);transition:transform .15s var(--zc-ease)}
.zw-res-cta:hover{transform:translateY(-1px)}
.zw-res-cta:active{transform:scale(.98)}
.zw-res-price.zw-pulse{animation:zwPulse .35s var(--zc-ease)}
@keyframes zwPulse{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}

.zw-calc-mini{display:none}
@media (max-width:991.98px){
  .zw-calc-grid{grid-template-columns:1fr}
  .zw-calc-res{position:relative;top:auto}
  .zw-calc-mini:not([hidden]){display:block;position:fixed;left:50%;transform:translateX(-50%);bottom:calc(76px + env(safe-area-inset-bottom));z-index:1021;
    border:0;border-radius:999px;padding:11px 18px;background:#0A1923;color:#fff;font-weight:700;font-size:.92rem;white-space:nowrap;
    box-shadow:0 10px 24px -10px rgba(10,25,35,.6);animation:zwMiniIn .25s cubic-bezier(.2,.8,.2,1)}
  @keyframes zwMiniIn{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translateX(-50%)}}
}
@media (min-width:768px) and (max-width:991.98px){
  .zw-calc-mini:not([hidden]){bottom:calc(20px + env(safe-area-inset-bottom))}
}
@media (max-width:640px){
  .zw-calc-sec{padding:52px 16px}
  .zw-opts,.zw-opts-4,.zw-opts-2{grid-template-columns:1fr}
  .zw-opts label span{min-height:46px}
}
@media (prefers-reduced-motion:reduce){
  .zw-calc *{transition:none!important;animation:none!important}
}
