/* =========================================================
   PLANNA — Valorador. Depende de los tokens de planna.css
   ========================================================= */
.pv{position:relative}
.pv [hidden]{display:none!important}
.pv-row-help:empty{display:none}
.pv-row-help.is-err{color:var(--pl-red-500)}
.pv-row-help{margin-top:-6px}
.pv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pv-demo{margin:-8px 0 4px;font-size:12px;font-weight:600;color:var(--pl-orange-700);background:var(--pl-brand-subtle);padding:6px 10px;border-radius:6px}
.pv-top{display:flex;flex-direction:column;gap:10px}
.pv-progress{height:4px;border-radius:999px;background:var(--pl-neutral-100);overflow:hidden}
.pv-progress span{display:block;height:100%;width:var(--pv-p,33.33%);background:var(--pl-brand);border-radius:inherit;transition:width 520ms var(--pl-ease-out)}
.pv-steplabel{font-size:13px;font-weight:600;color:var(--pl-text-2)}
.pv-form{display:block;margin:0}
.pv-step{border:0;margin:0;padding:0;min-width:0;display:none;flex-direction:column;gap:14px}
.pv-step.is-active{display:flex;animation:pv-in 420ms var(--pl-ease-out) both}
@keyframes pv-in{from{opacity:0;transform:translateX(calc(var(--dir,1) * 16px))}to{opacity:1;transform:none}}
.pv-row{display:flex;gap:12px;align-items:flex-end}
.pv-row .pl-field{flex:1;min-width:0}
.pv-row--2>*{flex:1}
.pv-num{max-width:110px}
.pv-row .pv-buscar{height:52px;flex:none}
.pv .pl-field select{width:100%;height:52px;padding:0 40px 0 16px;border-radius:var(--pl-r-md);border:1px solid var(--pl-border);background:var(--pl-input) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%236E6C68' d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E") no-repeat right 14px center/16px;font:400 16px var(--pl-font);color:var(--pl-text);appearance:none;transition:border-color var(--pl-t-fast),box-shadow var(--pl-t-fast)}
.pv .pl-field select:focus{outline:none;border-color:var(--pl-brand);box-shadow:var(--pl-focus)}
.pv-label{font-size:13px;font-weight:600}
.pv .pl-field.is-loading input{background-image:linear-gradient(90deg,transparent,rgba(243,130,31,.12),transparent);background-size:200% 100%;animation:pv-shimmer 1s linear infinite}
@keyframes pv-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
.pv .pl-field.is-ok input,.pv .pl-field.is-ok select{border-color:var(--pl-green-500)}

/* Autocompletado */
.pv-combo{position:relative}
.pv-list{position:absolute;z-index:20;left:0;right:0;top:78px;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--pl-border);border-radius:var(--pl-r-md);box-shadow:var(--pl-e3);max-height:260px;overflow:auto;animation:pv-drop 200ms var(--pl-ease-out)}
@keyframes pv-drop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.pv-list li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;font-size:15px;cursor:pointer}
.pv-list li svg{width:16px;height:16px;color:var(--pl-text-3);flex:none}
.pv-list li[aria-selected="true"],.pv-list li:hover{background:var(--pl-brand-subtle)}
.pv-list li[aria-selected="true"] svg{color:var(--pl-brand)}

