/* Total Rent · Valorador unificado de venta y alquiler */
.tr-property-valuation{
  --vr-blue:#00a6e3;
  --vr-blue-dark:#0094ca;
  --vr-dark:#241b2b;
  --vr-text:#4f4a52;
  --vr-muted:#77717a;
  --vr-line:#d8e7ee;
  width:100%;
  padding:58px 24px 64px;
  background:#f7fbfd;
  font-family:MaisonNeue,Arial,sans-serif;
  position:relative;
  z-index:2;
  overflow:hidden;
}
.tr-property-valuation *{box-sizing:border-box}
.tr-property-valuation .vr-shell{
  width:min(1120px,100%);
  margin:0 auto;
  padding:32px 38px 34px;
  border:1px solid #dce9ef;
  border-radius:26px;
  background:#fff;
  box-shadow:0 16px 42px rgba(36,27,43,.08);
}
.tr-property-valuation .vr-heading{max-width:790px;margin:0 auto 23px;text-align:center}
.tr-property-valuation .vr-heading h2{
  margin:0;
  color:var(--vr-dark);
  font-size:clamp(34px,4vw,48px);
  font-weight:800;
  line-height:1.04;
  letter-spacing:-.045em;
}
.tr-property-valuation .vr-heading h2 span{color:var(--vr-blue)}
.tr-property-valuation .vr-heading p{max-width:670px;margin:14px auto 0;color:var(--vr-muted);font-size:15px;line-height:1.5}
.tr-property-valuation .vr-operation{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:max-content;
  max-width:100%;
  margin:0 auto 18px;
  padding:5px;
  border:1px solid #dfeaf0;
  border-radius:14px;
  background:#f6fafc;
}
.tr-property-valuation .vr-operation label{margin:0;cursor:pointer}
.tr-property-valuation .vr-operation input{position:absolute;opacity:0;pointer-events:none}
.tr-property-valuation .vr-operation span{
  min-width:112px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border-radius:10px;
  color:#617078;
  font-size:14px;
  font-weight:800;
  transition:background .16s ease,color .16s ease,box-shadow .16s ease;
}
.tr-property-valuation .vr-operation input:checked + span{background:var(--vr-blue);color:#fff;box-shadow:0 7px 18px rgba(0,166,227,.2)}
.tr-property-valuation .vr-operation input:focus-visible + span{outline:3px solid rgba(0,166,227,.25);outline-offset:2px}
.tr-property-valuation .vr-form-fields{
  display:grid;
  grid-template-columns:1.2fr .9fr .9fr .9fr 126px;
  gap:12px;
  align-items:end;
  width:100%;
  margin:0 auto;
  padding:18px;
  border:1px solid #e4eef3;
  border-radius:22px;
  background:#fbfdfe;
}
.tr-property-valuation .vr-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.tr-property-valuation .vr-field>label{margin:0 0 0 1px;color:#4d5861;font-size:10.5px;font-weight:800;line-height:1;letter-spacing:.035em;text-transform:uppercase}
.tr-property-valuation .vr-control{
  height:56px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 14px;
  border:1px solid var(--vr-line);
  border-radius:14px;
  background:#fff;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.tr-property-valuation .vr-control:focus-within{border-color:var(--vr-blue);box-shadow:0 0 0 4px rgba(0,166,227,.09)}
.tr-property-valuation .vr-control svg{width:18px;height:18px;flex:0 0 18px;color:var(--vr-blue)}
.tr-property-valuation .vr-control input,.tr-property-valuation .vr-control select{
  min-width:0;width:100%;height:100%;padding:0;border:0;outline:0;background:transparent;color:var(--vr-dark);font:inherit;font-size:15px;font-weight:700;
}
.tr-property-valuation .vr-control select{appearance:auto;cursor:pointer}
.tr-property-valuation .vr-control input::placeholder{color:#abb5bb;font-weight:500;opacity:1}
.tr-property-valuation .vr-control>span{color:#7d878e;font-size:13px;font-weight:800}
.tr-property-valuation .vr-button{
  width:126px;height:56px;padding:0 14px;border:0;border-radius:14px;background:var(--vr-blue);color:#fff;font:inherit;font-size:14px;font-weight:800;white-space:nowrap;cursor:pointer;box-shadow:0 10px 22px rgba(0,166,227,.18);transition:background .16s ease,transform .16s ease,box-shadow .16s ease;
}
.tr-property-valuation .vr-button:hover{background:var(--vr-blue-dark);transform:translateY(-1px);box-shadow:0 13px 26px rgba(0,166,227,.23)}
.tr-property-valuation .vr-button:disabled{opacity:.7;cursor:wait;transform:none}
.tr-property-valuation .vr-message{display:none;margin:12px auto 0;padding:12px 15px;border-radius:13px;background:#fff3f2;color:#9d3028;font-size:13px;font-weight:700;line-height:1.4}
.tr-property-valuation .vr-message.is-visible{display:block}
.tr-property-valuation .vr-result{display:none;margin:17px auto 0;border:1px solid #bfe8f6;border-radius:20px;background:#f1fbfe;overflow:hidden}
.tr-property-valuation .vr-result.is-visible{display:grid;grid-template-columns:1.25fr .75fr}
.tr-property-valuation .vr-result-main{padding:23px 24px}
.tr-property-valuation .vr-result-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.tr-property-valuation .vr-badge{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:#dff5fc;color:#007ba9;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.tr-property-valuation .vr-summary{color:#68757c;font-size:12px;font-weight:700}
.tr-property-valuation .vr-result-label{display:block;color:#617078;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.tr-property-valuation .vr-price{display:block;margin:5px 0 4px;color:var(--vr-dark);font-size:clamp(31px,4vw,44px);line-height:1.02;letter-spacing:-.04em}
.tr-property-valuation .vr-price small{font-size:.42em;letter-spacing:0;color:#68757c}
.tr-property-valuation .vr-range{color:#5d6870;font-size:14px;font-weight:700}
.tr-property-valuation .vr-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:18px}
.tr-property-valuation .vr-metric{padding:12px;border:1px solid #d8edf5;border-radius:12px;background:#fff;min-width:0}
.tr-property-valuation .vr-metric b{display:block;color:var(--vr-dark);font-size:14px;white-space:normal;overflow-wrap:anywhere}
.tr-property-valuation .vr-metric span{display:block;margin-top:3px;color:#7a858b;font-size:10px;line-height:1.25}
.tr-property-valuation .vr-result-side{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:23px;background:#e7f8fd;border-left:1px solid #ccecf7}
.tr-property-valuation .vr-result-side p{margin:0 0 15px;color:#53636b;font-size:12px;line-height:1.55}
.tr-property-valuation .vr-result-side a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;background:var(--vr-blue);color:#fff!important;text-decoration:none!important;font-size:13px;font-weight:800}
.tr-property-valuation .vr-note{margin:13px 2px 0;color:#78838a;font-size:11px;line-height:1.45;text-align:center}
@media(max-width:960px){
  .tr-property-valuation .vr-form-fields{grid-template-columns:1fr 1fr}
  .tr-property-valuation .vr-button{grid-column:1/-1;width:100%}
}
@media(max-width:720px){
  .tr-property-valuation{padding:42px 16px}
  .tr-property-valuation .vr-shell{padding:26px 18px;border-radius:22px}
  .tr-property-valuation .vr-heading h2{font-size:34px}
  .tr-property-valuation .vr-result.is-visible{grid-template-columns:1fr}
  .tr-property-valuation .vr-result-side{border-left:0;border-top:1px solid #ccecf7}
}
@media(max-width:560px){
  .tr-property-valuation{padding:36px 13px}
  .tr-property-valuation .vr-shell{padding:23px 13px}
  .tr-property-valuation .vr-heading h2{font-size:30px}
  .tr-property-valuation .vr-heading p{font-size:14px}
  .tr-property-valuation .vr-form-fields{grid-template-columns:1fr;padding:13px}
  .tr-property-valuation .vr-button{grid-column:1}
  .tr-property-valuation .vr-operation{width:100%}
  .tr-property-valuation .vr-operation label{flex:1}
  .tr-property-valuation .vr-operation span{width:100%;min-width:0}
  .tr-property-valuation .vr-metrics{grid-template-columns:1fr}
}

/* Ubicación, calle, sugerencias y mapa */
.tr-property-valuation .vr-location-panel{margin:0 auto 14px;padding:18px;border:1px solid #e4eef3;border-radius:22px;background:#fbfdfe}
.tr-property-valuation .vr-location-fields{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(0,1.65fr);gap:12px;align-items:start}
.tr-property-valuation .vr-optional{font-size:9px;font-weight:700;color:#8b969c;text-transform:none;letter-spacing:0}
.tr-property-valuation .vr-street-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.tr-property-valuation .vr-location-button{height:56px;border:1px solid #bfe4f2;border-radius:14px;padding:0 16px;background:#eefaff;color:#007fae;display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:13px;font-weight:800;white-space:nowrap;cursor:pointer;transition:.18s ease}
.tr-property-valuation .vr-location-button svg{width:18px;height:18px}
.tr-property-valuation .vr-location-button:hover{background:#ddf5fd;border-color:#83d1eb}
.tr-property-valuation .vr-location-button:disabled{opacity:.65;cursor:wait}
.tr-property-valuation .vr-street-field{position:relative}
.tr-property-valuation .vr-street-suggestions{position:absolute;z-index:1002;left:0;right:0;top:84px;padding:8px;border:1px solid #d9e8ef;border-radius:15px;background:#fff;box-shadow:0 18px 44px rgba(36,27,43,.14);max-height:330px;overflow:auto}
.tr-property-valuation .vr-suggestions-title{padding:8px 10px 7px;color:#616d74;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.tr-property-valuation .vr-street-suggestion,.tr-property-valuation .vr-use-average{width:100%;border:0;border-radius:11px;background:transparent;padding:10px 11px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;font:inherit;color:#241b2b}
.tr-property-valuation .vr-street-suggestion:hover,.tr-property-valuation .vr-use-average:hover{background:#f0fafe}
.tr-property-valuation .vr-street-suggestion span{min-width:0;display:flex;flex-direction:column;gap:2px}
.tr-property-valuation .vr-street-suggestion strong{font-size:13px;white-space:normal}
.tr-property-valuation .vr-street-suggestion small{font-size:10px;color:#859198}
.tr-property-valuation .vr-street-suggestion em{font-size:11px;font-style:normal;font-weight:800;color:#00a6e3;white-space:nowrap}
.tr-property-valuation .vr-use-average{margin-top:4px;border-top:1px solid #edf2f5;border-radius:0;color:#6b757b;font-size:12px;font-weight:700}
.tr-property-valuation .vr-suggestions-empty{padding:11px 12px;display:flex;flex-direction:column;gap:4px}
.tr-property-valuation .vr-suggestions-empty strong{font-size:13px;color:#241b2b}
.tr-property-valuation .vr-suggestions-empty span{font-size:11px;line-height:1.4;color:#748087}
.tr-property-valuation .vr-map-wrap{margin-top:14px;border:1px solid #dceaf0;border-radius:18px;overflow:hidden;background:#fff}
.tr-property-valuation .vr-map-head{min-height:62px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border-bottom:1px solid #e8f0f4}
.tr-property-valuation .vr-map-head>div{min-width:0;display:flex;flex-direction:column;gap:2px}
.tr-property-valuation .vr-map-head strong{font-size:12px;color:#35424a}
.tr-property-valuation .vr-map-head span{font-size:11px;line-height:1.35;color:#7c878d;white-space:normal}
.tr-property-valuation .vr-map-reset{flex:0 0 auto;border:0;border-radius:10px;background:#f1f7fa;color:#52636c;padding:8px 11px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.tr-property-valuation .vr-map{height:265px;width:100%;background:linear-gradient(145deg,#dff4fb,#eef9fc)}
.tr-property-valuation .vr-map-fallback{padding:36px 20px;text-align:center;color:#748087;font-size:12px;background:#f2f9fc}
.tr-property-valuation .vr-map-marker-wrap{background:transparent;border:0}
.tr-property-valuation .vr-map-marker{display:block;width:30px;height:30px;border:6px solid #fff;border-radius:50% 50% 50% 0;background:#00a6e3;transform:rotate(-45deg);box-shadow:0 5px 14px rgba(36,27,43,.28)}
.tr-property-valuation .leaflet-control-attribution{font-size:9px}
.tr-property-valuation .vr-form-fields{grid-template-columns:minmax(0,.9fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,1.2fr) 170px;margin-top:0}
.tr-property-valuation .vr-button{width:170px}

@media(max-width:960px){
  .tr-property-valuation .vr-location-fields{grid-template-columns:1fr}
  .tr-property-valuation .vr-form-fields{grid-template-columns:1fr 1fr}
  .tr-property-valuation .vr-button{grid-column:1/-1;width:100%}
  .tr-property-valuation .vr-street-suggestions{top:84px}
}
@media(max-width:640px){
  .tr-property-valuation .vr-location-panel{padding:13px;border-radius:18px}
  .tr-property-valuation .vr-street-line{grid-template-columns:1fr}
  .tr-property-valuation .vr-location-button{width:100%}
  .tr-property-valuation .vr-street-suggestions{position:static;margin-top:8px;max-height:280px}
  .tr-property-valuation .vr-map{height:235px}
  .tr-property-valuation .vr-map-head{align-items:flex-start}
  .tr-property-valuation .vr-map-reset{font-size:10px;padding:7px 9px}
}
@media(max-width:560px){
  .tr-property-valuation .vr-form-fields{grid-template-columns:1fr}
  .tr-property-valuation .vr-button{grid-column:1}
}


/* ==========================================================
   Total Rent · Valorador compacto móvil/tablet · 17/09/2026
   - En <=1024px el mapa queda plegado tras un botón.
   - En móvil el valorador se acerca al diseño compacto de los formularios.
   ========================================================== */
.tr-property-valuation .vr-map-toggle{
  display:none;
}

@media (max-width:1024px){
  .tr-property-valuation .vr-map-toggle{
    width:100%;
    min-height:46px;
    margin:10px 0 0;
    padding:0 14px;
    border:1px solid #bfe4f2;
    border-radius:12px;
    background:#fff;
    color:#007fae;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font:inherit;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 4px 12px rgba(36,27,43,.04);
  }
  .tr-property-valuation .vr-map-toggle svg{
    width:18px;
    height:18px;
    flex:0 0 18px;
  }
  .tr-property-valuation .vr-map-toggle[aria-expanded="true"]{
    background:#eefaff;
    border-color:#83d1eb;
  }
  .tr-property-valuation .vr-map-wrap{
    display:none;
    margin-top:10px;
  }
  .tr-property-valuation .vr-map-wrap.is-mobile-open{
    display:block;
  }
}

@media (max-width:767px){
  .tr-property-valuation{
    padding:24px 12px 30px;
    background:#f7f8f9;
  }
  .tr-property-valuation .vr-shell{
    width:100%;
    padding:16px 13px 15px;
    border-radius:14px;
    border:1px solid #e2e7ea;
    box-shadow:0 7px 20px rgba(36,27,43,.055);
  }
  .tr-property-valuation .vr-heading{
    margin:0 auto 13px;
    text-align:left;
  }
  .tr-property-valuation .vr-heading h2{
    font-size:25px;
    line-height:1.08;
    letter-spacing:-.035em;
  }
  .tr-property-valuation .vr-heading p{
    margin:7px 0 0;
    font-size:12.5px;
    line-height:1.38;
  }
  .tr-property-valuation .vr-operation{
    width:100%;
    margin:0 0 10px;
    padding:3px;
    gap:3px;
    border-radius:10px;
  }
  .tr-property-valuation .vr-operation label{
    flex:1;
  }
  .tr-property-valuation .vr-operation span{
    width:100%;
    min-width:0;
    min-height:36px;
    padding:0 10px;
    border-radius:8px;
    font-size:12.5px;
  }
  .tr-property-valuation .vr-location-panel{
    margin:0 0 10px;
    padding:10px;
    border-radius:12px;
    background:#fbfcfd;
  }
  .tr-property-valuation .vr-location-fields{
    gap:8px;
  }
  .tr-property-valuation .vr-field{
    gap:5px;
  }
  .tr-property-valuation .vr-field>label{
    font-size:9.5px;
    letter-spacing:.025em;
  }
  .tr-property-valuation .vr-optional{
    font-size:8.5px;
  }
  .tr-property-valuation .vr-control{
    height:40px;
    min-height:40px;
    gap:8px;
    padding:0 10px;
    border-radius:10px;
  }
  .tr-property-valuation .vr-control svg{
    width:15px;
    height:15px;
    flex-basis:15px;
  }
  .tr-property-valuation .vr-control input,
  .tr-property-valuation .vr-control select{
    font-size:13px;
  }
  .tr-property-valuation .vr-control>span{
    font-size:11.5px;
  }
  .tr-property-valuation .vr-street-line{
    grid-template-columns:minmax(0,1fr) 40px;
    gap:7px;
  }
  .tr-property-valuation .vr-location-button{
    width:40px;
    min-width:40px;
    height:40px;
    padding:0;
    border-radius:10px;
  }
  .tr-property-valuation .vr-location-button span{
    display:none;
  }
  .tr-property-valuation .vr-location-button svg{
    width:17px;
    height:17px;
  }
  .tr-property-valuation .vr-street-suggestions{
    margin-top:6px;
    max-height:220px;
    border-radius:11px;
  }
  .tr-property-valuation .vr-map-toggle{
    min-height:40px;
    margin-top:8px;
    border-radius:10px;
    font-size:12px;
  }
  .tr-property-valuation .vr-map-wrap{
    border-radius:12px;
  }
  .tr-property-valuation .vr-map-head{
    min-height:auto;
    padding:8px 10px;
    gap:8px;
  }
  .tr-property-valuation .vr-map-head span{
    display:none;
  }
  .tr-property-valuation .vr-map{
    height:210px;
  }
  .tr-property-valuation .vr-form-fields{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px;
    padding:10px;
    border-radius:12px;
    background:#fbfcfd;
  }
  .tr-property-valuation .vr-form-fields .vr-field{
    min-width:0;
  }
  .tr-property-valuation .vr-form-fields .vr-control{
    min-width:0;
  }
  .tr-property-valuation .vr-form-fields select{
    text-overflow:ellipsis;
  }
  .tr-property-valuation .vr-button{
    grid-column:1/-1 !important;
    width:100%;
    height:40px;
    min-height:40px;
    margin-top:1px;
    border-radius:10px;
    font-size:12.5px;
    box-shadow:none;
  }
  .tr-property-valuation .vr-message{
    margin-top:8px;
    padding:9px 10px;
    border-radius:10px;
    font-size:11.5px;
  }
  .tr-property-valuation .vr-result{
    margin-top:10px;
    border-radius:12px;
  }
  .tr-property-valuation .vr-result-main{
    padding:15px 13px;
  }
  .tr-property-valuation .vr-price{
    font-size:30px;
  }
  .tr-property-valuation .vr-metrics{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    margin-top:11px;
  }
  .tr-property-valuation .vr-metric{
    padding:8px 6px;
    border-radius:9px;
  }
  .tr-property-valuation .vr-metric b{
    font-size:11.5px;
  }
  .tr-property-valuation .vr-metric span{
    font-size:8.5px;
  }
  .tr-property-valuation .vr-result-side{
    padding:13px;
  }
  .tr-property-valuation .vr-result-side p{
    margin-bottom:9px;
    font-size:11px;
  }
  .tr-property-valuation .vr-result-side a{
    width:100%;
    min-height:40px;
    border-radius:10px;
    font-size:12px;
  }
  .tr-property-valuation .vr-note{
    margin-top:8px;
    font-size:9.5px;
    line-height:1.35;
  }
}

@media (max-width:380px){
  .tr-property-valuation .vr-heading h2{font-size:23px;}
  .tr-property-valuation .vr-form-fields{grid-template-columns:1fr !important;}
  .tr-property-valuation .vr-button{grid-column:1 !important;}
  .tr-property-valuation .vr-metrics{grid-template-columns:1fr;}
}