/* Encontrado */
.pv-found{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--pl-r-md);background:var(--pl-brand-subtle);border:1px solid var(--pl-orange-100)}
.pv-found.is-in,.pv-unidades.is-in{animation:pv-pop 360ms var(--pl-ease-out)}
@keyframes pv-pop{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.pv-found__ico{width:32px;height:32px;border-radius:50%;background:#fff;color:var(--pl-brand);display:grid;place-items:center;flex:none}
.pv-found__ico svg{width:18px;height:18px}
.pv-found__ico svg path{stroke-dasharray:60;stroke-dashoffset:60;animation:pl-draw 500ms var(--pl-ease-out) 80ms forwards}
.pv-found div{display:flex;flex-direction:column;font-size:14px;line-height:1.35}
.pv-found span{color:var(--pl-text-2)}
.pv-link{align-self:flex-start;background:none;border:0;padding:2px 0;font:600 14px var(--pl-font);color:var(--pl-text-2);text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:color var(--pl-t-fast)}
.pv-link:hover{color:var(--pl-brand)}
.pv .pv-link:hover,.pv .pv-link:focus{background:none;color:var(--pl-brand)}

/* Segmentados y chips */
.pv-seg{display:flex;padding:4px;border-radius:var(--pl-r-md);background:var(--pl-input);border:1px solid var(--pl-border);height:52px}
.pv-seg label{flex:1;position:relative;cursor:pointer}
.pv-seg input,.pv-chips input,.pv-consent input{position:absolute;opacity:0;pointer-events:none}
.pv-seg span{display:grid;place-items:center;height:100%;border-radius:8px;font-size:15px;font-weight:600;color:var(--pl-text-2);transition:background var(--pl-t-base) var(--pl-ease),color var(--pl-t-base),box-shadow var(--pl-t-base)}
.pv-seg input:checked+span{background:#fff;color:var(--pl-text);box-shadow:var(--pl-e1)}
.pv-seg input:focus-visible+span{box-shadow:var(--pl-focus)}
.pv-chips{display:flex;flex-wrap:wrap;gap:8px}
.pv-chips label{position:relative;cursor:pointer}
.pv-chips span{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;border:1px solid var(--pl-border);background:#fff;font-size:14px;font-weight:600;transition:all var(--pl-t-fast) var(--pl-ease)}
.pv-chips label:hover span{border-color:var(--pl-orange-300)}
.pv-chips input:checked+span{background:var(--pl-brand-subtle);border-color:var(--pl-brand);color:var(--pl-text)}
.pv-chips input:checked+span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pl-brand);animation:pv-pop 240ms var(--pl-ease-out)}
.pv-chips input:focus-visible+span{box-shadow:var(--pl-focus)}

/* Consentimiento */
.pv-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:var(--pl-text-2);cursor:pointer;position:relative}
.pv-consent span::before{content:"";flex:none;display:inline-block;width:18px;height:18px;margin:0 10px -4px 0;border-radius:5px;border:1.5px solid var(--pl-border-2);background:#fff;vertical-align:baseline;transition:all var(--pl-t-fast)}
.pv-consent input:checked+span::before{background:var(--pl-brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;border-color:var(--pl-brand)}
.pv-consent input:focus-visible+span::before{box-shadow:var(--pl-focus)}
.pv-consent.is-error span::before{border-color:var(--pl-red-500)}
.pv-consent a{color:var(--pl-text);text-decoration:underline}
.pv-consent-err{color:var(--pl-red-500)}
.pv-consent-err:empty{display:none}
.pv-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

/* Navegación */
.pv-nav{margin-top:4px}
.pv-nav--2{display:flex;gap:10px}
.pv-nav--2 .pv-next,.pv-nav--2 .pv-submit{flex:1}
.pv .pl-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}
.pv .pl-btn--secondary svg{transition:transform var(--pl-t-base) var(--pl-ease)}
.pv .pv-prev:hover svg{transform:translateX(-4px)}
.pv-spin{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;animation:pv-rot 700ms linear infinite}
@keyframes pv-rot{to{transform:rotate(360deg)}}

/* Resultado */
.pv-result{display:flex;flex-direction:column;gap:16px}
.pv-result.is-in{animation:pv-in 480ms var(--pl-ease-out) both}
.pv-result .pl-check{margin:0 auto}
.pv-res-eyebrow{font-size:15px;font-weight:600;color:var(--pl-text-2)}
.pv-range{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;font-size:clamp(26px,2.4vw,32px);line-height:1.1;font-weight:700;letter-spacing:-.015em;color:var(--pl-text);font-variant-numeric:tabular-nums}
.pv-n{white-space:nowrap}
.pv-dash{font-size:.5em;font-weight:500;color:var(--pl-text-3)}
.pv-bar{height:8px;border-radius:999px;background:var(--pl-neutral-100);position:relative;overflow:hidden}
.pv-bar span{position:absolute;left:30%;right:30%;top:0;bottom:0;border-radius:inherit;background:linear-gradient(90deg,var(--pl-orange-300),var(--pl-brand),var(--pl-orange-300));transform:scaleX(0);animation:pv-grow 900ms var(--pl-ease-out) 200ms forwards}
@keyframes pv-grow{to{transform:scaleX(1)}}
.pv-saving{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;padding:16px;border-radius:var(--pl-r-md);background:var(--pl-inverse);color:#fff}
.pv-saving div{display:flex;flex-direction:column;gap:2px}
.pv-saving span{font-size:12px;color:var(--pl-text-inv-2)}
.pv-saving s{font-size:18px;color:var(--pl-text-inv-2)}
.pv-saving strong{font-size:18px;color:var(--pl-brand)}
.pv-saving p{grid-column:1/-1;font-size:14px;margin:0;padding-top:10px;border-top:1px solid var(--pl-border-inv)}
.pv-saving p strong{font-size:inherit}

@media(max-width:479px){.pv-row{flex-wrap:wrap}.pv-num{max-width:none}.pv-row .pv-buscar{width:100%}}
@media(prefers-reduced-motion:reduce){.pv *{animation-duration:1ms!important;transition-duration:1ms!important}}
